From b21cd0c0aeb1dab741461e7896ea6054a6078db5 Mon Sep 17 00:00:00 2001
From: FlightControl_Master
Date: Sat, 15 Jul 2017 09:07:16 +0200
Subject: [PATCH] AI_A2A_DISPATCHER and AI_A2A_GCICAP optimizations
-- Optimized takeoff height when airplanes spawn in the air.
-- Optimized helicopters to be included in detections.
-- Updated documentation.
---
.../Moose/AI/AI_A2A_Dispatcher.lua | 95 ++++++++-----------
Moose Development/Moose/Functional/Spawn.lua | 2 +-
docs/Documentation/AI_Patrol.html | 3 -
docs/Documentation/Cargo.html | 1 -
docs/Documentation/Designate.html | 1 +
docs/Documentation/Point.html | 10 +-
docs/Documentation/Positionable.html | 1 +
docs/Documentation/SpawnStatic.html | 1 +
docs/Documentation/Spot.html | 4 -
docs/Documentation/Task_Cargo.html | 3 +-
10 files changed, 53 insertions(+), 68 deletions(-)
diff --git a/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua b/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua
index b94d9bb9f..d6052df3c 100644
--- a/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua
+++ b/Moose Development/Moose/AI/AI_A2A_Dispatcher.lua
@@ -27,6 +27,24 @@ do -- AI_A2A_DISPATCHER
--
-- The @{#AI_A2A_DISPATCHER} class is designed to create an automatic air defence system for a coalition.
--
+ -- ====
+ --
+ -- # Demo Mission
+ --
+ -- ### [AI\_A2A\_DISPATCHER Demo Mission](https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/release-2-2-pre/AID%20-%20AI%20Dispatching/AID-100%20-%20AI_A2A%20-%20Demonstration)
+ --
+ -- ### [AI\_A2A\_DISPATCHER Mission, only for beta testers](https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/master/AID%20-%20AI%20Dispatching/AID-100%20-%20AI_A2A%20-%20Demonstration)
+ --
+ -- ### [ALL Demo Missions pack of the last release](https://github.com/FlightControl-Master/MOOSE_MISSIONS/releases)
+ --
+ -- ====
+ --
+ -- # YouTube Channel
+ --
+ -- ### [---]()
+ --
+ -- ===
+ --
-- 
--
-- It includes automatic spawning of Combat Air Patrol aircraft (CAP) and Ground Controlled Intercept aircraft (GCI) in response to enemy air movements that are detected by a ground based radar network.
@@ -570,7 +588,7 @@ do -- AI_A2A_DISPATCHER
self.DefenderTasks = {} -- The Defenders Tasks.
-- TODO: Check detection through radar.
- self.Detection:FilterCategories( Unit.Category.AIRPLANE, Unit.Category.HELICOPTER )
+ self.Detection:FilterCategories( { Unit.Category.AIRPLANE, Unit.Category.HELICOPTER } )
--self.Detection:InitDetectRadar( true )
self.Detection:SetDetectionInterval( 30 )
@@ -1640,7 +1658,7 @@ do -- AI_A2A_DISPATCHER
if Cap then
- local Spawn = DefenderSquadron.Spawn[ math.random( 1, #DefenderSquadron.Spawn ) ]
+ local Spawn = DefenderSquadron.Spawn[ math.random( 1, #DefenderSquadron.Spawn ) ] -- Functional.Spawn#SPAWN
Spawn:InitGrouping( DefenderSquadron.Grouping )
local TakeoffMethod = self:GetSquadronTakeoff( SquadronName )
@@ -2093,6 +2111,24 @@ do
-- The AI_A2A_GCICAP class is designed to create an automatic air defence system for a coalition setting up GCI and CAP air defenses.
-- The class derives from @{AI#AI_A2A_DISPATCHER} and thus all the methods that are defined in this class, can be used also in AI\_A2A\_GCICAP.
--
+ -- ====
+ --
+ -- # Demo Mission
+ --
+ -- ### [AI\_A2A\_GCICAP Demo Mission](https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/release-2-2-pre/AID%20-%20AI%20Dispatching/AID-200%20-%20AI_A2A%20-%20GCICAP%20Demonstration)
+ --
+ -- ### [AI\_A2A\_GCICAP Mission, only for beta testers](https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/master/AID%20-%20AI%20Dispatching/AID-200%20-%20AI_A2A%20-%20GCICAP%20Demonstration)
+ --
+ -- ### [ALL Demo Missions pack of the last release](https://github.com/FlightControl-Master/MOOSE_MISSIONS/releases)
+ --
+ -- ====
+ --
+ -- # YouTube Channel
+ --
+ -- ### [---]()
+ --
+ -- ===
+ --
-- 
--
-- AI_A2A_GCICAP includes automatic spawning of Combat Air Patrol aircraft (CAP) and Ground Controlled Intercept aircraft (GCI) in response to enemy
@@ -2139,7 +2175,7 @@ do
-- ### 1.3) Place Airplane or Helicopter Groups with late activation switched on
--
-- These are **templates**, with a given name starting with **a Template prefix** above each airbase that you wanna have a squadron.
- -- These **templates** need to be within 10km from the airbase center. They don't need to have a slot at the airplane, they can just be positioned above the airbase,
+ -- These **templates** need to be within 1.5km from the airbase center. They don't need to have a slot at the airplane, they can just be positioned above the airbase,
-- without a route, and should only have ONE unit.
--
-- ### 1.4) Place floating helicopters to create the CAP zones.
@@ -2272,7 +2308,7 @@ do
local Airbase = _DATABASE:FindAirbase( AirbaseName ) -- Wrapper.Airbase#AIRBASE
local AirbaseName = Airbase:GetName()
local AirbaseCoord = Airbase:GetCoordinate()
- local AirbaseZone = ZONE_RADIUS:New( "Airbase", AirbaseCoord:GetVec2(), 10000 )
+ local AirbaseZone = ZONE_RADIUS:New( "Airbase", AirbaseCoord:GetVec2(), 1500 )
local Templates = nil
for TemplateID, Template in pairs( self.Templates:GetSet() ) do
local Template = Template -- Wrapper.Group#GROUP
@@ -2330,57 +2366,6 @@ do
end
end
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
self:__Start( 5 )
return self
diff --git a/Moose Development/Moose/Functional/Spawn.lua b/Moose Development/Moose/Functional/Spawn.lua
index 8ad718194..48af8bf46 100644
--- a/Moose Development/Moose/Functional/Spawn.lua
+++ b/Moose Development/Moose/Functional/Spawn.lua
@@ -1025,7 +1025,7 @@ function SPAWN:SpawnAtAirbase( Airbase, Takeoff ) -- R2.2
SpawnTemplate.route.points[1].x = PointVec3.x
SpawnTemplate.route.points[1].y = PointVec3.z
- SpawnTemplate.route.points[1].alt = Airbase.y
+ SpawnTemplate.route.points[1].alt = PointVec3.y + 200
SpawnTemplate.route.points[1].type = GROUPTEMPLATE.Takeoff[Takeoff]
SpawnTemplate.route.points[1].airdromeId = Airbase:GetID()
diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html
index 43392b308..93a9f8ce6 100644
--- a/docs/Documentation/AI_Patrol.html
+++ b/docs/Documentation/AI_Patrol.html
@@ -926,9 +926,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 fe4a4263b..9f6098452 100644
--- a/docs/Documentation/Cargo.html
+++ b/docs/Documentation/Cargo.html
@@ -3542,7 +3542,6 @@ The range till cargo will board.
-
- #number
CARGO_UNIT.RunCount
diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html
index c0c7ee573..70e3562df 100644
--- a/docs/Documentation/Designate.html
+++ b/docs/Documentation/Designate.html
@@ -900,6 +900,7 @@ function below will use the range 1-7 just in case
-
+
DESIGNATE.LaserCodes
diff --git a/docs/Documentation/Point.html b/docs/Documentation/Point.html
index c9a6550f1..f561df108 100644
--- a/docs/Documentation/Point.html
+++ b/docs/Documentation/Point.html
@@ -390,7 +390,7 @@
- | COORDINATE:ToString(Controllable, Settings) |
+ COORDINATE:ToString(Controllable, Settings, Task) |
Provides a coordinate string of the point, based on a coordinate format system:
* Uses default settings in COORDINATE.
@@ -1973,7 +1973,7 @@ The route point.
-
-COORDINATE:ToString(Controllable, Settings)
+COORDINATE:ToString(Controllable, Settings, Task)
-
@@ -1997,6 +1997,12 @@ The route point.
Core.Settings#SETTINGS Settings :
+
+ -
+
+
Tasking.Task#TASK Task :
+The task for which coordinates need to be calculated.
+
Return value
diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html
index 78befb2bf..82d94f58f 100644
--- a/docs/Documentation/Positionable.html
+++ b/docs/Documentation/Positionable.html
@@ -1838,6 +1838,7 @@ self
-
+ Core.Spot#SPOT
POSITIONABLE.Spot
diff --git a/docs/Documentation/SpawnStatic.html b/docs/Documentation/SpawnStatic.html
index bc91b9624..d8aa5e633 100644
--- a/docs/Documentation/SpawnStatic.html
+++ b/docs/Documentation/SpawnStatic.html
@@ -436,6 +436,7 @@ ptional) The name of the new static.
-
+ #number
SPAWNSTATIC.SpawnIndex
diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html
index 5fdc3b305..ead3792db 100644
--- a/docs/Documentation/Spot.html
+++ b/docs/Documentation/Spot.html
@@ -765,7 +765,6 @@ true if it is lasing
-
-
SPOT.ScheduleID
@@ -779,7 +778,6 @@ true if it is lasing
-
-
SPOT.SpotIR
@@ -793,7 +791,6 @@ true if it is lasing
-
-
SPOT.SpotLaser
@@ -807,7 +804,6 @@ true if it is lasing
-
-
SPOT.Target
diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html
index bb3b9bca1..743615651 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
+
FSM_PROCESS.Cargo
@@ -566,7 +566,6 @@ based on the tasking capabilities defined in Task#TA
-
-
FSM_PROCESS.DeployZone
|