diff --git a/Moose Development/Moose/AI/AI_CAS.lua b/Moose Development/Moose/AI/AI_CAS.lua
index 8e9eb20f6..dd7dd5a49 100644
--- a/Moose Development/Moose/AI/AI_CAS.lua
+++ b/Moose Development/Moose/AI/AI_CAS.lua
@@ -107,11 +107,11 @@
--
-- 
--
--- # 1. AI_CAS_ZONE constructor
+-- ## AI_CAS_ZONE constructor
--
-- * @{#AI_CAS_ZONE.New}(): Creates a new AI_CAS_ZONE object.
--
--- ## 2. AI_CAS_ZONE is a FSM
+-- ## AI_CAS_ZONE is a FSM
--
-- 
--
diff --git a/Moose Development/Moose/Tasking/CommandCenter.lua b/Moose Development/Moose/Tasking/CommandCenter.lua
index 6e6fc2420..5249589d3 100644
--- a/Moose Development/Moose/Tasking/CommandCenter.lua
+++ b/Moose Development/Moose/Tasking/CommandCenter.lua
@@ -85,6 +85,53 @@ end
-- @field Dcs.DCSCoalitionWrapper.Object#coalition CommandCenterCoalition
-- @list Missions
-- @extends Core.Base#BASE
+
+
+--- # COMMANDCENTER class, extends @{Base#BASE}
+--
+-- The COMMANDCENTER class governs multiple missions, the tasking and the reporting.
+--
+-- The commandcenter communicates important messages between the various groups of human players executing tasks in missions.
+--
+-- ## COMMANDCENTER constructor
+--
+-- * @{#COMMANDCENTER.New}(): Creates a new COMMANDCENTER object.
+--
+-- ## Mission Management
+--
+-- * @{#COMMANDCENTER.AddMission}(): Adds a mission to the commandcenter control.
+-- * @{#COMMANDCENTER.RemoveMission}(): Removes a mission to the commandcenter control.
+-- * @{#COMMANDCENTER.GetMissions}(): Retrieves the missions table controlled by the commandcenter.
+--
+-- ## Reference Zones
+--
+-- Command Centers may be aware of certain Reference Zones within the battleground. These Reference Zones can refer to
+-- known areas, recognizable buildings or sites, or any other point of interest.
+-- Command Centers will use these Reference Zones to help pilots with defining coordinates in terms of navigation
+-- during the WWII era.
+-- The Reference Zones are related to the WWII mode that the Command Center will operate in.
+-- Use the method @{#COMMANDCENTER.SetModeWWII}() to set the mode of communication to the WWII mode.
+--
+-- In WWII mode, the Command Center will receive detected targets, and will select for each target the closest
+-- nearby Reference Zone. This allows pilots to navigate easier through the battle field readying for combat.
+--
+-- The Reference Zones need to be set by the Mission Designer in the Mission Editor.
+-- Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
+-- and the radius of the zones doesn't matter, only the point is important. Place the center of these Reference Zones at
+-- specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
+-- The trigger zones indicating a Reference Zone need to follow a specific syntax.
+-- The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
+-- followed by a #, followed by a symbolic name of the Reference Zone.
+-- A few examples:
+--
+-- * A church at Tskinvali would be indicated as: *Church#Tskinvali*
+-- * A train station near Kobuleti would be indicated as: *Station#Kobuleti*
+--
+-- The COMMANDCENTER class contains a method to indicate which trigger zones need to be used as Reference Zones.
+-- This is done by using the method @{#COMMANDCENTER.SetReferenceZones}().
+-- For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.
+--
+-- @field #COMMANDCENTER
COMMANDCENTER = {
ClassName = "COMMANDCENTER",
CommandCenterName = "",
@@ -95,6 +142,7 @@ COMMANDCENTER = {
ReferenceNames = {},
CommunicationMode = "80",
}
+
--- The constructor takes an IDENTIFIABLE as the HQ command center.
-- @param #COMMANDCENTER self
-- @param Wrapper.Positionable#POSITIONABLE CommandCenterPositionable
@@ -253,10 +301,29 @@ function COMMANDCENTER:RemoveMission( Mission )
return Mission
end
---- Set reference points known by the command center to guide airborne units during WWII.
--- These reference points are zones, with a special name.
+--- Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.
+--
+-- These Reference Zones are normal trigger zones, with a special naming.
+-- The Reference Zones need to be set by the Mission Designer in the Mission Editor.
+-- Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
+-- and the radius of the zones doesn't matter, only the center of the zone is important. Place the center of these Reference Zones at
+-- specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
+-- The trigger zones indicating a Reference Zone need to follow a specific syntax.
+-- The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
+-- followed by a #, followed by a symbolic name of the Reference Zone.
+-- A few examples:
+--
+-- * A church at Tskinvali would be indicated as: *Church#Tskinvali*
+-- * A train station near Kobuleti would be indicated as: *Station#Kobuleti*
+--
+-- Taking the above example, this is how this method would be used:
+--
+-- CC:SetReferenceZones( "Church" )
+-- CC:SetReferenceZones( "Station" )
+--
+--
-- @param #COMMANDCENTER self
--- @param #string ReferenceZonePrefix Reference points.
+-- @param #string ReferenceZonePrefix The name before the #-mark indicating the class of the Reference Zones.
-- @return #COMMANDCENTER
function COMMANDCENTER:SetReferenceZones( ReferenceZonePrefix )
local MatchPattern = "(.*)#(.*)"
@@ -273,13 +340,14 @@ function COMMANDCENTER:SetReferenceZones( ReferenceZonePrefix )
end
--- Set the commandcenter operations in WWII mode
--- This will disable LL, MGRS, BRA, BULLS from the settings.
+-- This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center,
+-- and will be replaced by a navigation using Reference Zones.
-- It will also disable the settings at the settings menu for these.
--- And, it will use any ReferenceZones set as reference points for communication.
-- @param #COMMANDCENTER self
-- @return #COMMANDCENTER
function COMMANDCENTER:SetModeWWII()
self.CommunicationMode = "WWII"
+ return self
end
diff --git a/Moose Development/Moose/Tasking/Task_A2A.lua b/Moose Development/Moose/Tasking/Task_A2A.lua
index 2bd6cfc80..cda6c724c 100644
--- a/Moose Development/Moose/Tasking/Task_A2A.lua
+++ b/Moose Development/Moose/Tasking/Task_A2A.lua
@@ -23,10 +23,6 @@
-- * @{#TASK_A2A.SetScoreOnSuccess}(): Set a score when all the targets in scope of the A2A attack, have been destroyed.
-- * @{#TASK_A2A.SetPenaltyOnFailed}(): Set a penalty when the A2A attack has failed.
--
--- # 2) @{Task_A2A#TASK_INTERCEPT} class, extends @{Task_A2A#TASK_A2A}
---
--- The TASK_A2A_INTERCEPT class defines an INTERCEPT task for a @{Set} of Target Units.
---
-- ====
--
-- # **API CHANGE HISTORY**
@@ -343,6 +339,19 @@ do -- TASK_A2A_INTERCEPT
-- @type TASK_A2A_INTERCEPT
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
+
+ --- # TASK_A2A_INTERCEPT class, extends @{Task_A2A#TASK_A2A}
+ --
+ -- The TASK_A2A_INTERCEPT class defines an intercept task for a human player to be executed.
+ -- When enemy planes need to be intercepted by human players, use this task type to urgen the players to get out there!
+ --
+ -- The TASK_A2A_INTERCEPT is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create intercept tasks
+ -- based on detected airborne enemy targets intruding friendly airspace.
+ --
+ -- The task is defined for a @{Mission#MISSION}, where a friendly @{Set#SET_GROUP} consisting of GROUPs with one human players each, is intercepting the targets.
+ -- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
+ --
+ -- @field #TASK_A2A_INTERCEPT
TASK_A2A_INTERCEPT = {
ClassName = "TASK_A2A_INTERCEPT",
}
@@ -390,6 +399,21 @@ do -- TASK_A2A_SWEEP
-- @type TASK_A2A_SWEEP
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
+
+ --- # TASK_A2A_SWEEP class, extends @{Task_A2A#TASK_A2A}
+ --
+ -- The TASK_A2A_SWEEP class defines a sweep task for a human player to be executed.
+ -- A sweep task needs to be given when targets were detected but somehow the detection was lost.
+ -- Most likely, these enemy planes are hidden in the mountains or are flying under radar.
+ -- These enemy planes need to be sweeped by human players, and use this task type to urge the players to get out there and find those enemy fighters.
+ --
+ -- The TASK_A2A_SWEEP is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create sweep tasks
+ -- based on detected airborne enemy targets intruding friendly airspace, for which the detection has been lost for more than 60 seconds.
+ --
+ -- The task is defined for a @{Mission#MISSION}, where a friendly @{Set#SET_GROUP} consisting of GROUPs with one human players each, is sweeping the targets.
+ -- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
+ --
+ -- @field #TASK_A2A_SWEEP
TASK_A2A_SWEEP = {
ClassName = "TASK_A2A_SWEEP",
}
@@ -437,6 +461,19 @@ do -- TASK_A2A_ENGAGE
-- @type TASK_A2A_ENGAGE
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
+
+ --- # TASK_A2A_ENGAGE class, extends @{Task_A2A#TASK_A2A}
+ --
+ -- The TASK_A2A_ENGAGE class defines an engage task for a human player to be executed.
+ -- When enemy planes are close to human players, use this task type is used urge the players to get out there!
+ --
+ -- The TASK_A2A_ENGAGE is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create engage tasks
+ -- based on detected airborne enemy targets intruding friendly airspace.
+ --
+ -- The task is defined for a @{Mission#MISSION}, where a friendly @{Set#SET_GROUP} consisting of GROUPs with one human players each, is engaging the targets.
+ -- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
+ --
+ -- @field #TASK_A2A_ENGAGE
TASK_A2A_ENGAGE = {
ClassName = "TASK_A2A_ENGAGE",
}
@@ -461,7 +498,7 @@ do -- TASK_A2A_ENGAGE
self:SetBriefing(
TaskBriefing or
- "Bogeys are nearby! Those players who are near to the intruders are requested to ENGAGE!\n"
+ "Bogeys are nearby! Players close by are ordered to ENGAGE the intruders!\n"
)
local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate()
diff --git a/Moose Development/Moose/Tasking/Task_A2G.lua b/Moose Development/Moose/Tasking/Task_A2G.lua
index 2a387ffef..f6907aa08 100644
--- a/Moose Development/Moose/Tasking/Task_A2G.lua
+++ b/Moose Development/Moose/Tasking/Task_A2G.lua
@@ -23,22 +23,6 @@
-- * @{#TASK_A2G.SetScoreOnSuccess}(): Set a score when all the targets in scope of the A2G attack, have been destroyed.
-- * @{#TASK_A2G.SetPenaltyOnFailed}(): Set a penalty when the A2G attack has failed.
--
--- # 2) @{Task_A2G#TASK_SEAD} class, extends @{Task_A2G#TASK_A2G}
---
--- The @{#TASK_SEAD} class defines a SEAD task for a @{Set} of Target Units.
---
--- ===
---
--- # 3) @{Task_A2G#TASK_CAS} class, extends @{Task_A2G#TASK_A2G}
---
--- The @{#TASK_CAS} class defines a CAS task for a @{Set} of Target Units.
---
--- ===
---
--- # 4) @{Task_A2G#TASK_BAI} class, extends @{Task_A2G#TASK_A2G}
---
--- The @{#TASK_BAI} class defines a BAI task for a @{Set} of Target Units.
---
-- ====
--
-- # **API CHANGE HISTORY**
@@ -351,26 +335,36 @@ do -- TASK_A2G
end
-do -- TASK_SEAD
+do -- TASK_A2G_SEAD
- --- The TASK_SEAD class
- -- @type TASK_SEAD
+ --- The TASK_A2G_SEAD class
+ -- @type TASK_A2G_SEAD
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
- TASK_SEAD = {
- ClassName = "TASK_SEAD",
+
+ --- # TASK_A2G_SEAD class, extends @{Task_A2G#TASK_A2G}
+ --
+ -- The TASK_A2G_SEAD class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.
+ -- These tasks are important to be executed as they will help to achieve air superiority at the vicinity.
+ --
+ -- The TASK_A2G_SEAD is used by the @{Task_A2G_Dispatcher#TASK_A2G_DISPATCHER} to automatically create SEAD tasks
+ -- based on detected enemy ground targets.
+ --
+ -- @field #TASK_A2G_SEAD
+ TASK_A2G_SEAD = {
+ ClassName = "TASK_A2G_SEAD",
}
- --- Instantiates a new TASK_SEAD.
- -- @param #TASK_SEAD self
+ --- Instantiates a new TASK_A2G_SEAD.
+ -- @param #TASK_A2G_SEAD self
-- @param Tasking.Mission#MISSION Mission
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task.
-- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskBriefing The briefing of the task.
- -- @return #TASK_SEAD self
- function TASK_SEAD:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
- local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "SEAD", TaskBriefing ) ) -- #TASK_SEAD
+ -- @return #TASK_A2G_SEAD self
+ function TASK_A2G_SEAD:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
+ local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "SEAD", TaskBriefing ) ) -- #TASK_A2G_SEAD
self:F()
Mission:AddTask( self )
@@ -393,26 +387,37 @@ do -- TASK_SEAD
end
-do -- TASK_BAI
+do -- TASK_A2G_BAI
- --- The TASK_BAI class
- -- @type TASK_BAI
+ --- The TASK_A2G_BAI class
+ -- @type TASK_A2G_BAI
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
- TASK_BAI = {
- ClassName = "TASK_BAI",
+
+ --- # TASK_A2G_BAI class, extends @{Task_A2G#TASK_A2G}
+ --
+ -- The TASK_A2G_BAI class defines an Battlefield Air Interdiction task for a human player to be executed.
+ -- These tasks are more strategic in nature and are most of the time further away from friendly forces.
+ -- BAI tasks can also be used to express the abscence of friendly forces near the vicinity.
+ --
+ -- The TASK_A2G_BAI is used by the @{Task_A2G_Dispatcher#TASK_A2G_DISPATCHER} to automatically create BAI tasks
+ -- based on detected enemy ground targets.
+ --
+ -- @field #TASK_A2G_BAI
+ TASK_A2G_BAI = {
+ ClassName = "TASK_A2G_BAI",
}
- --- Instantiates a new TASK_BAI.
- -- @param #TASK_BAI self
+ --- Instantiates a new TASK_A2G_BAI.
+ -- @param #TASK_A2G_BAI self
-- @param Tasking.Mission#MISSION Mission
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task.
-- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskBriefing The briefing of the task.
- -- @return #TASK_BAI self
- function TASK_BAI:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
- local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "BAI", TaskBriefing ) ) -- #TASK_BAI
+ -- @return #TASK_A2G_BAI self
+ function TASK_A2G_BAI:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
+ local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "BAI", TaskBriefing ) ) -- #TASK_A2G_BAI
self:F()
Mission:AddTask( self )
@@ -435,26 +440,36 @@ do -- TASK_BAI
end
-do -- TASK_CAS
+do -- TASK_A2G_CAS
- --- The TASK_CAS class
- -- @type TASK_CAS
+ --- The TASK_A2G_CAS class
+ -- @type TASK_A2G_CAS
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
- TASK_CAS = {
- ClassName = "TASK_CAS",
+
+ --- # TASK_A2G_CAS class, extends @{Task_A2G#TASK_A2G}
+ --
+ -- The TASK_A2G_CAS class defines an Close Air Support task for a human player to be executed.
+ -- Friendly forces will be in the vicinity within 6km from the enemy.
+ --
+ -- The TASK_A2G_CAS is used by the @{Task_A2G_Dispatcher#TASK_A2G_DISPATCHER} to automatically create CAS tasks
+ -- based on detected enemy ground targets.
+ --
+ -- @field #TASK_A2G_CAS
+ TASK_A2G_CAS = {
+ ClassName = "TASK_A2G_CAS",
}
- --- Instantiates a new TASK_CAS.
- -- @param #TASK_CAS self
+ --- Instantiates a new TASK_A2G_CAS.
+ -- @param #TASK_A2G_CAS self
-- @param Tasking.Mission#MISSION Mission
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task.
-- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskBriefing The briefing of the task.
- -- @return #TASK_CAS self
- function TASK_CAS:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
- local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "CAS", TaskBriefing ) ) -- #TASK_CAS
+ -- @return #TASK_A2G_CAS self
+ function TASK_A2G_CAS:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
+ local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "CAS", TaskBriefing ) ) -- #TASK_A2G_CAS
self:F()
Mission:AddTask( self )
diff --git a/Moose Development/Moose/Tasking/Task_A2G_Dispatcher.lua b/Moose Development/Moose/Tasking/Task_A2G_Dispatcher.lua
index 4153b95f3..272dd57a7 100644
--- a/Moose Development/Moose/Tasking/Task_A2G_Dispatcher.lua
+++ b/Moose Development/Moose/Tasking/Task_A2G_Dispatcher.lua
@@ -252,21 +252,21 @@ do -- TASK_A2G_DISPATCHER
if not Task then
local TargetSetUnit = self:EvaluateSEAD( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
- Task = TASK_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", DetectedItemID ), TargetSetUnit )
+ Task = TASK_A2G_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", DetectedItemID ), TargetSetUnit )
end
-- Evaluate CAS
if not Task then
local TargetSetUnit = self:EvaluateCAS( DetectedItem ) -- Returns a SetUnit if there are targets to be CASed...
if TargetSetUnit then
- Task = TASK_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", DetectedItemID ), TargetSetUnit )
+ Task = TASK_A2G_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", DetectedItemID ), TargetSetUnit )
end
-- Evaluate BAI
if not Task then
local TargetSetUnit = self:EvaluateBAI( DetectedItem, self.Mission:GetCommandCenter():GetPositionable():GetCoalition() ) -- Returns a SetUnit if there are targets to be BAIed...
if TargetSetUnit then
- Task = TASK_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", DetectedItemID ), TargetSetUnit )
+ Task = TASK_A2G_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", DetectedItemID ), TargetSetUnit )
end
end
end
diff --git a/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv b/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv
index 2f09984f2..49f4db68e 100644
--- a/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv
+++ b/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv
@@ -1,13 +1,13 @@
-@K=function, @M=Task_A2A, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=4756,
-@K=function, @M=Task_A2A, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5417,
-@K=function, @M=Task_A2A, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5814,
-@K=function, @M=Task_A2A, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=6136,
-@K=function, @M=Task_A2A, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=7017,
-@K=function, @M=Task_A2G, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5157,
-@K=function, @M=Task_A2G, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5818,
-@K=function, @M=Task_A2G, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6215,
-@K=function, @M=Task_A2G, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6537,
-@K=function, @M=Task_A2G, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=7416,
+@K=function, @M=Task_A2A, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=4585,
+@K=function, @M=Task_A2A, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5246,
+@K=function, @M=Task_A2A, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5643,
+@K=function, @M=Task_A2A, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5965,
+@K=function, @M=Task_A2A, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=6846,
+@K=function, @M=Task_A2G, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=4672,
+@K=function, @M=Task_A2G, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5333,
+@K=function, @M=Task_A2G, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5730,
+@K=function, @M=Task_A2G, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6052,
+@K=function, @M=Task_A2G, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6931,
@K=function, @M=Task_Cargo, @N=onafterSelectAction, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=10711,
@K=function, @M=Task_Cargo, @N=OnLeaveWaitingForCommand, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=13740,
@K=function, @M=Task_Cargo, @N=onafterRouteToPickup, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=14601,
diff --git a/docs/Documentation/AI_Cas.html b/docs/Documentation/AI_Cas.html
index 677dbe72c..1ae0d9720 100644
--- a/docs/Documentation/AI_Cas.html
+++ b/docs/Documentation/AI_Cas.html
@@ -491,13 +491,13 @@ It can be notified to go RTB through the RTB event.

-1. AICASZONE constructor
+AICASZONE constructor
-2. AICASZONE is a FSM
+AICASZONE is a FSM

diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html
index 72b9c5689..f0b7b24e4 100644
--- a/docs/Documentation/AI_Patrol.html
+++ b/docs/Documentation/AI_Patrol.html
@@ -956,9 +956,6 @@ Use the method AIPATROLZONE.M
-
- This table contains the targets detected during patrol.
-
diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html
index 243a8f68c..878d3c7dc 100644
--- a/docs/Documentation/Cargo.html
+++ b/docs/Documentation/Cargo.html
@@ -2924,7 +2924,6 @@ The range till cargo will board.
-
-
CARGO_UNIT.CargoCarrier
@@ -3050,6 +3049,7 @@ The range till cargo will board.
-
+ #number
CARGO_UNIT.RunCount
diff --git a/docs/Documentation/CommandCenter.html b/docs/Documentation/CommandCenter.html
index 3f64c4468..b033d6dca 100644
--- a/docs/Documentation/CommandCenter.html
+++ b/docs/Documentation/CommandCenter.html
@@ -110,7 +110,9 @@
| COMMANDCENTER |
+COMMANDCENTER class, extends Base#BASE
+ The COMMANDCENTER class governs multiple missions, the tasking and the reporting.
|
@@ -126,12 +128,6 @@
| COMMANDCENTER:AddMission(Mission) |
Add a MISSION to be governed by the HQ command center.
- |
-
-
- | COMMANDCENTER.ClassName |
-
-
|
@@ -147,13 +143,7 @@
- | COMMANDCENTER.CommandCenterName |
-
-
- |
-
-
- | COMMANDCENTER.CommandCenterPositionable |
+ COMMANDCENTER.CommunicationMode |
|
@@ -192,6 +182,12 @@
COMMANDCENTER:HasGroup(Wrapper, MissionGroup) |
Checks of the COMMANDCENTER has a GROUP.
+ |
+
+
+ | COMMANDCENTER:IsModeWWII() |
+
+ Returns if the commandcenter operations is in WWII mode
|
@@ -210,12 +206,6 @@
| COMMANDCENTER:MessageToGroup(Message, TaskGroup, Name) |
Send a CC message to a GROUP.
- |
-
-
- | COMMANDCENTER.Name |
-
-
|
@@ -252,6 +242,20 @@
| COMMANDCENTER:SetMenu() |
Sets the menu structure of the Missions governed by the HQ command center.
+ |
+
+
+ | COMMANDCENTER:SetModeWWII() |
+
+ Set the commandcenter operations in WWII mode
+This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center,
+and will be replaced by a navigation using Reference Zones.
+ |
+
+
+ | COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix) |
+
+ Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.
|
@@ -331,7 +335,59 @@
-
+
COMMANDCENTER class, extends Base#BASE
+ The COMMANDCENTER class governs multiple missions, the tasking and the reporting.
+
+
+
+ The commandcenter communicates important messages between the various groups of human players executing tasks in missions.
+
+COMMANDCENTER constructor
+
+
+
+Mission Management
+
+
+
+Reference Zones
+
+Command Centers may be aware of certain Reference Zones within the battleground. These Reference Zones can refer to
+known areas, recognizable buildings or sites, or any other point of interest.
+Command Centers will use these Reference Zones to help pilots with defining coordinates in terms of navigation
+during the WWII era.
+The Reference Zones are related to the WWII mode that the Command Center will operate in.
+Use the method COMMANDCENTER.SetModeWWII() to set the mode of communication to the WWII mode.
+
+In WWII mode, the Command Center will receive detected targets, and will select for each target the closest
+nearby Reference Zone. This allows pilots to navigate easier through the battle field readying for combat.
+
+The Reference Zones need to be set by the Mission Designer in the Mission Editor.
+Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
+and the radius of the zones doesn't matter, only the point is important. Place the center of these Reference Zones at
+specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
+The trigger zones indicating a Reference Zone need to follow a specific syntax.
+The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
+followed by a #, followed by a symbolic name of the Reference Zone.
+A few examples:
+
+
+ - A church at Tskinvali would be indicated as: Church#Tskinvali
+ - A train station near Kobuleti would be indicated as: Station#Kobuleti
+
+
+The COMMANDCENTER class contains a method to indicate which trigger zones need to be used as Reference Zones.
+This is done by using the method COMMANDCENTER.SetReferenceZones().
+For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.
+
+
@@ -380,20 +436,6 @@
Tasking.Mission#MISSION:
-
-
-
--
-
- #string
-
-COMMANDCENTER.ClassName
-
-
--
-
-
-
@@ -427,21 +469,8 @@
-
#string
-
-COMMANDCENTER.CommandCenterName
-
-
--
-
-
-
-
-
-
--
-
-
-COMMANDCENTER.CommandCenterPositionable
+
+COMMANDCENTER.CommunicationMode
-
@@ -566,6 +595,24 @@ Group#GROUP
#boolean:
+
+
+
+-
+
+
+COMMANDCENTER:IsModeWWII()
+
+
+-
+
+
Returns if the commandcenter operations is in WWII mode
+
+ Return value
+
+#boolean:
+true if in WWII mode.
+
@@ -640,20 +687,6 @@ Group#GROUP
-
-
-
--
-
- #string
-
-COMMANDCENTER.Name
-
-
--
-
-
-
@@ -804,6 +837,81 @@ Group#GROUP
Sets the menu structure of the Missions governed by the HQ command center.
+
+
+
+-
+
+
+COMMANDCENTER:SetModeWWII()
+
+
+-
+
+
Set the commandcenter operations in WWII mode
+This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center,
+and will be replaced by a navigation using Reference Zones.
+
+
+It will also disable the settings at the settings menu for these.
+
+ Return value
+
+#COMMANDCENTER:
+
+
+
+
+
+-
+
+
+COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix)
+
+
+-
+
+
Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.
+
+
+
+These Reference Zones are normal trigger zones, with a special naming.
+The Reference Zones need to be set by the Mission Designer in the Mission Editor.
+Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
+and the radius of the zones doesn't matter, only the center of the zone is important. Place the center of these Reference Zones at
+specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
+The trigger zones indicating a Reference Zone need to follow a specific syntax.
+The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
+followed by a #, followed by a symbolic name of the Reference Zone.
+A few examples:
+
+
+ - A church at Tskinvali would be indicated as: Church#Tskinvali
+ - A train station near Kobuleti would be indicated as: Station#Kobuleti
+
+
+Taking the above example, this is how this method would be used:
+
+CC:SetReferenceZones( "Church" )
+CC:SetReferenceZones( "Station" )
+
+
+
+
+ Parameter
+
+ Return value
+
+#COMMANDCENTER:
+
+
diff --git a/docs/Documentation/Controllable.html b/docs/Documentation/Controllable.html
index 64d62a028..888b18d40 100644
--- a/docs/Documentation/Controllable.html
+++ b/docs/Documentation/Controllable.html
@@ -168,6 +168,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
CONTROLLABLE.EnRouteTaskAWACS: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.
CONTROLLABLE.EnRouteTaskEngageControllable: (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets.
CONTROLLABLE.EnRouteTaskEngageTargets: (AIR) Engaging targets of defined types.
+ CONTROLLABLE.EnRouteTaskEngageTargetsInZone: (AIR) Engaging a targets of defined types at circle-shaped zone.
CONTROLLABLE.EnRouteTaskEWR: (AIR) Attack the Unit.
CONTROLLABLE.EnRouteTaskFAC: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose a targets (enemy ground controllable) around as well as other assigned targets.
CONTROLLABLE.EnRouteTaskFAC_EngageControllable: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets.
@@ -324,6 +325,12 @@ This is different from the EnRoute tasks, where the targets of the task need to
CONTROLLABLE:EnRouteTaskEngageTargets(Distance, TargetTypes, Priority) |
(AIR) Engaging targets of defined types.
+ |
+
+
+ | CONTROLLABLE:EnRouteTaskEngageTargetsInZone(Vec2, Radius, TargetTypes, Priority) |
+
+ (AIR) Engaging a targets of defined types at circle-shaped zone.
|
@@ -1123,6 +1130,51 @@ The DCS task structure.
-
+
+CONTROLLABLE:EnRouteTaskEngageTargetsInZone(Vec2, Radius, TargetTypes, Priority)
+
+
+-
+
+
(AIR) Engaging a targets of defined types at circle-shaped zone.
+
+ Parameters
+
+ -
+
+
Dcs.DCSTypes#Vec2 Vec2 :
+2D-coordinates of the zone.
+
+
+ -
+
+
Dcs.DCSTypes#Distance Radius :
+Radius of the zone.
+
+
+ -
+
+
Dcs.DCSTypes#AttributeNameArray TargetTypes :
+Array of target categories allowed to engage.
+
+
+ -
+
+
#number Priority :
+All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first.
+
+
+
+ Return value
+
+Dcs.DCSTasking.Task#Task:
+The DCS task structure.
+
+
+
+
+-
+
CONTROLLABLE:EnRouteTaskEngageUnit(EngageUnit, Priority, GroupAttack, WeaponExpend, AttackQty, Direction, Altitude, Visible, ControllableAttack)
diff --git a/docs/Documentation/Database.html b/docs/Documentation/Database.html
index 074b166d3..96e43500a 100644
--- a/docs/Documentation/Database.html
+++ b/docs/Documentation/Database.html
@@ -529,6 +529,12 @@ The following iterator methods are currently available within the DATABASE:
| DATABASE.UNITS_Position |
+ |
+
+
+ | DATABASE.ZONENAMES |
+
+
|
@@ -2034,6 +2040,20 @@ self
+
+
+
+-
+
+
+
+DATABASE.ZONENAMES
+
+
+-
+
+
+
diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html
index bf0481cec..1a1acc091 100644
--- a/docs/Documentation/Designate.html
+++ b/docs/Documentation/Designate.html
@@ -895,7 +895,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 5cbd9bb85..f7dd38549 100644
--- a/docs/Documentation/Detection.html
+++ b/docs/Documentation/Detection.html
@@ -360,9 +360,9 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
- | DETECTION_BASE:CleanDetectionItems() |
+ DETECTION_BASE:CleanDetectionItem(DetectedItem, DetectedItemID) |
- Make a DetectionSet table.
+
|
@@ -650,6 +650,12 @@ The different values of Unit.Category can be:
| DETECTION_BASE:InitDetectVisual(DetectVisual) |
Detect Visual.
+ |
+
+
+ | DETECTION_BASE:IsDetectedItemDetected(DetectedItem) |
+
+ Checks if there is at least one UNIT detected in the Set of the the DetectedItem.
|
@@ -854,6 +860,12 @@ The different values of Unit.Category can be:
| DETECTION_BASE:UnIdentifyDetectedObject(DetectedObject) |
UnIdentify a detected object during detection processing.
+ |
+
+
+ | DETECTION_BASE:UpdateDetectedItemDetection(DetectedItem) |
+
+ Set IsDetected flag for all DetectedItems.
|
@@ -893,7 +905,7 @@ The different values of Unit.Category can be:
- | DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup) |
+ DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup, DetectionTimeStamp) |
|
@@ -2188,22 +2200,32 @@ The index of the DetectedItem.
-
-
-DETECTION_BASE:CleanDetectionItems()
+
+DETECTION_BASE:CleanDetectionItem(DetectedItem, DetectedItemID)
-
-
Make a DetectionSet table.
+
-This function will be overridden in the derived clsses.
+ Clean the DetectedItem table.
+ @param #DETECTIONBASE self
+ @return #DETECTIONBASE
- Return value
+ Parameters
+
@@ -3145,6 +3167,32 @@ self
-
+
+DETECTION_BASE:IsDetectedItemDetected(DetectedItem)
+
+
+-
+
+
Checks if there is at least one UNIT detected in the Set of the the DetectedItem.
+
+ Parameter
+
+ -
+
+
DetectedItem :
+
+
+
+ Return value
+
+#boolean:
+true if at least one UNIT is detected from the DetectedSet, false if no UNIT was detected from the DetectedSet.
+
+
+
+
+-
+
DETECTION_BASE:IsDetectedObjectIdentified(DetectedObject)
@@ -4099,6 +4147,42 @@ self
+
+
+-
+
+
+DETECTION_BASE:UpdateDetectedItemDetection(DetectedItem)
+
+
+-
+
+
Set IsDetected flag for all DetectedItems.
+
+ Parameter
+
+ -
+
+
DetectedItem :
+
+
+
+ Return values
+
+ -
+
+
#DETECTION_BASE.DetectedItem:
+DetectedItem
+
+
+ -
+
+
#boolean:
+true if at least one UNIT is detected from the DetectedSet, false if no UNIT was detected from the DetectedSet.
+
+
+
+
-
@@ -4240,7 +4324,7 @@ The To State string.
-
-DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup)
+DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup, DetectionTimeStamp)
-
@@ -4272,6 +4356,11 @@ The To State string.
Wrapper.Group#GROUP DetectionGroup :
The Group detecting.
+
+ -
+
+
DetectionTimeStamp :
+
diff --git a/docs/Documentation/Fsm.html b/docs/Documentation/Fsm.html
index 1b1039138..c5184cb8d 100644
--- a/docs/Documentation/Fsm.html
+++ b/docs/Documentation/Fsm.html
@@ -1627,7 +1627,7 @@ A string defining the start state.
-
- #string
+
FSM._StartState
@@ -1926,6 +1926,7 @@ A string defining the start state.
-
+
FSM.current
diff --git a/docs/Documentation/Mission.html b/docs/Documentation/Mission.html
index 6d500b748..a130c83cf 100644
--- a/docs/Documentation/Mission.html
+++ b/docs/Documentation/Mission.html
@@ -286,13 +286,19 @@ A CLIENT needs to be registered within the MISSION:MenuReportOverview(TaskStatus, ReportGroup)
+
| MISSION:MenuReportPlayersPerTask(ReportGroup) |
|
- | MISSION:MenuReportSummary(ReportGroup) |
+ MISSION:MenuReportTasksPerStatus(TaskStatus, ReportGroup) |
+
+
+ |
+
+
+ | MISSION:MenuReportTasksSummary(ReportGroup) |
|
@@ -466,7 +472,7 @@ A CLIENT needs to be registered within the MISSION:ReportDetails()
+ MISSION:ReportDetails(ReportGroup) |
Create a detailed report of the Mission, listing all the details of the Task.
|
@@ -478,9 +484,9 @@ A CLIENT needs to be registered within the MISSION:ReportPlayers()
+ MISSION:ReportPlayersPerTask(ReportGroup) |
- Create a player report of the Mission.
+Create an active player report of the Mission.
|
@@ -1239,8 +1245,29 @@ true if Unit is part of a Task in the Mission.
-
-
+
+-
+
+
+
+
Parameter
+
+
+
+
+-
+
+
-
@@ -1266,8 +1293,8 @@ The status
-
-
-
@@ -2157,13 +2184,21 @@ self
-
-MISSION:ReportDetails()
+MISSION:ReportDetails(ReportGroup)
-
Create a detailed report of the Mission, listing all the details of the Task.
+ Parameter
+
+ -
+
+
ReportGroup :
+
+
+
Return value
#string:
@@ -2205,24 +2240,32 @@ self
-
-
-MISSION:ReportPlayers()
+
+MISSION:ReportPlayersPerTask(ReportGroup)
-
-
Create a player report of the Mission.
+Create an active player report of the Mission.
This reports provides a one liner of the mission status. It indicates how many players and how many Tasks.
-Mission "<MissionName>" - Status "<MissionStatus>"
+Mission "<MissionName>" - <MissionStatus> - Active Players Report
- Player "<PlayerName>: Task <TaskName> <TaskStatus>, Task <TaskName> <TaskStatus>
- Player <PlayerName>: Task <TaskName> <TaskStatus>, Task <TaskName> <TaskStatus>
- ..
+ Parameter
+
+ -
+
+
ReportGroup :
+
+
+
Return value
#string:
diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html
index fe2422f58..a719ec933 100644
--- a/docs/Documentation/Movement.html
+++ b/docs/Documentation/Movement.html
@@ -218,6 +218,7 @@ on defined intervals (currently every minute).
-
+ #number
MOVEMENT.AliveUnits
@@ -226,6 +227,9 @@ on defined intervals (currently every minute).
+
+
Contains the counter how many units are currently alive
+
diff --git a/docs/Documentation/Point.html b/docs/Documentation/Point.html
index 1f63adeda..165f53c56 100644
--- a/docs/Documentation/Point.html
+++ b/docs/Documentation/Point.html
@@ -434,6 +434,13 @@
| COORDINATE:ToStringBULLS(Coalition, Settings) |
Return a BULLS string from a COORDINATE to the BULLS of the coalition.
+ |
+
+
+ | COORDINATE:ToStringFromRP(Controllable, Settings, ReferenceCoord, ReferenceName) |
+
+ Provides a coordinate string of the point, based on a coordinate format system:
+ * Uses default settings in COORDINATE.
|
@@ -1737,7 +1744,7 @@ The Vec2 point.
Return value
-Core.Point#COORDINATE:
+#COORDINATE:
@@ -2133,6 +2140,53 @@ The BR text.
-
+
+COORDINATE:ToStringFromRP(Controllable, Settings, ReferenceCoord, ReferenceName)
+
+
+-
+
+
Provides a coordinate string of the point, based on a coordinate format system:
+ * Uses default settings in COORDINATE.
+
+
+
+ - Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
+
+
+ Parameters
+
+ Return value
+
+#string:
+The coordinate Text in the configured coordinate system.
+
+
+
+
+-
+
COORDINATE:ToStringLL(Settings)
@@ -2767,7 +2821,6 @@ The y coordinate.
-
-
POINT_VEC2.z
diff --git a/docs/Documentation/Settings.html b/docs/Documentation/Settings.html
index fdfdf1448..354a931f0 100644
--- a/docs/Documentation/Settings.html
+++ b/docs/Documentation/Settings.html
@@ -1071,7 +1071,7 @@ true if metric.
-
- #boolean
+
SETTINGS.Metric
diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html
index 0ce1033f1..5c4529eb3 100644
--- a/docs/Documentation/Spawn.html
+++ b/docs/Documentation/Spawn.html
@@ -463,6 +463,12 @@ and any spaces before and after the resulting name are removed.
| SPAWN.SpawnGroups |
+ |
+
+
+ | SPAWN.SpawnHookScheduler |
+
+
|
@@ -775,6 +781,12 @@ and any spaces before and after the resulting name are removed.
| SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle) |
+ |
+
+
+ | SPAWN.uncontrolled |
+
+
|
@@ -2450,6 +2462,23 @@ SpawnGroupName
Array containing the descriptions of each Group to be Spawned.
+
+
+
+-
+
+
+
+SPAWN.SpawnHookScheduler
+
+
+-
+
+
+
+
+
delay calling this for .1 seconds so that it hopefully comes after the BIRTH event of the group.
+
@@ -2532,9 +2561,6 @@ when nothing was spawned.
-
- Overwrite unit names by default with group name.
-
@@ -2956,7 +2982,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
- Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.
+ When the first Spawn executes, all the Groups need to be made visible before start.
@@ -3522,6 +3548,20 @@ True = Continue Scheduler
+
+
+
+-
+
+
+
+SPAWN.uncontrolled
+
+
+-
+
+
+
diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html
index 765a0449d..018cdd833 100644
--- a/docs/Documentation/Spot.html
+++ b/docs/Documentation/Spot.html
@@ -766,7 +766,6 @@ true if it is lasing
-
-
SPOT.ScheduleID
@@ -780,7 +779,6 @@ true if it is lasing
-
-
SPOT.SpotIR
@@ -794,7 +792,6 @@ true if it is lasing
-
-
SPOT.SpotLaser
@@ -808,7 +805,6 @@ true if it is lasing
-
-
SPOT.Target
diff --git a/docs/Documentation/Task.html b/docs/Documentation/Task.html
index 37429004e..78495f0c4 100644
--- a/docs/Documentation/Task.html
+++ b/docs/Documentation/Task.html
@@ -456,7 +456,7 @@
- | TASK:ReportDetails(TaskGroup) |
+ TASK:ReportDetails(TaskGroup, ReportGroup) |
Create a detailed report of the Task.
|
@@ -2010,7 +2010,7 @@ self
-
-TASK:ReportDetails(TaskGroup)
+TASK:ReportDetails(TaskGroup, ReportGroup)
-
@@ -2020,12 +2020,17 @@ self
List the Task Status, and the Players assigned to the Task.
- Parameter
+ Parameters
Return value
diff --git a/docs/Documentation/Task_A2A.html b/docs/Documentation/Task_A2A.html
index 5a87f36ca..4c8514b50 100644
--- a/docs/Documentation/Task_A2A.html
+++ b/docs/Documentation/Task_A2A.html
@@ -131,10 +131,6 @@ The TASK_A2A is implemented using a Stat
- TASK_A2A.SetPenaltyOnFailed(): Set a penalty when the A2A attack has failed.
-
-
-The TASKA2AINTERCEPT class defines an INTERCEPT task for a Set of Target Units.
-
API CHANGE HISTORY
@@ -174,13 +170,25 @@ The TASK_A2A is implemented using a Stat
| TASK_A2A_ENGAGE |
+
+ The TASKA2AENGAGE class defines an engage task for a human player to be executed.
|
| TASK_A2A_INTERCEPT |
+TASKA2AINTERCEPT class, extends TaskA2A#TASKA2A
+The TASKA2AINTERCEPT class defines an intercept task for a human player to be executed.
+ |
+
+
+ | TASK_A2A_SWEEP |
+
+
+
+ The TASKA2ASWEEP class defines a sweep task for a human player to be executed.
|
@@ -281,12 +289,6 @@ The TASK_A2A is implemented using a Stat
- | TASK_A2A_DISPATCHER.ClassName |
-
-
- |
-
-
| TASK_A2A_DISPATCHER.Detection |
- The DETECTION_BASE object that is used to report the detected objects. The Detection object will only function in RADAR mode!!!
+
|
@@ -188,6 +152,12 @@ Find a summary below describing for which situation a task type is created:
| TASK_A2A_DISPATCHER:EvaluateRemoveTask(Mission, Task, Detection, DetectedItemID, DetectedItemChange, DetectedItem, DetectedItemIndex, DetectedItemChanged) |
Evaluates the removal of the Task from the Mission.
+ |
+
+
+ | TASK_A2A_DISPATCHER:EvaluateSWEEP(DetectedItem) |
+
+ Creates an SWEEP task when there are targets for it.
|
@@ -224,18 +194,6 @@ Find a summary below describing for which situation a task type is created:
| TASK_A2A_DISPATCHER:ProcessDetected(Detection) |
Assigns tasks in relation to the detected items to the Set#SET_GROUP.
- |
-
-
- | TASK_A2A_DISPATCHER.SetGroup |
-
- The groups to which the FAC will report to.
- |
-
-
- | TASK_A2A_DISPATCHER.Tasks |
-
-
|
@@ -251,6 +209,25 @@ Find a summary below describing for which situation a task type is created:
-
+
+
+
The #TASKA2ADISPATCHER class implements the dynamic dispatching of tasks upon groups of detected units determined a Set of EWR installation groups.
+
+
+The EWR will detect units, will group them, and will dispatch Tasks to groups. Depending on the type of target detected, different tasks will be dispatched.
+Find a summary below describing for which situation a task type is created:
+
+
+ - INTERCEPT Task: Is created when the target is known, is detected and within a danger zone, and there is no friendly airborne in range.
+ - SWEEP Task: Is created when the target is unknown, was detected and the last position is only known, and within a danger zone, and there is no friendly airborne in range.
+ - ENGAGE Task: Is created when the target is known, is detected and within a danger zone, and there is a friendly airborne in range, that will receive this task.
+
+
+Other task types will follow...
+
+TASKA2ADISPATCHER constructor:
+
+The TASKA2ADISPATCHER.New() method creates a new TASKA2ADISPATCHER instance.
@@ -265,28 +242,14 @@ Find a summary below describing for which situation a task type is created:
-
- #string
-
-TASK_A2A_DISPATCHER.ClassName
-
-
--
-
-
-
-
-
-
--
-
- Functional.Detection#DETECTION_BASE
+
TASK_A2A_DISPATCHER.Detection
-
-
The DETECTION_BASE object that is used to report the detected objects. The Detection object will only function in RADAR mode!!!
+
@@ -430,6 +393,42 @@ The detection created by the Detectio
-
+
+TASK_A2A_DISPATCHER:EvaluateSWEEP(DetectedItem)
+
+
+-
+
+
Creates an SWEEP task when there are targets for it.
+
+ Parameter
+
+ Return values
+
+ -
+
+
Set#SET_UNIT:
+TargetSetUnit: The target set of units.
+
+
+ -
+
+
#nil:
+If there are no targets to be set.
+
+
+
+
+
+
+-
+
TASK_A2A_DISPATCHER:GetFriendliesNearBy(DetectedItem)
@@ -482,7 +481,7 @@ The detection created by the Detectio
-
- Tasking.Mission#MISSION
+
TASK_A2A_DISPATCHER.Mission
@@ -606,34 +605,6 @@ The detection created by the Detectio
#boolean:
Return true if you want the task assigning to continue... false will cancel the loop.
-
-
-
--
-
- Set#SET_GROUP
-
-TASK_A2A_DISPATCHER.SetGroup
-
-
--
-
-
The groups to which the FAC will report to.
-
-
-
-
--
-
-
-
-TASK_A2A_DISPATCHER.Tasks
-
-
--
-
-
-
diff --git a/docs/Documentation/Task_A2G.html b/docs/Documentation/Task_A2G.html
index 78390c8c1..6590c6927 100644
--- a/docs/Documentation/Task_A2G.html
+++ b/docs/Documentation/Task_A2G.html
@@ -131,22 +131,6 @@ The TASK_A2G is implemented using a Stat
- TASK_A2G.SetPenaltyOnFailed(): Set a penalty when the A2G attack has failed.
-
-
-The #TASK_SEAD class defines a SEAD task for a Set of Target Units.
-
-
-
-
-
-The #TASK_CAS class defines a CAS task for a Set of Target Units.
-
-
-
-
-
-The #TASK_BAI class defines a BAI task for a Set of Target Units.
-
API CHANGE HISTORY
@@ -188,21 +172,27 @@ The TASK_A2G is implemented using a Stat
- | TASK_BAI |
+ TASK_A2G_BAI |
+
+ The TASKA2GBAI class defines an Battlefield Air Interdiction task for a human player to be executed.
|
- | TASK_CAS |
+ TASK_A2G_CAS |
+
+ The TASKA2GCAS class defines an Close Air Support task for a human player to be executed.
|
- | TASK_SEAD |
+ TASK_A2G_SEAD |
+
+ The TASKA2GSEAD class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.
|
@@ -300,66 +290,48 @@ The TASK_A2G is implemented using a Stat
-
+
-
+
-
+