diff --git a/Moose Development/Moose/AIBalancer.lua b/Moose Development/Moose/AIBalancer.lua index 6f51d5634..4e8285d8a 100644 --- a/Moose Development/Moose/AIBalancer.lua +++ b/Moose Development/Moose/AIBalancer.lua @@ -52,6 +52,8 @@ -- @extends Base#BASE AIBALANCER = { ClassName = "AIBALANCER", + PatrolZones = {}, + AIGroups = {}, } --- Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. @@ -135,13 +137,13 @@ function AIBALANCER:_ClientAliveMonitorScheduler() if ClientAIAliveState == true then Client:SetState( self, 'AIAlive', false ) - local AIGroup = Client:GetState( self, 'AIGroup' ) -- Group#GROUP + local AIGroup = self.AIGroups[Client.UnitName] -- Group#GROUP - local PatrolZone = Client:GetState( self, "PatrolZone" ) - if PatrolZone then - PatrolZone = nil - Client:ClearState( self, "PatrolZone" ) - end +-- local PatrolZone = Client:GetState( self, "PatrolZone" ) +-- if PatrolZone then +-- PatrolZone = nil +-- Client:ClearState( self, "PatrolZone" ) +-- end if self.ToNearestAirbase == false and self.ToHomeAirbase == false then AIGroup:Destroy() @@ -200,15 +202,18 @@ function AIBALANCER:_ClientAliveMonitorScheduler() if not ClientAIAliveState or ClientAIAliveState == false then Client:SetState( self, 'AIAlive', true ) + -- OK, spawn a new group from the SpawnAI objects provided. local SpawnAICount = #self.SpawnAI local SpawnAIIndex = math.random( 1, SpawnAICount ) local AIGroup = self.SpawnAI[SpawnAIIndex]:Spawn() - Client:SetState( self, 'AIGroup', AIGroup ) + AIGroup:E( "spawning new AIGroup" ) + --TODO: need to rework UnitName thing ... + self.AIGroups[Client.UnitName] = AIGroup --- Now test if the AIGroup needs to patrol a zone, otherwise let it follow its route... if self.PatrolZone then - local PatrolZone = PATROLZONE:New( + self.PatrolZones[#self.PatrolZones+1] = PATROLZONE:New( self.PatrolZone.PatrolZone, self.PatrolZone.PatrolFloorAltitude, self.PatrolZone.PatrolCeilingAltitude, @@ -217,12 +222,13 @@ function AIBALANCER:_ClientAliveMonitorScheduler() ) if self.PatrolZone.PatrolManageFuel == true then - PatrolZone:ManageFuel( self.PatrolZone.PatrolFuelTresholdPercentage, self.PatrolZone.PatrolOutOfFuelOrbitTime ) + self.PatrolZones[#self.PatrolZones]:ManageFuel( self.PatrolZone.PatrolFuelTresholdPercentage, self.PatrolZone.PatrolOutOfFuelOrbitTime ) end + self.PatrolZones[#self.PatrolZones]:SetGroup( AIGroup ) - PatrolZone:SetGroup( AIGroup ) - - Client:SetState( self, "PatrolZone", PatrolZone ) + --self.PatrolZones[#self.PatrolZones+1] = PatrolZone + + --Client:SetState( self, "PatrolZone", PatrolZone ) end end end diff --git a/Moose Development/Moose/Database.lua b/Moose Development/Moose/Database.lua index 9f5c8030b..38dace313 100644 --- a/Moose Development/Moose/Database.lua +++ b/Moose Development/Moose/Database.lua @@ -585,18 +585,20 @@ function DATABASE:ForEach( IteratorFunction, FinalizeFunction, arg, Set ) self:T2( Object ) IteratorFunction( Object, unpack( arg ) ) Count = Count + 1 - if Count % 10 == 0 then - coroutine.yield( false ) - end +-- if Count % 100 == 0 then +-- coroutine.yield( false ) +-- end end return true end - local co = coroutine.create( CoRoutine ) +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine local function Schedule() - local status, res = coroutine.resume( co ) +-- local status, res = coroutine.resume( co ) + local status, res = co() self:T3( { status, res } ) if status == false then diff --git a/Moose Development/Moose/PatrolZone.lua b/Moose Development/Moose/PatrolZone.lua index eed11a231..ff1e37fb8 100644 --- a/Moose Development/Moose/PatrolZone.lua +++ b/Moose Development/Moose/PatrolZone.lua @@ -83,7 +83,7 @@ function PATROLZONE:SetGroup( PatrolGroup ) self:NewPatrolRoute() if not self.PatrolOutOfFuelMonitor then - self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 60, 120, 0.2 ) + self.PatrolOutOfFuelMonitor = SCHEDULER:New( nil, _MonitorOutOfFuelScheduled, { self }, 1, 120, 0 ) self.SpawnPatrolGroup = SPAWN:New( self.PatrolGroupTemplateName ) end @@ -209,7 +209,7 @@ function PATROLZONE:NewPatrolRoute() --- Now we're going to do something special, we're going to call a function from a waypoint action at the PatrolGroup... self.PatrolGroup:WayPointInitialize( PatrolRoute ) - --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the PatrolGroupin a temporary variable ... + --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the PatrolGroup in a temporary variable ... self.PatrolGroup:SetState( self.PatrolGroup, "PatrolZone", self ) self.PatrolGroup:WayPointFunction( #PatrolRoute, 1, "_NewPatrolRoute" ) @@ -234,14 +234,15 @@ function PATROLZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrb self.PatrolOutOfFuelOrbitTime = PatrolOutOfFuelOrbitTime if self.PatrolGroup then - self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 60, 120, 0.2 ) + self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 1, 120, 0 ) self.SpawnPatrolGroup = SPAWN:New( self.PatrolGroupTemplateName ) end return self end --- @param #PATROLZONE self -function PATROLZONE:_MonitorOutOfFuelScheduled() +function _MonitorOutOfFuelScheduled( self ) + self:F2( "_MonitorOutOfFuelScheduled" ) if self.PatrolGroup and self.PatrolGroup:IsAlive() then diff --git a/Moose Development/Moose/Set.lua b/Moose Development/Moose/Set.lua index 447c608c8..98d5b49a1 100644 --- a/Moose Development/Moose/Set.lua +++ b/Moose Development/Moose/Set.lua @@ -455,18 +455,20 @@ function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArgumen IteratorFunction( Object, unpack( arg ) ) end Count = Count + 1 - if Count % self.YieldInterval == 0 then - coroutine.yield( false ) - end +-- if Count % self.YieldInterval == 0 then +-- coroutine.yield( false ) +-- end end return true end - local co = coroutine.create( CoRoutine ) +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine local function Schedule() - local status, res = coroutine.resume( co ) +-- local status, res = coroutine.resume( co ) + local status, res = co() self:T3( { status, res } ) if status == false then diff --git a/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua b/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua index 45d0c09ee..b0ab83bb6 100644 --- a/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua +++ b/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE STATIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20160618_2312' ) +env.info( 'Moose Generation Timestamp: 20160619_1502' ) local base = _G Include = {} @@ -9972,18 +9972,20 @@ function DATABASE:ForEach( IteratorFunction, FinalizeFunction, arg, Set ) self:T2( Object ) IteratorFunction( Object, unpack( arg ) ) Count = Count + 1 - if Count % 10 == 0 then - coroutine.yield( false ) - end +-- if Count % 100 == 0 then +-- coroutine.yield( false ) +-- end end return true end - local co = coroutine.create( CoRoutine ) +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine local function Schedule() - local status, res = coroutine.resume( co ) +-- local status, res = coroutine.resume( co ) + local status, res = co() self:T3( { status, res } ) if status == false then @@ -10610,18 +10612,20 @@ function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArgumen IteratorFunction( Object, unpack( arg ) ) end Count = Count + 1 - if Count % self.YieldInterval == 0 then - coroutine.yield( false ) - end +-- if Count % self.YieldInterval == 0 then +-- coroutine.yield( false ) +-- end end return true end - local co = coroutine.create( CoRoutine ) +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine local function Schedule() - local status, res = coroutine.resume( co ) +-- local status, res = coroutine.resume( co ) + local status, res = co() self:T3( { status, res } ) if status == false then @@ -21201,7 +21205,7 @@ function PATROLZONE:SetGroup( PatrolGroup ) self:NewPatrolRoute() if not self.PatrolOutOfFuelMonitor then - self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 60, 120, 0.2 ) + self.PatrolOutOfFuelMonitor = SCHEDULER:New( nil, _MonitorOutOfFuelScheduled, { self }, 1, 120, 0 ) self.SpawnPatrolGroup = SPAWN:New( self.PatrolGroupTemplateName ) end @@ -21327,7 +21331,7 @@ function PATROLZONE:NewPatrolRoute() --- Now we're going to do something special, we're going to call a function from a waypoint action at the PatrolGroup... self.PatrolGroup:WayPointInitialize( PatrolRoute ) - --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the PatrolGroupin a temporary variable ... + --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the PatrolGroup in a temporary variable ... self.PatrolGroup:SetState( self.PatrolGroup, "PatrolZone", self ) self.PatrolGroup:WayPointFunction( #PatrolRoute, 1, "_NewPatrolRoute" ) @@ -21352,14 +21356,15 @@ function PATROLZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrb self.PatrolOutOfFuelOrbitTime = PatrolOutOfFuelOrbitTime if self.PatrolGroup then - self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 60, 120, 0.2 ) + self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 1, 120, 0 ) self.SpawnPatrolGroup = SPAWN:New( self.PatrolGroupTemplateName ) end return self end --- @param #PATROLZONE self -function PATROLZONE:_MonitorOutOfFuelScheduled() +function _MonitorOutOfFuelScheduled( self ) + self:F2( "_MonitorOutOfFuelScheduled" ) if self.PatrolGroup and self.PatrolGroup:IsAlive() then @@ -21433,6 +21438,8 @@ end--- This module contains the AIBALANCER class. -- @extends Base#BASE AIBALANCER = { ClassName = "AIBALANCER", + PatrolZones = {}, + AIGroups = {}, } --- Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. @@ -21516,13 +21523,13 @@ function AIBALANCER:_ClientAliveMonitorScheduler() if ClientAIAliveState == true then Client:SetState( self, 'AIAlive', false ) - local AIGroup = Client:GetState( self, 'AIGroup' ) -- Group#GROUP + local AIGroup = self.AIGroups[Client.UnitName] -- Group#GROUP - local PatrolZone = Client:GetState( self, "PatrolZone" ) - if PatrolZone then - PatrolZone = nil - Client:ClearState( self, "PatrolZone" ) - end +-- local PatrolZone = Client:GetState( self, "PatrolZone" ) +-- if PatrolZone then +-- PatrolZone = nil +-- Client:ClearState( self, "PatrolZone" ) +-- end if self.ToNearestAirbase == false and self.ToHomeAirbase == false then AIGroup:Destroy() @@ -21581,15 +21588,18 @@ function AIBALANCER:_ClientAliveMonitorScheduler() if not ClientAIAliveState or ClientAIAliveState == false then Client:SetState( self, 'AIAlive', true ) + -- OK, spawn a new group from the SpawnAI objects provided. local SpawnAICount = #self.SpawnAI local SpawnAIIndex = math.random( 1, SpawnAICount ) local AIGroup = self.SpawnAI[SpawnAIIndex]:Spawn() - Client:SetState( self, 'AIGroup', AIGroup ) + AIGroup:E( "spawning new AIGroup" ) + --TODO: need to rework UnitName thing ... + self.AIGroups[Client.UnitName] = AIGroup --- Now test if the AIGroup needs to patrol a zone, otherwise let it follow its route... if self.PatrolZone then - local PatrolZone = PATROLZONE:New( + self.PatrolZones[#self.PatrolZones+1] = PATROLZONE:New( self.PatrolZone.PatrolZone, self.PatrolZone.PatrolFloorAltitude, self.PatrolZone.PatrolCeilingAltitude, @@ -21598,12 +21608,13 @@ function AIBALANCER:_ClientAliveMonitorScheduler() ) if self.PatrolZone.PatrolManageFuel == true then - PatrolZone:ManageFuel( self.PatrolZone.PatrolFuelTresholdPercentage, self.PatrolZone.PatrolOutOfFuelOrbitTime ) + self.PatrolZones[#self.PatrolZones]:ManageFuel( self.PatrolZone.PatrolFuelTresholdPercentage, self.PatrolZone.PatrolOutOfFuelOrbitTime ) end + self.PatrolZones[#self.PatrolZones]:SetGroup( AIGroup ) - PatrolZone:SetGroup( AIGroup ) - - Client:SetState( self, "PatrolZone", PatrolZone ) + --self.PatrolZones[#self.PatrolZones+1] = PatrolZone + + --Client:SetState( self, "PatrolZone", PatrolZone ) end end end diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index 45d0c09ee..b0ab83bb6 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE STATIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20160618_2312' ) +env.info( 'Moose Generation Timestamp: 20160619_1502' ) local base = _G Include = {} @@ -9972,18 +9972,20 @@ function DATABASE:ForEach( IteratorFunction, FinalizeFunction, arg, Set ) self:T2( Object ) IteratorFunction( Object, unpack( arg ) ) Count = Count + 1 - if Count % 10 == 0 then - coroutine.yield( false ) - end +-- if Count % 100 == 0 then +-- coroutine.yield( false ) +-- end end return true end - local co = coroutine.create( CoRoutine ) +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine local function Schedule() - local status, res = coroutine.resume( co ) +-- local status, res = coroutine.resume( co ) + local status, res = co() self:T3( { status, res } ) if status == false then @@ -10610,18 +10612,20 @@ function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArgumen IteratorFunction( Object, unpack( arg ) ) end Count = Count + 1 - if Count % self.YieldInterval == 0 then - coroutine.yield( false ) - end +-- if Count % self.YieldInterval == 0 then +-- coroutine.yield( false ) +-- end end return true end - local co = coroutine.create( CoRoutine ) +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine local function Schedule() - local status, res = coroutine.resume( co ) +-- local status, res = coroutine.resume( co ) + local status, res = co() self:T3( { status, res } ) if status == false then @@ -21201,7 +21205,7 @@ function PATROLZONE:SetGroup( PatrolGroup ) self:NewPatrolRoute() if not self.PatrolOutOfFuelMonitor then - self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 60, 120, 0.2 ) + self.PatrolOutOfFuelMonitor = SCHEDULER:New( nil, _MonitorOutOfFuelScheduled, { self }, 1, 120, 0 ) self.SpawnPatrolGroup = SPAWN:New( self.PatrolGroupTemplateName ) end @@ -21327,7 +21331,7 @@ function PATROLZONE:NewPatrolRoute() --- Now we're going to do something special, we're going to call a function from a waypoint action at the PatrolGroup... self.PatrolGroup:WayPointInitialize( PatrolRoute ) - --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the PatrolGroupin a temporary variable ... + --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the PatrolGroup in a temporary variable ... self.PatrolGroup:SetState( self.PatrolGroup, "PatrolZone", self ) self.PatrolGroup:WayPointFunction( #PatrolRoute, 1, "_NewPatrolRoute" ) @@ -21352,14 +21356,15 @@ function PATROLZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrb self.PatrolOutOfFuelOrbitTime = PatrolOutOfFuelOrbitTime if self.PatrolGroup then - self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 60, 120, 0.2 ) + self.PatrolOutOfFuelMonitor = SCHEDULER:New( self, self._MonitorOutOfFuelScheduled, {}, 1, 120, 0 ) self.SpawnPatrolGroup = SPAWN:New( self.PatrolGroupTemplateName ) end return self end --- @param #PATROLZONE self -function PATROLZONE:_MonitorOutOfFuelScheduled() +function _MonitorOutOfFuelScheduled( self ) + self:F2( "_MonitorOutOfFuelScheduled" ) if self.PatrolGroup and self.PatrolGroup:IsAlive() then @@ -21433,6 +21438,8 @@ end--- This module contains the AIBALANCER class. -- @extends Base#BASE AIBALANCER = { ClassName = "AIBALANCER", + PatrolZones = {}, + AIGroups = {}, } --- Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. @@ -21516,13 +21523,13 @@ function AIBALANCER:_ClientAliveMonitorScheduler() if ClientAIAliveState == true then Client:SetState( self, 'AIAlive', false ) - local AIGroup = Client:GetState( self, 'AIGroup' ) -- Group#GROUP + local AIGroup = self.AIGroups[Client.UnitName] -- Group#GROUP - local PatrolZone = Client:GetState( self, "PatrolZone" ) - if PatrolZone then - PatrolZone = nil - Client:ClearState( self, "PatrolZone" ) - end +-- local PatrolZone = Client:GetState( self, "PatrolZone" ) +-- if PatrolZone then +-- PatrolZone = nil +-- Client:ClearState( self, "PatrolZone" ) +-- end if self.ToNearestAirbase == false and self.ToHomeAirbase == false then AIGroup:Destroy() @@ -21581,15 +21588,18 @@ function AIBALANCER:_ClientAliveMonitorScheduler() if not ClientAIAliveState or ClientAIAliveState == false then Client:SetState( self, 'AIAlive', true ) + -- OK, spawn a new group from the SpawnAI objects provided. local SpawnAICount = #self.SpawnAI local SpawnAIIndex = math.random( 1, SpawnAICount ) local AIGroup = self.SpawnAI[SpawnAIIndex]:Spawn() - Client:SetState( self, 'AIGroup', AIGroup ) + AIGroup:E( "spawning new AIGroup" ) + --TODO: need to rework UnitName thing ... + self.AIGroups[Client.UnitName] = AIGroup --- Now test if the AIGroup needs to patrol a zone, otherwise let it follow its route... if self.PatrolZone then - local PatrolZone = PATROLZONE:New( + self.PatrolZones[#self.PatrolZones+1] = PATROLZONE:New( self.PatrolZone.PatrolZone, self.PatrolZone.PatrolFloorAltitude, self.PatrolZone.PatrolCeilingAltitude, @@ -21598,12 +21608,13 @@ function AIBALANCER:_ClientAliveMonitorScheduler() ) if self.PatrolZone.PatrolManageFuel == true then - PatrolZone:ManageFuel( self.PatrolZone.PatrolFuelTresholdPercentage, self.PatrolZone.PatrolOutOfFuelOrbitTime ) + self.PatrolZones[#self.PatrolZones]:ManageFuel( self.PatrolZone.PatrolFuelTresholdPercentage, self.PatrolZone.PatrolOutOfFuelOrbitTime ) end + self.PatrolZones[#self.PatrolZones]:SetGroup( AIGroup ) - PatrolZone:SetGroup( AIGroup ) - - Client:SetState( self, "PatrolZone", PatrolZone ) + --self.PatrolZones[#self.PatrolZones+1] = PatrolZone + + --Client:SetState( self, "PatrolZone", PatrolZone ) end end end diff --git a/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.lua b/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.lua index b8eac65a9..d11af4c68 100644 --- a/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.lua +++ b/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.lua @@ -15,5 +15,5 @@ RU_AIBalancer:ReturnToNearestAirbases( 10000, RU_AirbasesSet ) local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" ) local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup ) -local PatrolZone = PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 ):ManageFuel( 0.2, 60 ) +local PatrolZone = PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 ):ManageFuel( 0.2, 180 ) RU_AIBalancer:SetPatrolZone( PatrolZone ) diff --git a/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz b/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz index 874ea74b6..8f8ddb7c5 100644 Binary files a/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz and b/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz differ diff --git a/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz b/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz index 19678b24d..e04db0429 100644 Binary files a/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz and b/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz differ diff --git a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz index 5f25cb009..5290ef4ac 100644 Binary files a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz and b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz differ diff --git a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz index ef4c8f84f..98bd3da3c 100644 Binary files a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz and b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz differ diff --git a/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz b/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz index 56685da9a..10be1e1e8 100644 Binary files a/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz and b/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz differ diff --git a/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz b/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz index 0c9eeeac1..3c2c29b00 100644 Binary files a/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz and b/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz differ diff --git a/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz b/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz index 4518e700a..b9f6fc30d 100644 Binary files a/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz and b/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz differ diff --git a/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz b/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz index b43d86f0b..883e106a3 100644 Binary files a/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz and b/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz differ diff --git a/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz b/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz index 4eb575548..f51fc09e5 100644 Binary files a/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz and b/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz differ diff --git a/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz b/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz index dbe84803a..d89ee55f1 100644 Binary files a/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz and b/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz differ diff --git a/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz b/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz index 7cca85770..fa2634ab6 100644 Binary files a/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz and b/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz differ diff --git a/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz b/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz index 95ddf77bd..ef83f1d5f 100644 Binary files a/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz and b/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz differ diff --git a/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz b/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz index 320cb96e5..ef05f5e8d 100644 Binary files a/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz and b/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz differ diff --git a/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz b/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz index 4c46f6233..ecc0adedf 100644 Binary files a/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz and b/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz differ diff --git a/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz b/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz index 18fa3c2ad..410a33eda 100644 Binary files a/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz and b/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz differ diff --git a/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz b/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz index 59ad54f22..da6553138 100644 Binary files a/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz and b/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz differ diff --git a/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz b/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz index b121a1ef2..cf288191e 100644 Binary files a/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz and b/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz differ diff --git a/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz b/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz index 0c8d1b5d7..a779f8268 100644 Binary files a/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz and b/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz b/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz index ba747b709..f9792db24 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz and b/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz b/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz index f8d8d4826..6060a3f07 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz and b/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz b/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz index f25590a5a..f25d3fca6 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz and b/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz b/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz index e76d5d37c..ee41c152a 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz and b/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz differ diff --git a/Moose Training/Documentation/AIBalancer.html b/Moose Training/Documentation/AIBalancer.html index aee134ded..267dbe1fd 100644 --- a/Moose Training/Documentation/AIBalancer.html +++ b/Moose Training/Documentation/AIBalancer.html @@ -127,6 +127,12 @@ None of the script code has been used however within the new AIBALANCER moose cl

Type AIBALANCER

+ + + + + + + + @@ -231,6 +243,20 @@ None of the script code has been used however within the new AIBALANCER moose cl
+ + +AIBALANCER.AIGroups + +
+
+ + + +
+
+
+
+ #string AIBALANCER.ClassName @@ -287,6 +313,20 @@ self

+ +
+
+
+ + + +AIBALANCER.PatrolZones + +
+
+ + +
diff --git a/Moose Training/Documentation/PatrolZone.html b/Moose Training/Documentation/PatrolZone.html index 0c78cc031..66df2c4af 100644 --- a/Moose Training/Documentation/PatrolZone.html +++ b/Moose Training/Documentation/PatrolZone.html @@ -233,12 +233,6 @@ Use the method PatrolZone#PAT
- - - -
AIBALANCER.AIGroups + +
AIBALANCER.ClassName @@ -142,6 +148,12 @@ None of the script code has been used however within the new AIBALANCER moose cl AIBALANCER.PatrolZone +
AIBALANCER.PatrolZones +
PATROLZONE.SpawnPatrolGroup -
PATROLZONE:_MonitorOutOfFuelScheduled() -
@@ -675,19 +669,6 @@ self

- - -
-
- - -PATROLZONE:_MonitorOutOfFuelScheduled() - -
-
- - -
diff --git a/Moose Training/Presentations/DCS World - MOOSE - AI Balancer.pptx b/Moose Training/Presentations/DCS World - MOOSE - AI Balancer.pptx index b86d82f87..ed9b60776 100644 Binary files a/Moose Training/Presentations/DCS World - MOOSE - AI Balancer.pptx and b/Moose Training/Presentations/DCS World - MOOSE - AI Balancer.pptx differ