From 34bf013b9b37f20f6ad0a7d351ea992b83e9e85f Mon Sep 17 00:00:00 2001 From: FlightControl Date: Wed, 21 Jun 2017 06:17:07 +0200 Subject: [PATCH] TASK_A2A --- Moose Development/Moose/AI/AI_SWEEP.lua | 565 ------------------- Moose Development/Moose/Tasking/Task_A2A.lua | 1 - docs/Documentation/AI_A2A.html | 20 + docs/Documentation/Airbase.html | 40 ++ docs/Documentation/Cargo.html | 1 - docs/Documentation/Designate.html | 1 - docs/Documentation/Detection.html | 2 +- docs/Documentation/Movement.html | 4 - docs/Documentation/Spawn.html | 12 +- docs/Documentation/Task_A2A.html | 1 - docs/Documentation/Task_Cargo.html | 2 +- docs/Presentations/TASK_A2A/Dia1.JPG | Bin 0 -> 67907 bytes 12 files changed, 71 insertions(+), 578 deletions(-) delete mode 100644 Moose Development/Moose/AI/AI_SWEEP.lua create mode 100644 docs/Presentations/TASK_A2A/Dia1.JPG diff --git a/Moose Development/Moose/AI/AI_SWEEP.lua b/Moose Development/Moose/AI/AI_SWEEP.lua deleted file mode 100644 index 1d14674c3..000000000 --- a/Moose Development/Moose/AI/AI_SWEEP.lua +++ /dev/null @@ -1,565 +0,0 @@ ---- **AI** -- **Execute Combat Air Patrol (CAP).** --- --- ![Banner Image](..\Presentations\AI_CAP\Dia1.JPG) --- --- === --- --- AI CAP classes makes AI Controllables execute a Combat Air Patrol. --- --- There are the following types of CAP classes defined: --- --- * @{#AI_CAP_ZONE}: Perform a CAP in a zone. --- --- ==== --- --- # Demo Missions --- --- ### [AI_CAP Demo Missions source code](https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/master-release/CAP%20-%20Combat%20Air%20Patrol) --- --- ### [AI_CAP Demo Missions, only for beta testers](https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/master/CAP%20-%20Combat%20Air%20Patrol) --- --- ### [ALL Demo Missions pack of the last release](https://github.com/FlightControl-Master/MOOSE_MISSIONS/releases) --- --- ==== --- --- # YouTube Channel --- --- ### [AI_CAP YouTube Channel](https://www.youtube.com/playlist?list=PL7ZUrU4zZUl1YCyPxJgoZn-CfhwyeW65L) --- --- ==== --- --- ### Author: **Sven Van de Velde (FlightControl)** --- --- ### Contributions: --- --- * **[Quax](https://forums.eagle.ru/member.php?u=90530)**: Concept, Advice & Testing. --- * **[Pikey](https://forums.eagle.ru/member.php?u=62835)**: Concept, Advice & Testing. --- * **[Gunterlund](http://forums.eagle.ru:8080/member.php?u=75036)**: Test case revision. --- * **[Whisper](http://forums.eagle.ru/member.php?u=3829): Testing. --- * **[Delta99](https://forums.eagle.ru/member.php?u=125166): Testing. --- --- ==== --- --- @module AI_Cap - - ---- @type AI_CAP_ZONE --- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. --- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed. --- @extends AI.AI_Patrol#AI_PATROL_ZONE - - ---- # AI_CAP_ZONE class, extends @{AI_CAP#AI_PATROL_ZONE} --- --- The AI_CAP_ZONE class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group} --- and automatically engage any airborne enemies that are within a certain range or within a certain zone. --- --- ![Process](..\Presentations\AI_CAP\Dia3.JPG) --- --- The AI_CAP_ZONE is assigned a @{Group} and this must be done before the AI_CAP_ZONE process can be started using the **Start** event. --- --- ![Process](..\Presentations\AI_CAP\Dia4.JPG) --- --- The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. --- Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits. --- --- ![Process](..\Presentations\AI_CAP\Dia5.JPG) --- --- This cycle will continue. --- --- ![Process](..\Presentations\AI_CAP\Dia6.JPG) --- --- During the patrol, the AI will detect enemy targets, which are reported through the **Detected** event. --- --- ![Process](..\Presentations\AI_CAP\Dia9.JPG) --- --- When enemies are detected, the AI will automatically engage the enemy. --- --- ![Process](..\Presentations\AI_CAP\Dia10.JPG) --- --- Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB. --- When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land. --- --- ![Process](..\Presentations\AI_CAP\Dia13.JPG) --- --- ## 1. AI_CAP_ZONE constructor --- --- * @{#AI_CAP_ZONE.New}(): Creates a new AI_CAP_ZONE object. --- --- ## 2. AI_CAP_ZONE is a FSM --- --- ![Process](..\Presentations\AI_CAP\Dia2.JPG) --- --- ### 2.1 AI_CAP_ZONE States --- --- * **None** ( Group ): The process is not started yet. --- * **Patrolling** ( Group ): The AI is patrolling the Patrol Zone. --- * **Engaging** ( Group ): The AI is engaging the bogeys. --- * **Returning** ( Group ): The AI is returning to Base.. --- --- ### 2.2 AI_CAP_ZONE Events --- --- * **@{AI_Patrol#AI_PATROL_ZONE.Start}**: Start the process. --- * **@{AI_Patrol#AI_PATROL_ZONE.Route}**: Route the AI to a new random 3D point within the Patrol Zone. --- * **@{#AI_CAP_ZONE.Engage}**: Let the AI engage the bogeys. --- * **@{#AI_CAP_ZONE.Abort}**: Aborts the engagement and return patrolling in the patrol zone. --- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. --- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. --- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. --- * **@{#AI_CAP_ZONE.Destroy}**: The AI has destroyed a bogey @{Unit}. --- * **@{#AI_CAP_ZONE.Destroyed}**: The AI has destroyed all bogeys @{Unit}s assigned in the CAS task. --- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. --- --- ## 3. Set the Range of Engagement --- --- ![Range](..\Presentations\AI_CAP\Dia11.JPG) --- --- An optional range can be set in meters, --- that will define when the AI will engage with the detected airborne enemy targets. --- The range can be beyond or smaller than the range of the Patrol Zone. --- The range is applied at the position of the AI. --- Use the method @{AI_CAP#AI_CAP_ZONE.SetEngageRange}() to define that range. --- --- ## 4. Set the Zone of Engagement --- --- ![Zone](..\Presentations\AI_CAP\Dia12.JPG) --- --- An optional @{Zone} can be set, --- that will define when the AI will engage with the detected airborne enemy targets. --- Use the method @{AI_Cap#AI_CAP_ZONE.SetEngageZone}() to define that Zone. --- --- === --- --- @field #AI_CAP_ZONE -AI_CAP_ZONE = { - ClassName = "AI_CAP_ZONE", -} - - - ---- Creates a new AI_CAP_ZONE object --- @param #AI_CAP_ZONE self --- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. --- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. --- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. --- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. --- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. --- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO --- @return #AI_CAP_ZONE self -function AI_CAP_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) - - -- Inherits from BASE - local self = BASE:Inherit( self, AI_PATROL_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) ) -- #AI_CAP_ZONE - - self.Accomplished = false - self.Engaging = false - - self:AddTransition( { "Patrolling", "Engaging" }, "Engage", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. - - --- OnBefore Transition Handler for Event Engage. - -- @function [parent=#AI_CAP_ZONE] OnBeforeEngage - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - -- @return #boolean Return false to cancel Transition. - - --- OnAfter Transition Handler for Event Engage. - -- @function [parent=#AI_CAP_ZONE] OnAfterEngage - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - - --- Synchronous Event Trigger for Event Engage. - -- @function [parent=#AI_CAP_ZONE] Engage - -- @param #AI_CAP_ZONE self - - --- Asynchronous Event Trigger for Event Engage. - -- @function [parent=#AI_CAP_ZONE] __Engage - -- @param #AI_CAP_ZONE self - -- @param #number Delay The delay in seconds. - ---- OnLeave Transition Handler for State Engaging. --- @function [parent=#AI_CAP_ZONE] OnLeaveEngaging --- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. --- @return #boolean Return false to cancel Transition. - ---- OnEnter Transition Handler for State Engaging. --- @function [parent=#AI_CAP_ZONE] OnEnterEngaging --- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. - - self:AddTransition( "Engaging", "Fired", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. - - --- OnBefore Transition Handler for Event Fired. - -- @function [parent=#AI_CAP_ZONE] OnBeforeFired - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - -- @return #boolean Return false to cancel Transition. - - --- OnAfter Transition Handler for Event Fired. - -- @function [parent=#AI_CAP_ZONE] OnAfterFired - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - - --- Synchronous Event Trigger for Event Fired. - -- @function [parent=#AI_CAP_ZONE] Fired - -- @param #AI_CAP_ZONE self - - --- Asynchronous Event Trigger for Event Fired. - -- @function [parent=#AI_CAP_ZONE] __Fired - -- @param #AI_CAP_ZONE self - -- @param #number Delay The delay in seconds. - - self:AddTransition( "*", "Destroy", "*" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. - - --- OnBefore Transition Handler for Event Destroy. - -- @function [parent=#AI_CAP_ZONE] OnBeforeDestroy - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - -- @return #boolean Return false to cancel Transition. - - --- OnAfter Transition Handler for Event Destroy. - -- @function [parent=#AI_CAP_ZONE] OnAfterDestroy - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - - --- Synchronous Event Trigger for Event Destroy. - -- @function [parent=#AI_CAP_ZONE] Destroy - -- @param #AI_CAP_ZONE self - - --- Asynchronous Event Trigger for Event Destroy. - -- @function [parent=#AI_CAP_ZONE] __Destroy - -- @param #AI_CAP_ZONE self - -- @param #number Delay The delay in seconds. - - - self:AddTransition( "Engaging", "Abort", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. - - --- OnBefore Transition Handler for Event Abort. - -- @function [parent=#AI_CAP_ZONE] OnBeforeAbort - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - -- @return #boolean Return false to cancel Transition. - - --- OnAfter Transition Handler for Event Abort. - -- @function [parent=#AI_CAP_ZONE] OnAfterAbort - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - - --- Synchronous Event Trigger for Event Abort. - -- @function [parent=#AI_CAP_ZONE] Abort - -- @param #AI_CAP_ZONE self - - --- Asynchronous Event Trigger for Event Abort. - -- @function [parent=#AI_CAP_ZONE] __Abort - -- @param #AI_CAP_ZONE self - -- @param #number Delay The delay in seconds. - - self:AddTransition( "Engaging", "Accomplish", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. - - --- OnBefore Transition Handler for Event Accomplish. - -- @function [parent=#AI_CAP_ZONE] OnBeforeAccomplish - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - -- @return #boolean Return false to cancel Transition. - - --- OnAfter Transition Handler for Event Accomplish. - -- @function [parent=#AI_CAP_ZONE] OnAfterAccomplish - -- @param #AI_CAP_ZONE self - -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. - -- @param #string From The From State string. - -- @param #string Event The Event string. - -- @param #string To The To State string. - - --- Synchronous Event Trigger for Event Accomplish. - -- @function [parent=#AI_CAP_ZONE] Accomplish - -- @param #AI_CAP_ZONE self - - --- Asynchronous Event Trigger for Event Accomplish. - -- @function [parent=#AI_CAP_ZONE] __Accomplish - -- @param #AI_CAP_ZONE self - -- @param #number Delay The delay in seconds. - - return self -end - - ---- Set the Engage Zone which defines where the AI will engage bogies. --- @param #AI_CAP_ZONE self --- @param Core.Zone#ZONE EngageZone The zone where the AI is performing CAP. --- @return #AI_CAP_ZONE self -function AI_CAP_ZONE:SetEngageZone( EngageZone ) - self:F2() - - if EngageZone then - self.EngageZone = EngageZone - else - self.EngageZone = nil - end -end - ---- Set the Engage Range when the AI will engage with airborne enemies. --- @param #AI_CAP_ZONE self --- @param #number EngageRange The Engage Range. --- @return #AI_CAP_ZONE self -function AI_CAP_ZONE:SetEngageRange( EngageRange ) - self:F2() - - if EngageRange then - self.EngageRange = EngageRange - else - self.EngageRange = nil - end -end - ---- onafter State Transition for Event Start. --- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. -function AI_CAP_ZONE:onafterStart( Controllable, From, Event, To ) - - -- Call the parent Start event handler - self:GetParent(self).onafterStart( self, Controllable, From, Event, To ) - self:HandleEvent( EVENTS.Dead ) - -end - --- todo: need to fix this global function - ---- @param Wrapper.Controllable#CONTROLLABLE AIControllable -function _NewEngageCapRoute( AIControllable ) - - AIControllable:T( "NewEngageRoute" ) - local EngageZone = AIControllable:GetState( AIControllable, "EngageZone" ) -- AI.AI_Cap#AI_CAP_ZONE - EngageZone:__Engage( 1 ) -end - ---- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. -function AI_CAP_ZONE:onbeforeEngage( Controllable, From, Event, To ) - - if self.Accomplished == true then - return false - end -end - ---- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. -function AI_CAP_ZONE:onafterDetected( Controllable, From, Event, To ) - - if From ~= "Engaging" then - - local Engage = false - - for DetectedUnit, Detected in pairs( self.DetectedUnits ) do - - local DetectedUnit = DetectedUnit -- Wrapper.Unit#UNIT - self:T( DetectedUnit ) - if DetectedUnit:IsAlive() and DetectedUnit:IsAir() then - Engage = true - break - end - end - - if Engage == true then - self:E( 'Detected -> Engaging' ) - self:__Engage( 1 ) - end - end -end - - ---- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. -function AI_CAP_ZONE:onafterAbort( Controllable, From, Event, To ) - Controllable:ClearTasks() - self:__Route( 1 ) -end - - - - ---- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. -function AI_CAP_ZONE:onafterEngage( Controllable, From, Event, To ) - - if Controllable:IsAlive() then - - local EngageRoute = {} - - --- Calculate the current route point. - local CurrentVec2 = self.Controllable:GetVec2() - - --TODO: Create GetAltitude function for GROUP, and delete GetUnit(1). - local CurrentAltitude = self.Controllable:GetUnit(1):GetAltitude() - local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) - local ToEngageZoneSpeed = self.PatrolMaxSpeed - local CurrentRoutePoint = CurrentPointVec3:RoutePointAir( - self.PatrolAltType, - POINT_VEC3.RoutePointType.TurningPoint, - POINT_VEC3.RoutePointAction.TurningPoint, - ToEngageZoneSpeed, - true - ) - - EngageRoute[#EngageRoute+1] = CurrentRoutePoint - - - --- Find a random 2D point in PatrolZone. - local ToTargetVec2 = self.PatrolZone:GetRandomVec2() - self:T2( ToTargetVec2 ) - - --- Define Speed and Altitude. - local ToTargetAltitude = math.random( self.EngageFloorAltitude, self.EngageCeilingAltitude ) - local ToTargetSpeed = math.random( self.PatrolMinSpeed, self.PatrolMaxSpeed ) - self:T2( { self.PatrolMinSpeed, self.PatrolMaxSpeed, ToTargetSpeed } ) - - --- Obtain a 3D @{Point} from the 2D point + altitude. - local ToTargetPointVec3 = POINT_VEC3:New( ToTargetVec2.x, ToTargetAltitude, ToTargetVec2.y ) - - --- Create a route point of type air. - local ToPatrolRoutePoint = ToTargetPointVec3:RoutePointAir( - self.PatrolAltType, - POINT_VEC3.RoutePointType.TurningPoint, - POINT_VEC3.RoutePointAction.TurningPoint, - ToTargetSpeed, - true - ) - - EngageRoute[#EngageRoute+1] = ToPatrolRoutePoint - - Controllable:OptionROEOpenFire() - Controllable:OptionROTPassiveDefense() - - local AttackTasks = {} - - for DetectedUnit, Detected in pairs( self.DetectedUnits ) do - local DetectedUnit = DetectedUnit -- Wrapper.Unit#UNIT - self:T( { DetectedUnit, DetectedUnit:IsAlive(), DetectedUnit:IsAir() } ) - if DetectedUnit:IsAlive() and DetectedUnit:IsAir() then - if self.EngageZone then - if DetectedUnit:IsInZone( self.EngageZone ) then - self:E( {"Within Zone and Engaging ", DetectedUnit } ) - AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit ) - end - else - if self.EngageRange then - if DetectedUnit:GetPointVec3():Get2DDistance(Controllable:GetPointVec3() ) <= self.EngageRange then - self:E( {"Within Range and Engaging", DetectedUnit } ) - AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit ) - end - else - AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit ) - end - end - else - self.DetectedUnits[DetectedUnit] = nil - end - end - - --- Now we're going to do something special, we're going to call a function from a waypoint action at the AIControllable... - self.Controllable:WayPointInitialize( EngageRoute ) - - - if #AttackTasks == 0 then - self:E("No targets found -> Going back to Patrolling") - self:__Abort( 1 ) - self:__Route( 1 ) - self:SetDetectionActivated() - else - EngageRoute[1].task = Controllable:TaskCombo( AttackTasks ) - - --- Do a trick, link the NewEngageRoute function of the object to the AIControllable in a temporary variable ... - self.Controllable:SetState( self.Controllable, "EngageZone", self ) - - self.Controllable:WayPointFunction( #EngageRoute, 1, "_NewEngageCapRoute" ) - - self:SetDetectionDeactivated() - end - - --- NOW ROUTE THE GROUP! - self.Controllable:WayPointExecute( 1, 2 ) - - end -end - ---- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. -function AI_CAP_ZONE:onafterAccomplish( Controllable, From, Event, To ) - self.Accomplished = true - self:SetDetectionOff() -end - ---- @param #AI_CAP_ZONE self --- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. --- @param #string From The From State string. --- @param #string Event The Event string. --- @param #string To The To State string. --- @param Core.Event#EVENTDATA EventData -function AI_CAP_ZONE:onafterDestroy( Controllable, From, Event, To, EventData ) - - if EventData.IniUnit then - self.DetectedUnits[EventData.IniUnit] = nil - end -end - ---- @param #AI_CAP_ZONE self --- @param Core.Event#EVENTDATA EventData -function AI_CAP_ZONE:OnEventDead( EventData ) - self:F( { "EventDead", EventData } ) - - if EventData.IniDCSUnit then - if self.DetectedUnits and self.DetectedUnits[EventData.IniUnit] then - self:__Destroy( 1, EventData ) - end - end -end diff --git a/Moose Development/Moose/Tasking/Task_A2A.lua b/Moose Development/Moose/Tasking/Task_A2A.lua index e74f5bc7f..33a6f806f 100644 --- a/Moose Development/Moose/Tasking/Task_A2A.lua +++ b/Moose Development/Moose/Tasking/Task_A2A.lua @@ -2,7 +2,6 @@ -- -- ![Banner Image](..\Presentations\TASK_A2A\Dia1.JPG) -- --- -- ==== -- -- ### Author: **Sven Van de Velde (FlightControl)** diff --git a/docs/Documentation/AI_A2A.html b/docs/Documentation/AI_A2A.html index c29b58938..2a24504d1 100644 --- a/docs/Documentation/AI_A2A.html +++ b/docs/Documentation/AI_A2A.html @@ -158,6 +158,12 @@ AI_A2A.HomeAirbase + + + + AI_A2A.IdleCount + + @@ -564,6 +570,20 @@ + + +
+
+ + #number + +AI_A2A.IdleCount + +
+
+ + +
diff --git a/docs/Documentation/Airbase.html b/docs/Documentation/Airbase.html index 553cad029..47a104aa6 100644 --- a/docs/Documentation/Airbase.html +++ b/docs/Documentation/Airbase.html @@ -157,6 +157,18 @@ AIRBASE:GetDCSObject() + + + + AIRBASE.Nevada + + + + + + AIRBASE.Normandy + + @@ -305,6 +317,34 @@ self

+ +
+
+
+ + + +AIRBASE.Nevada + +
+
+ + + +
+
+
+
+ + + +AIRBASE.Normandy + +
+
+ + +
diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index e3fae231c..d774a472f 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -2934,7 +2934,6 @@ The range till cargo will board.

- CARGO_UNIT.CargoCarrier diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index 70e3562df..c0c7ee573 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -900,7 +900,6 @@ function below will use the range 1-7 just in case

- DESIGNATE.LaserCodes diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html index 6e5b46606..1e06f11b2 100644 --- a/docs/Documentation/Detection.html +++ b/docs/Documentation/Detection.html @@ -2558,7 +2558,7 @@ The index of the DetectedItem.

- + #number DETECTION_BASE.DetectionInterval diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html index be5ce073c..4307c3aaa 100644 --- a/docs/Documentation/Movement.html +++ b/docs/Documentation/Movement.html @@ -227,7 +227,6 @@ on defined intervals (currently every minute).

- #number MOVEMENT.AliveUnits @@ -236,9 +235,6 @@ on defined intervals (currently every minute).

- -

Contains the counter how many units are currently alive

-
diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 2e89a9cd3..3807cc1ad 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2194,6 +2194,9 @@ The group that was spawned. You can use this group for further actions.

+ +

Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.

+
@@ -2740,6 +2743,9 @@ when nothing was spawned.

+ +

By default, no InitLimit

+
@@ -2775,7 +2781,7 @@ when nothing was spawned.

- + #number SPAWN.SpawnMaxGroups @@ -2792,7 +2798,7 @@ when nothing was spawned.

- + #number SPAWN.SpawnMaxUnitsAlive @@ -3120,7 +3126,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
- + #boolean SPAWN.SpawnUnControlled diff --git a/docs/Documentation/Task_A2A.html b/docs/Documentation/Task_A2A.html index 6abe8d99f..c5b62bf8b 100644 --- a/docs/Documentation/Task_A2A.html +++ b/docs/Documentation/Task_A2A.html @@ -111,7 +111,6 @@

Banner Image

-

Author: Sven Van de Velde (FlightControl)

diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 686daa411..0f2ef2fcf 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -510,7 +510,7 @@ based on the tasking capabilities defined in Task#TA
- Core.Cargo#CARGO_GROUP + Core.Cargo#CARGO FSM_PROCESS.Cargo diff --git a/docs/Presentations/TASK_A2A/Dia1.JPG b/docs/Presentations/TASK_A2A/Dia1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..4f9c49a9ef39af4ca201135cb42687333a4abed6 GIT binary patch literal 67907 zcmbTdcQjmI81FrT5H%7t1_`1J65Z$#(R*jKsKMx?*N6yVjNTc&x9DAh7`?>kEf~G` zPOjg*cip?z``7!v`|R`A*=MikbIw|OKl{7C```4xCBRcfSp``D78Vx3^5Fvfn*&G# zupd48uRau7@vrMh=`DYkdT<<*;8T?G7>_kw6kl|x3Ve4RHF#;ZuVPTVD{re4I z006LXAENy);Qw8)9zDeP7!Usm0pUY~x~G6gSlHN)aIpW2`k}S|!*c)*8Sb-JJW`LJ zYnb6Nx{&h*#bo0%y|3z^(EM}A%xCWU>z#tK_RfPi1Y^;Svh$H zMJ;U|T|IpRh=rw<^(Px!JD8ihho_gfPw>}}Z=qq|!(-#(6B3h>Q&Mws^YRM{i;7FC zYijH28ycIMJG*{&qk4M#`p3}Y6O&WZGqcMpnANrQjm@p?qvMm)v-69~tLy)`umITq z3+w-o{Xe+K9=IOi;9%q6{l|s%$n)XGCd0vf#q;=?lm?!e%X3EFAbj%oG1*lePnh^L z4=K!D{}50z^Dn@Z&a`(HBBa@tGvP6TS$Ht_YQEd<2Uo-?j}uMNt{HDWx50}uI{sE@ z|9Xg)ZZajmqYUzMmSDi%kgzGh3f%4D)6jKOZ@XRtj}JR8432_qwTfB@784aa{WK># z4!-xUXz554`e|bc=+*hr`W zm!uk6Kp}HjgE_NpjzMO~JH5={JSbrp*Bzy(xIwhsyQ^{RDMUS_SjA?xrP)Wgl(2<< ziGGxP)EMnDRwq2GFpXFdRCdIhEhU>q_-`-FuiFzH;wew4%q%(k7e}8?N7&?J@)a5o zDm+>z1@fQ`vGK+9fcS}F@alMfezNC9o+ceRQ`JhISAV)^_Zz{bQ@ScGhlNq!7ja%W z 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 R);ybh1~}WSo7DcB`5z|&sOkU! literal 0 HcmV?d00001