From 27b18780f8bcfb81fe2601d0ca0a76c258f1cd3f Mon Sep 17 00:00:00 2001
From: FlightControl_Master
Date: Mon, 31 Jul 2017 12:35:37 +0200
Subject: [PATCH] Optimizations
---
.../Moose/AI/AI_A2A_Dispatcher.lua | 15 +++++---
.../Moose/Functional/Detection.lua | 4 +--
docs/Documentation/AI_A2A_Dispatcher.html | 15 +++++---
docs/Documentation/Detection.html | 3 +-
docs/Documentation/Fsm.html | 3 +-
docs/Documentation/Point.html | 1 -
docs/Documentation/Settings.html | 2 +-
docs/Documentation/Spawn.html | 34 ++++++-------------
docs/Documentation/SpawnStatic.html | 1 -
docs/Documentation/Task_Cargo.html | 2 +-
10 files changed, 38 insertions(+), 42 deletions(-)
diff --git a/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua b/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua
index da8a4b6ff..05a641400 100644
--- a/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua
+++ b/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua
@@ -663,7 +663,7 @@ do -- AI_A2A_DISPATCHER
--
-- ## 10.8. Default settings for GCI.
--
- -- ## 10.8.1. Optimal intercept point.
+ -- ## 10.8.1. Optimal intercept point calculation.
--
-- When intruders are detected, the intrusion path of the attackers can be monitored by the EWR.
-- Although defender planes might be on standby at the airbase, it can still take some time to get the defenses up in the air if there aren't any defenses airborne.
@@ -673,14 +673,21 @@ do -- AI_A2A_DISPATCHER
--
-- * The average bearing of the intruders for an amount of seconds.
-- * The average speed of the intruders for an amount of seconds.
- -- * The altitude of the intruders.
-- * An assumed time it takes to get planes operational at the airbase.
- -- * The intercept speed, which is given as a parameter for each squadron or set by default for all squadrons.
--
-- The **intercept point** will determine:
--
-- * If there are any friendlies close to engage the target. These can be defenders performing CAP or defenders in RTB.
- -- * The optimal airbase from where defenders will takeoff for gci.
+ -- * The optimal airbase from where defenders will takeoff for GCI.
+ --
+ -- Use the method @{#AI_A2A_DISPATCHER.SetIntercept}() to modify the assumed intercept delay time to calculate a valid interception.
+ --
+ -- ## 10.8.2. Default disengage radius.
+ --
+ -- The radius to **disengage any target** when the **distance** of the defender to the **home base** is larger than the specified meters.
+ -- The default disengage radius is **100km** (100000 meters). Note that the disengage radius is applicable to ALL squadrons!
+ --
+ -- Use the method @{#AI_A2A_DISPATCHER.SetDisengageRadius}() to modify the default disengage radius to another distance setting.
--
-- ## 11. Q & A:
--
diff --git a/Moose Development/Moose/Functional/Detection.lua b/Moose Development/Moose/Functional/Detection.lua
index de0c64258..2886f10bb 100644
--- a/Moose Development/Moose/Functional/Detection.lua
+++ b/Moose Development/Moose/Functional/Detection.lua
@@ -1180,12 +1180,12 @@ do -- DETECTION_BASE
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
local DetectedSet = ReportGroupData.DetectedItem.Set
local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT
- local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
DetectedItem.FriendliesNearBy = nil
if DetectedUnit then
+ local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local SphereSearch = {
id = world.VolumeType.SPHERE,
@@ -1204,8 +1204,8 @@ do -- DETECTION_BASE
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
local DetectedSet = ReportGroupData.DetectedItem.Set
local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT
- local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local DetectedUnitCoord = DetectedUnit:GetCoordinate()
+ local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnitCoord
local ReportSetGroup = ReportGroupData.ReportSetGroup
local EnemyCoalition = DetectedUnit:GetCoalition()
diff --git a/docs/Documentation/AI_A2A_Dispatcher.html b/docs/Documentation/AI_A2A_Dispatcher.html
index d8ce97b2a..96c4b44c2 100644
--- a/docs/Documentation/AI_A2A_Dispatcher.html
+++ b/docs/Documentation/AI_A2A_Dispatcher.html
@@ -1459,7 +1459,7 @@ Note that you can still change the CAP limit and CAP time intervals for each CAP
10.8. Default settings for GCI.
-10.8.1. Optimal intercept point.
+10.8.1. Optimal intercept point calculation.
When intruders are detected, the intrusion path of the attackers can be monitored by the EWR.
Although defender planes might be on standby at the airbase, it can still take some time to get the defenses up in the air if there aren't any defenses airborne.
@@ -1470,18 +1470,25 @@ This time can easily take 2 to 3 minutes, and even then the defenders still need
- The average bearing of the intruders for an amount of seconds.
- The average speed of the intruders for an amount of seconds.
- - The altitude of the intruders.
- An assumed time it takes to get planes operational at the airbase.
- - The intercept speed, which is given as a parameter for each squadron or set by default for all squadrons.
The intercept point will determine:
- If there are any friendlies close to engage the target. These can be defenders performing CAP or defenders in RTB.
- - The optimal airbase from where defenders will takeoff for gci.
+ - The optimal airbase from where defenders will takeoff for GCI.
+Use the method AIA2ADISPATCHER.SetIntercept() to modify the assumed intercept delay time to calculate a valid interception.
+
+10.8.2. Default disengage radius.
+
+The radius to disengage any target when the distance of the defender to the home base is larger than the specified meters.
+The default disengage radius is 100km (100000 meters). Note that the disengage radius is applicable to ALL squadrons!
+
+Use the method AIA2ADISPATCHER.SetDisengageRadius() to modify the default disengage radius to another distance setting.
+
11. Q & A:
11.1. Which countries will be selected for each coalition?
diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html
index f6e167593..f59a1a84a 100644
--- a/docs/Documentation/Detection.html
+++ b/docs/Documentation/Detection.html
@@ -2465,7 +2465,6 @@ The index of the DetectedItem.
-
- #number
DETECTION_BASE.DetectedItemMax
@@ -2631,7 +2630,7 @@ The group to generate the report for.
-
- #number
+
DETECTION_BASE.DetectionInterval
diff --git a/docs/Documentation/Fsm.html b/docs/Documentation/Fsm.html
index e0276d335..177f34281 100644
--- a/docs/Documentation/Fsm.html
+++ b/docs/Documentation/Fsm.html
@@ -1598,7 +1598,7 @@ A string defining the start state.
-
-
+ #string
FSM._StartState
@@ -1897,7 +1897,6 @@ A string defining the start state.
-
-
FSM.current
diff --git a/docs/Documentation/Point.html b/docs/Documentation/Point.html
index f561df108..864921e2a 100644
--- a/docs/Documentation/Point.html
+++ b/docs/Documentation/Point.html
@@ -2829,7 +2829,6 @@ The y coordinate.
-
-
POINT_VEC2.z
diff --git a/docs/Documentation/Settings.html b/docs/Documentation/Settings.html
index 6836574d8..318968720 100644
--- a/docs/Documentation/Settings.html
+++ b/docs/Documentation/Settings.html
@@ -1142,7 +1142,7 @@ true if metric.
-
- #boolean
+
SETTINGS.Metric
diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html
index 05a9cda85..0f27003d1 100644
--- a/docs/Documentation/Spawn.html
+++ b/docs/Documentation/Spawn.html
@@ -822,12 +822,6 @@ and any spaces before and after the resulting name are removed.
| SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle) |
- |
-
-
- | SPAWN.uncontrolled |
-
-
|
@@ -2200,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.
+
@@ -2749,6 +2746,9 @@ when nothing was spawned.
+
+ By default, no InitLimit
+
@@ -2784,7 +2784,7 @@ when nothing was spawned.
-
-
+ #number
SPAWN.SpawnMaxGroups
@@ -2801,7 +2801,7 @@ when nothing was spawned.
-
-
+ #number
SPAWN.SpawnMaxUnitsAlive
@@ -3129,7 +3129,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
-
-
+ #boolean
SPAWN.SpawnUnControlled
@@ -3153,7 +3153,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
-
When the first Spawn executes, all the Groups need to be made visible before start.
+ Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.
@@ -3733,20 +3733,6 @@ True = Continue Scheduler
-
-
-
--
-
-
-
-SPAWN.uncontrolled
-
-
--
-
-
-
diff --git a/docs/Documentation/SpawnStatic.html b/docs/Documentation/SpawnStatic.html
index d8aa5e633..bc91b9624 100644
--- a/docs/Documentation/SpawnStatic.html
+++ b/docs/Documentation/SpawnStatic.html
@@ -436,7 +436,6 @@ ptional) The name of the new static.
-
- #number
SPAWNSTATIC.SpawnIndex
diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html
index 743615651..cf19dab00 100644
--- a/docs/Documentation/Task_Cargo.html
+++ b/docs/Documentation/Task_Cargo.html
@@ -552,7 +552,7 @@ based on the tasking capabilities defined in Task#TA
-
-
+ Core.Cargo#CARGO_GROUP
FSM_PROCESS.Cargo