mirror of
https://github.com/FlightControl-Master/MOOSE_MISSIONS.git
synced 2026-08-31 07:44:23 +00:00
Restructuring of folder tree
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 5000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
+52
@@ -0,0 +1,52 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", "SEAD", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 300, 500, 50, 80, 250, 300 )
|
||||
A2GDispatcher:SetSquadronPatrolInterval( "Maykop SEAD", 2, 30, 60, 1, "SEAD" )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Maykop CAS", PatrolZone, 600, 700, 50, 80, 250, 300 )
|
||||
A2GDispatcher:SetSquadronPatrolInterval( "Maykop CAS", 2, 30, 60, 1, "CAS" )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBaiPatrol( "Maykop BAI", PatrolZone, 800, 900, 50, 80, 250, 300 )
|
||||
A2GDispatcher:SetSquadronPatrolInterval( "Maykop BAI", 2, 30, 60, 1, "BAI" )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
+52
@@ -0,0 +1,52 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
|
||||
CC = COMMANDCENTER:New( GROUP:FindByName("HQ"),"HQ")
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
A2GDispatcher:SetCommandCenter( CC )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
+52
@@ -0,0 +1,52 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
|
||||
CC = COMMANDCENTER:New( GROUP:FindByName("HQ"),"HQ")
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
A2GDispatcher:SetCommandCenter( CC )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
|
||||
CC = COMMANDCENTER:New( GROUP:FindByName( "HQ" ), "HQ" )
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
A2GDispatcher:SetCommandCenter( CC )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,50 @@
|
||||
--- Test the defense radius.
|
||||
-- Defenses should pickup targets within the defense radius, but not outside of it!
|
||||
-- Defenses should engage targets closer to the HQ with higher probability than targets at longer distance from the HQ.
|
||||
-- The tests are with SEAD only.
|
||||
-- Name: AID-A2G-003 - DefenseRadius
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 11 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the SEAD squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T SEAD" }, 10 )
|
||||
A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
A2GDispatcher:SetSquadronSeadPatrolInterval( "Maykop SEAD", 1, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffInAir( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
|
||||
-- Setup the CAS squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T CAS" }, 10 )
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Maykop CAS", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
A2GDispatcher:SetSquadronCasPatrolInterval( "Maykop CAS", 1, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffInAir( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
Binary file not shown.
+45
@@ -0,0 +1,45 @@
|
||||
--- Test the default engage limit.
|
||||
-- Defenses should engage enemy units, but not more defenses than the defense limit!
|
||||
-- Name: AID-A2G-110 - Default DefenseLimit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
-- This is the test, not more than 4 defenses in total should engage!
|
||||
A2GDispatcher:SetDefaultEngageLimit( 6 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T SEAD" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 250, 350 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrolInterval( "Maykop SEAD", 4, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffInAir( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,80 @@
|
||||
--- Test the communication system to other players.
|
||||
-- A command center will facilitate the A2G defenses communication to the players, who reporting to the same command center.
|
||||
-- The task system needs to be used to have this reporting facilitated.
|
||||
-- Name: AID-A2G-190 - Communication
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 11 Jan 2019
|
||||
|
||||
-- Define a command center that will communicate with the players.
|
||||
CC_Red = COMMANDCENTER:New( GROUP:FindByName( "HQ" ), "Command" )
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection_Red = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
AI_A2G_Dispatcher_Red = AI_A2G_DISPATCHER:New( Detection_Red )
|
||||
|
||||
|
||||
|
||||
|
||||
-- Add defense coordinates.
|
||||
AI_A2G_Dispatcher_Red:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
AI_A2G_Dispatcher_Red:SetDefenseReactivityHigh()
|
||||
|
||||
AI_A2G_Dispatcher_Red:SetDefenseRadius( 100000 )
|
||||
|
||||
-- This is the test, not more than 4 defenses in total should engage!
|
||||
AI_A2G_Dispatcher_Red:SetDefaultEngageLimit( 6 )
|
||||
|
||||
AI_A2G_Dispatcher_Red:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
-- SEAD
|
||||
AI_A2G_Dispatcher_Red:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP AI SU-25T SEAD #001", "CCCP AI SU-25T SEAD #002", "CCCP AI SU-25T SEAD #003" }, 10 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronSead( "Maykop SEAD", 600, 800 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
|
||||
-- CAS
|
||||
AI_A2G_Dispatcher_Red:SetSquadron( "Maykop CAS", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP AI SU-25T CAS" }, 10 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronCas( "Maykop CAS", 600, 800 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
|
||||
-- BAI
|
||||
AI_A2G_Dispatcher_Red:SetSquadron( "Maykop BAI", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP AI SU-25T BAI" }, 10 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronBai( "Maykop BAI", 600, 800 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
|
||||
|
||||
|
||||
|
||||
-- Now we setup the TASK A2G dispatcher, that will use the same detection system, as the AI A2G dispatcher!
|
||||
Mission_Red = MISSION:New( CC_Red, "Comms Demo", "Example", "This mission demonstrates the communications between the AI A2G dispatcher and the TASK A2G dispatcher to the involved players.", coalition.side.RED )
|
||||
Players_Red = SET_GROUP:New():FilterPrefixes( "CCCP Player" ):FilterStart()
|
||||
Task_A2G_Dispatcher_Red = TASK_A2G_DISPATCHER:New( Mission_Red, Players_Red, Detection_Red )
|
||||
Task_A2G_Dispatcher_Red:Start()
|
||||
|
||||
-- Here we set the command center, which will faciliate the communication to the Players_Red, using the same Detection_Red.
|
||||
AI_A2G_Dispatcher_Red:SetCommandCenter( CC_Red )
|
||||
|
||||
Binary file not shown.
+63
@@ -0,0 +1,63 @@
|
||||
--- Test the communication system to other players.
|
||||
-- A command center will facilitate the A2G defenses communication to the players, who reporting to the same command center.
|
||||
-- The task system needs to be used to have this reporting facilitated.
|
||||
--
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 20 Jan 2019
|
||||
|
||||
-- Define a command center that will communicate with the players.
|
||||
CC_Red = COMMANDCENTER:New( GROUP:FindByName( "HQ" ), "Command" )
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection_Red = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
AI_A2G_Dispatcher_Red = AI_A2G_DISPATCHER:New( Detection_Red )
|
||||
|
||||
|
||||
|
||||
|
||||
-- Add defense coordinates.
|
||||
AI_A2G_Dispatcher_Red:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
AI_A2G_Dispatcher_Red:SetDefenseReactivityHigh()
|
||||
|
||||
AI_A2G_Dispatcher_Red:SetDefenseRadius( 100000 )
|
||||
|
||||
-- This is the test, not more than 4 defenses in total should engage!
|
||||
AI_A2G_Dispatcher_Red:SetDefaultEngageLimit( 6 )
|
||||
|
||||
AI_A2G_Dispatcher_Red:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
-- SEAD
|
||||
AI_A2G_Dispatcher_Red:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP AI SU-25T SEAD #001", "CCCP AI SU-25T SEAD #002", "CCCP AI SU-25T SEAD #003" }, 10 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronSead( "Maykop SEAD", 600, 800 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
AI_A2G_Dispatcher_Red:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
|
||||
|
||||
-- Now we setup the TASK A2G dispatcher, that will use the same detection system, as the AI A2G dispatcher!
|
||||
Mission_Red = MISSION:New( CC_Red, "Comms Demo", "Example", "This mission demonstrates the communications between the AI A2G dispatcher and the TASK A2G dispatcher to the involved players.", coalition.side.RED )
|
||||
Players_Red = SET_GROUP:New():FilterPrefixes( "CCCP Player" ):FilterStart()
|
||||
Task_A2G_Dispatcher_Red = TASK_A2G_DISPATCHER:New( Mission_Red, Players_Red, Detection_Red )
|
||||
Task_A2G_Dispatcher_Red:Start()
|
||||
|
||||
-- Here we set the command center, which will faciliate the communication to the Players_Red, using the same Detection_Red.
|
||||
AI_A2G_Dispatcher_Red:SetCommandCenter( CC_Red )
|
||||
|
||||
BIN
Binary file not shown.
+42
@@ -0,0 +1,42 @@
|
||||
--- Test the default engage limit.
|
||||
-- Defenses should engage enemy units, but not more defenses than the defense limit!
|
||||
-- Name: AID-A2G-110 - Default DefenseLimit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T SEAD" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 250, 350 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrolInterval( "Maykop SEAD", 4, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingCold( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
--- Test the default engage limit.
|
||||
-- Defenses should engage enemy units, but not more defenses than the defense limit!
|
||||
-- Name: AID-A2G-110 - Default DefenseLimit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T SEAD" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 250, 350 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrolInterval( "Maykop SEAD", 4, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
Binary file not shown.
+45
@@ -0,0 +1,45 @@
|
||||
--- Test the default engage limit.
|
||||
-- Defenses should engage enemy units, but not more defenses than the defense limit!
|
||||
-- Name: AID-A2G-110 - Default DefenseLimit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
-- This is the test, not more than 4 defenses in total should engage!
|
||||
A2GDispatcher:SetDefaultEngageLimit( 6 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T SEAD" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 250, 350 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrolInterval( "Maykop SEAD", 4, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromRunway( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,45 @@
|
||||
--- Test the default engage limit.
|
||||
-- Defenses should engage enemy units, but not more defenses than the defense limit!
|
||||
-- Name: AID-A2G-110 - Default DefenseLimit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
-- This is the test, not more than 4 defenses in total should engage!
|
||||
A2GDispatcher:SetDefaultEngageLimit( 6 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T SEAD" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 250, 350 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrolInterval( "Maykop SEAD", 4, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronTakeoffInAir( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
Binary file not shown.
+48
@@ -0,0 +1,48 @@
|
||||
--- Test the default engage limit.
|
||||
-- Defenses should engage enemy units, but not more defenses than the defense limit!
|
||||
-- Name: AID-A2G-110 - Default DefenseLimit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New() -- Defene a set of group objects, caled DetectionSetGroup.
|
||||
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) -- The DetectionSetGroup will search for groups that start with the name "CCCP Recce".
|
||||
|
||||
-- This command will start the dynamic filtering, so when groups spawn in or are destroyed,
|
||||
-- which have a group name starting with "CCCP Recce", then these will be automatically added or removed from the set.
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
-- This command defines the reconnaissance network.
|
||||
-- It will group any detected ground enemy targets within a radius of 1km.
|
||||
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
-- This is the test, not more than 4 defenses in total should engage!
|
||||
A2GDispatcher:SetDefaultEngageLimit( 6 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Krymsk SEAD", AIRBASE.Caucasus.Krymsk, { "CCCP SEAD Su-30", "CCCP SEAD Su-25T", "CCCP SEAD Su-25TM", "CCCP SEAD Su-34" }, 20 )
|
||||
A2GDispatcher:SetSquadronSead( "Krymsk SEAD", 600, 800 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrol( "Krymsk SEAD", PatrolZone, 1000, 2500, 400, 600, 1100, 1500 )
|
||||
--A2GDispatcher:SetSquadronSeadPatrolInterval( "Krymsk SEAD", 4, 30, 60, 1 )
|
||||
A2GDispatcher:SetSquadronOverhead( "Krymsk SEAD", 0.2 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Krymsk SEAD" )
|
||||
A2GDispatcher:SetSquadronLandingAtEngineShutdown( "Krymsk SEAD" )
|
||||
|
||||
--A2GDispatcher:SetSquadronVisible( "Krymsk SEAD" )
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,31 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Sq34", "FARP CAS", { "Defender" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Sq34", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.25 )
|
||||
Binary file not shown.
+33
@@ -0,0 +1,33 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
A2GDispatcher:SetSquadron( "Sq34", "FARP CAS", { "Defender" }, 10 )
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Sq34", CASPatrolZone, 200, 500, 70, 100, 250, 300 )
|
||||
A2GDispatcher:SetSquadronCasPatrolInterval( "Sq34", 2, 30, 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.25 )
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,61 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
Detection:SetFriendliesRange( 20000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
-- Setup the squadron Sq34.
|
||||
A2GDispatcher:SetSquadron( "Sq34", AIRBASE.Caucasus.Vaziani, { "Defender Sq34" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for CAS from Vaziani.
|
||||
-- Attack speed between 1000 and 1500 km/h.
|
||||
-- Attack altitude between 4000 and 6000 meters.
|
||||
A2GDispatcher:SetSquadronCas( "Sq34", 1000, 1500, 4000, 6000 )
|
||||
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
|
||||
-- For every 2 targets, there will be one plane spawned, so we give a 0.5 value.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.5 )
|
||||
|
||||
|
||||
-- Setup the squadron Sq25.
|
||||
A2GDispatcher:SetSquadron( "Sq25", AIRBASE.Caucasus.Soganlug, { "Defender Sq25" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for CAS from Vaziani.
|
||||
-- No additional altitude and speed parameters are given, so the defaults are assigned.
|
||||
-- Default speed between 50% and 75% of the maximum speed of the units in the group.
|
||||
-- Default altitude is between 1000 and 1500 meters.
|
||||
A2GDispatcher:SetSquadronCas( "Sq25" )
|
||||
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq25" )
|
||||
|
||||
-- For every 2 targets, there will be one plane spawned, so we give a 0.5 value.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq25", 0.25 )
|
||||
Binary file not shown.
@@ -0,0 +1,45 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
Detection:SetFriendliesRange( 20000 )
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 250000 )
|
||||
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
|
||||
-- Setup the squadron Sq25.
|
||||
A2GDispatcher:SetSquadron( "Sq25", AIRBASE.Caucasus.Beslan, { "Defender" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for CAS from Beslan.
|
||||
-- No additional altitude and speed parameters are given, so the defaults are assigned.
|
||||
-- Default speed between 50% and 75% of the maximum speed of the units in the group.
|
||||
-- Default altitude is between 1000 and 1500 meters.
|
||||
A2GDispatcher:SetSquadronCas( "Sq25" )
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq25" )
|
||||
|
||||
-- For every 2 targets, there will be one plane spawned.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq25", 0.5 )
|
||||
Binary file not shown.
@@ -0,0 +1,45 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
--
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 23 Jan 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
Detection:SetFriendliesRange( 20000 )
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 250000 )
|
||||
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
|
||||
-- Setup the squadron Sq25.
|
||||
A2GDispatcher:SetSquadron( "Sq26", AIRBASE.Caucasus.Nalchik, { "Defender" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for CAS from Beslan.
|
||||
-- No additional altitude and speed parameters are given, so the defaults are assigned.
|
||||
-- Default speed between 50% and 75% of the maximum speed of the units in the group.
|
||||
-- Default altitude is between 1000 and 1500 meters.
|
||||
A2GDispatcher:SetSquadronCas( "Sq26" )
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq26" )
|
||||
|
||||
-- For every 2 targets, there will be one plane spawned.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq26", 0.20 )
|
||||
Binary file not shown.
+43
@@ -0,0 +1,43 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
|
||||
-- Setup the squadron Sq34.
|
||||
A2GDispatcher:SetSquadron( "Sq34", AIRBASE.Caucasus.Vaziani, { "Defender" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for patrol and CAS from Vaziani.
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Sq34", CASPatrolZone, 1500, 2500, 600, 800, 800, 1200 )
|
||||
|
||||
-- Maximum 6 units for patrol, with a spawn interval between 30 and 60 seconds.
|
||||
A2GDispatcher:SetSquadronCasPatrolInterval( "Sq34", 2, 30, 60 )
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
|
||||
-- For every 4 targets, there will be one plane spawned.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.25 )
|
||||
BIN
Binary file not shown.
+40
@@ -0,0 +1,40 @@
|
||||
-- Date Created: 09 Mar 2019
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
|
||||
-- Setup the squadron Sq34.
|
||||
A2GDispatcher:SetSquadron( "Sq34", AIRBASE.Caucasus.Vaziani, { "Defender" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for patrol and CAS from Vaziani.
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Sq34", CASPatrolZone, 1500, 2500, 600, 800, 800, 1200 )
|
||||
|
||||
-- Maximum 6 units for patrol, with a spawn interval between 30 and 60 seconds.
|
||||
--A2GDispatcher:SetSquadronCasPatrolInterval( "Sq34", 2, 30, 60 )
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
|
||||
-- For every 4 targets, there will be one plane spawned.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.25 )
|
||||
BIN
Binary file not shown.
+47
@@ -0,0 +1,47 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
|
||||
-- Setup the squadron Sq34 at Kutaisi, using template Defender for 10 units.
|
||||
A2GDispatcher:SetSquadron( "Sq34", AIRBASE.Caucasus.Kutaisi, { "Defender" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for patrol and CAS.
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Sq34", CASPatrolZone, 1500, 2500, 600, 800, 800, 1200 )
|
||||
|
||||
-- Maximum 2 units for patrol, with a spawn interval between 30 and 60 seconds.
|
||||
A2GDispatcher:SetSquadronCasPatrolInterval( "Sq34", 2, 30, 60 )
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
|
||||
-- For every 4 targets, there will be one plane spawned.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.25 )
|
||||
|
||||
-- Make planes visible before start ...
|
||||
A2GDispatcher:SetSquadronVisible( "Sq34" )
|
||||
|
||||
BIN
Binary file not shown.
+44
@@ -0,0 +1,44 @@
|
||||
-- Date Created: 09 Mar 2019
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
local CASPatrolZone = ZONE:New( "CASPatrolZone" )
|
||||
|
||||
-- Setup the squadron Sq34.
|
||||
A2GDispatcher:SetSquadron( "Sq34", AIRBASE.Caucasus.Vaziani, { "Defender" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for patrol and CAS from Vaziani.
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Sq34", CASPatrolZone, 1500, 2500, 600, 800, 800, 1200 )
|
||||
|
||||
-- Maximum 6 units for patrol, with a spawn interval between 30 and 60 seconds.
|
||||
--A2GDispatcher:SetSquadronCasPatrolInterval( "Sq34", 2, 30, 60 )
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
|
||||
-- For every 4 targets, there will be one plane spawned.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.25 )
|
||||
|
||||
A2GDispatcher:SetDefaultTanker( "Tanker" )
|
||||
A2GDispatcher:SetDefaultFuelThreshold( 0.9 )
|
||||
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,36 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 27 Jan 2019
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityMedium()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50 BAI" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250, 1000, 1500 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingCold( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- Wait for each helicopter to spawn about 4 minutes from cold start.
|
||||
-- So the FARP has 4 spots, that means every 60 seconds one helo.
|
||||
-- Otherwise the FARP will clutter.
|
||||
-- This will result in helicopters not guided properly by the dispatcher.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
Binary file not shown.
@@ -0,0 +1,61 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
--
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 23 Jan 2018
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 20000 )
|
||||
|
||||
Detection:SetFriendliesRange( 20000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
-- Setup the squadron Sq34.
|
||||
A2GDispatcher:SetSquadron( "Sq34", AIRBASE.Caucasus.Vaziani, { "Defender Sq34" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for SEAD from Vaziani.
|
||||
-- Attack speed between 1000 and 1500 km/h.
|
||||
-- Attack altitude between 4000 and 6000 meters.
|
||||
A2GDispatcher:SetSquadronSead( "Sq34", 600, 800, 4500, 6000 )
|
||||
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq34" )
|
||||
|
||||
-- For every 2 targets, there will be one plane spawned, so we give a 0.5 value.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq34", 0.5 )
|
||||
|
||||
|
||||
-- Setup the squadron Sq25.
|
||||
A2GDispatcher:SetSquadron( "Sq25", AIRBASE.Caucasus.Soganlug, { "Defender Sq25" }, 10 )
|
||||
|
||||
-- This will setup the squadron Sq34 for CAS from Vaziani.
|
||||
-- No additional altitude and speed parameters are given, so the defaults are assigned.
|
||||
-- Default speed between 50% and 75% of the maximum speed of the units in the group.
|
||||
-- Default altitude is between 1000 and 1500 meters.
|
||||
A2GDispatcher:SetSquadronCas( "Sq25" )
|
||||
|
||||
|
||||
-- Start from airbase hot.
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Sq25" )
|
||||
|
||||
-- For every 2 targets, there will be one plane spawned, so we give a 0.5 value.
|
||||
A2GDispatcher:SetSquadronOverhead( "Sq25", 0.25 )
|
||||
Binary file not shown.
+46
@@ -0,0 +1,46 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
|
||||
|
||||
local DetectionZones = SET_ZONE:New():FilterPrefixes( { "Detection Zone " } ):FilterOnce()
|
||||
|
||||
Detection = DETECTION_ZONES:New( DetectionZones, coalition.side.BLUE )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
+48
@@ -0,0 +1,48 @@
|
||||
--- Detect and attack a set of enemy units using helicopters.
|
||||
-- Name: AID-A2G-001 - Detection and Attack Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Nov 2018
|
||||
|
||||
|
||||
|
||||
local DetectionZones = SET_ZONE:New():FilterPrefixes( { "Detection Zone " } ):FilterOnce()
|
||||
|
||||
Detection = DETECTION_ZONES:New( DetectionZones, coalition.side.BLUE )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 200000 )
|
||||
|
||||
A2GDispatcher:SetDefenseLimit( 1 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( true )
|
||||
|
||||
-- Setup the squadrons.
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
|
||||
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
+60
@@ -0,0 +1,60 @@
|
||||
--- Sound check using patrol and engage for helicopters.
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 14 Sep 2019
|
||||
|
||||
-- Define a SET_GROUP object that builds a collection of groups that define the recce network.
|
||||
-- Here we build the network with all the groups that have a name starting with CCCP Recce.
|
||||
DetectionSetGroup = SET_GROUP:New()
|
||||
DetectionSetGroup:FilterPrefixes( { "US Recce" } )
|
||||
DetectionSetGroup:FilterStart()
|
||||
|
||||
CCGroup = GROUP:FindByName( "HQ" )
|
||||
CC = COMMANDCENTER:New( CCGroup, "HQ" )
|
||||
|
||||
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
|
||||
|
||||
-- Setup the A2A dispatcher, and initialize it.
|
||||
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
|
||||
|
||||
A2GDispatcher:SetCommandCenter( CC )
|
||||
A2GDispatcher:SetTacticalMenu( "Dispatchers", "A2G Tactical Situation" )
|
||||
|
||||
-- Add defense coordinates.
|
||||
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
|
||||
|
||||
A2GDispatcher:SetDefenseReactivityHigh()
|
||||
|
||||
A2GDispatcher:SetDefenseRadius( 100000 )
|
||||
|
||||
A2GDispatcher:SetTacticalDisplay( false )
|
||||
|
||||
local PatrolZone = ZONE:New( "PatrolZone" )
|
||||
|
||||
-- Setup the squadrons.
|
||||
A2GDispatcher:SetSquadron( "Maykop SEAD", "SEAD", { "US KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronSeadPatrol( "Maykop SEAD", PatrolZone, 300, 500, 50, 80, 250, 300 )
|
||||
A2GDispatcher:SetSquadronPatrolInterval( "Maykop SEAD", 2, 30, 60, 1, "SEAD" )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.25 )
|
||||
A2GDispatcher:SetSquadronRadioFrequency( "Maykop SEAD", 124 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "US KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronCasPatrol( "Maykop CAS", PatrolZone, 600, 700, 50, 80, 250, 300 )
|
||||
A2GDispatcher:SetSquadronPatrolInterval( "Maykop CAS", 2, 30, 60, 1, "CAS" )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
|
||||
A2GDispatcher:SetSquadronRadioFrequency( "Maykop CAS", 126 )
|
||||
|
||||
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "US KA-50" }, 10 )
|
||||
A2GDispatcher:SetSquadronBaiPatrol( "Maykop BAI", PatrolZone, 800, 900, 50, 80, 250, 300 )
|
||||
A2GDispatcher:SetSquadronPatrolInterval( "Maykop BAI", 2, 30, 60, 1, "BAI" )
|
||||
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
|
||||
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
|
||||
A2GDispatcher:SetSquadronRadioFrequency( "Maykop BAI", 128 )
|
||||
|
||||
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
|
||||
-- This to prevent helicopters to clutter.
|
||||
-- Each helicopter group is taking off the FARP in hot start.
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
|
||||
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )
|
||||
BIN
Binary file not shown.
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
Recce_Blue = SET_GROUP:New():FilterPrefixes( "RECCE" ):FilterStart()
|
||||
|
||||
Detection_Blue = DETECTION_AREAS:New( Recce_Blue, 3000 )
|
||||
|
||||
A2G_Blue = AI_A2G_DISPATCHER:New(Detection_Blue)
|
||||
|
||||
A2G_Blue:SetTacticalDisplay( true ) -- set on using true as a parameter
|
||||
|
||||
DefenseCoordinate = GROUP:FindByName( "COMMAND" ):GetCoordinate()
|
||||
|
||||
A2G_Blue:AddDefenseCoordinate( "Defense Point", DefenseCoordinate )
|
||||
A2G_Blue:SetDefenseRadius( 200000 ) -- in meters
|
||||
A2G_Blue:SetDefenseReactivityHigh() -- we engage almost immediately
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-1", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-AH-64D-ROCKETS", "A2G-DEFENSE-AH-64D-HELLFIRES" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-1", 200, 280, 160, 500 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-1", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-1" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-1", 0.25 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-2", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-AH-SU-25T-SEAD" }, 6 )
|
||||
A2G_Blue:SetSquadronSead( "SQ-2", 600, 900, 1000, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-2", 2000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-2" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-2", 0.5 )
|
||||
|
||||
|
||||
BIN
Binary file not shown.
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
Recce_Blue = SET_GROUP:New():FilterPrefixes( "RECCE" ):FilterStart()
|
||||
|
||||
Detection_Blue = DETECTION_AREAS:New( Recce_Blue, 3000 )
|
||||
|
||||
A2G_Blue = AI_A2G_DISPATCHER:New(Detection_Blue)
|
||||
|
||||
A2G_Blue:SetTacticalDisplay( true ) -- set on using true as a parameter
|
||||
|
||||
DefenseCoordinate = GROUP:FindByName( "COMMAND" ):GetCoordinate()
|
||||
|
||||
A2G_Blue:AddDefenseCoordinate( "Defense Point", DefenseCoordinate )
|
||||
A2G_Blue:SetDefenseRadius( 200000 ) -- in meters
|
||||
A2G_Blue:SetDefenseReactivityHigh() -- we engage almost immediately
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-1", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-AH-64D-ROCKETS", "A2G-DEFENSE-AH-64D-HELLFIRES" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-1", 200, 280, 160, 500 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-1", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-1" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-1", 0.25 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-2", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-AH-SU-25T-SEAD" }, 6 )
|
||||
A2G_Blue:SetSquadronSead( "SQ-2", 600, 900, 1000, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-2", 2000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-2" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-2", 0.5 )
|
||||
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
|
||||
Recce_Blue = SET_GROUP:New():FilterPrefixes( "RECCE" ):FilterStart()
|
||||
|
||||
Detection_Blue = DETECTION_AREAS:New( Recce_Blue, 3000 )
|
||||
|
||||
A2G_Blue = AI_A2G_DISPATCHER:New(Detection_Blue)
|
||||
|
||||
A2G_Blue:SetTacticalDisplay( true ) -- set on using true as a parameter
|
||||
|
||||
A2G_Blue:AddDefenseCoordinate( "Command", GROUP:FindByName( "COMMAND" ):GetCoordinate() )
|
||||
A2G_Blue:AddDefenseCoordinate( "Home", GROUP:FindByName( "HOME" ):GetCoordinate() )
|
||||
|
||||
|
||||
A2G_Blue:SetDefenseRadius( 200000 ) -- in meters
|
||||
A2G_Blue:SetDefenseReactivityHigh() -- we engage almost immediately
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-1", AIRBASE.Caucasus.Senaki_Kolkhi, { "A2G-DEFENSE-HELO-001", "A2G-DEFENSE-HELO-002", "A2G-DEFENSE-HELO-003" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-1", 200, 280, 160, 500 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-1", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-1" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-1", 0.25 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-2", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-SU-25T-SEAD" }, 10 )
|
||||
A2G_Blue:SetSquadronSead( "SQ-2", 600, 900, 1000, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffFromParkingHot( "SQ-2" ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingAtRunway( "SQ-2" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-2", 0.5 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-3", AIRBASE.Caucasus.Kobuleti, { "A2G-DEFENSE-AJS37-CAS" }, 6 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-3", 600, 900, 1000, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffFromParkingHot( "SQ-3" ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingAtRunway( "SQ-3" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-3", 0.5 )
|
||||
A2G_Blue:SetSquadronBaiPatrol( "SQ-3", ZONE:New( "PatrolZone" ), 2000, 3000, 600, 800, 1000, 1400 )
|
||||
A2G_Blue:SetSquadronPatrolInterval( "SQ-3", 4, 30, 60, 1, "BAI" )
|
||||
BIN
Binary file not shown.
+44
@@ -0,0 +1,44 @@
|
||||
|
||||
Recce_Blue = SET_GROUP:New():FilterPrefixes( "RECCE" ):FilterStart()
|
||||
|
||||
Detection_Blue = DETECTION_AREAS:New( Recce_Blue, 3000 )
|
||||
|
||||
A2G_Blue = AI_A2G_DISPATCHER:New(Detection_Blue)
|
||||
|
||||
A2G_Blue:SetTacticalDisplay( true ) -- set on using true as a parameter
|
||||
|
||||
A2G_Blue:AddDefenseCoordinate( "Command", GROUP:FindByName( "COMMAND" ):GetCoordinate() )
|
||||
A2G_Blue:AddDefenseCoordinate( "Home", GROUP:FindByName( "HOME" ):GetCoordinate() )
|
||||
|
||||
|
||||
A2G_Blue:SetDefenseRadius( 350000 ) -- in meters
|
||||
A2G_Blue:SetDefenseReactivityMedium() -- we engage almost immediately
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-1", AIRBASE.Caucasus.Senaki_Kolkhi, { "A2G-DEFENSE-HELO-001", "A2G-DEFENSE-HELO-002", "A2G-DEFENSE-HELO-003" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-1", 200, 280, 160, 500 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-1", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-1" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-1", 0.5 )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-1", 4 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-HELO", AIRBASE.Caucasus.Sukhumi_Babushara, { "A2G-DEFENSE-HELO-004", "A2G-DEFENSE-HELO-005", "A2G-DEFENSE-HELO-006" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-HELO", 200, 280, 1500, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-HELO", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-HELO" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-HELO", 0.75 )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-HELO", 4 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-2", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-SU-25T-SEAD" }, 10 )
|
||||
A2G_Blue:SetSquadronSead( "SQ-2", 700, 1100, 2500, 4000 )
|
||||
A2G_Blue:SetSquadronTakeoffFromParkingHot( "SQ-2" ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingAtRunway( "SQ-2" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-2", 0.5 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-AIR", AIRBASE.Caucasus.Kobuleti, { "A2G-DEFENSE-A-10C-CAS" }, 6 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-AIR", 600, 900, 1000, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffFromParkingHot( "SQ-AIR" ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingAtRunway( "SQ-AIR" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-AIR", 0.75 )
|
||||
A2G_Blue:SetSquadronBaiPatrol( "SQ-AIR", ZONE:New( "PatrolZone" ), 2000, 3000, 600, 800, 1000, 1400 )
|
||||
A2G_Blue:SetSquadronPatrolInterval( "SQ-AIR", 4, 30, 60, 1, "BAI" )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-AIR", 4 )
|
||||
BIN
Binary file not shown.
+56
@@ -0,0 +1,56 @@
|
||||
|
||||
Recce_Blue = SET_GROUP:New():FilterPrefixes( "RECCE" ):FilterStart()
|
||||
|
||||
Detection_Blue = DETECTION_AREAS:New( Recce_Blue, 3000 )
|
||||
|
||||
A2G_Blue = AI_A2G_DISPATCHER:New(Detection_Blue)
|
||||
|
||||
A2G_Blue:SetTacticalDisplay( true ) -- set on using true as a parameter
|
||||
|
||||
A2G_Blue:AddDefenseCoordinate( "Command", GROUP:FindByName( "COMMAND" ):GetCoordinate() )
|
||||
A2G_Blue:AddDefenseCoordinate( "Home", GROUP:FindByName( "HOME" ):GetCoordinate() )
|
||||
|
||||
|
||||
A2G_Blue:SetDefenseRadius( 350000 ) -- in meters
|
||||
A2G_Blue:SetDefenseReactivityMedium() -- we engage almost immediately
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-HELO-BAI-1", AIRBASE.Caucasus.Senaki_Kolkhi, { "A2G-DEFENSE-HELO-001", "A2G-DEFENSE-HELO-002", "A2G-DEFENSE-HELO-003" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-HELO-BAI-1", 200, 280, 160, 500 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-HELO-BAI-1", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-HELO-BAI-1" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-HELO-BAI-1", 0.5 )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-HELO-BAI-1", 4 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-HELO-BAI-2", AIRBASE.Caucasus.Sukhumi_Babushara, { "A2G-DEFENSE-HELO-004", "A2G-DEFENSE-HELO-005", "A2G-DEFENSE-HELO-006" }, 20 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-HELO-BAI-2", 200, 280, 1500, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffInAir( "SQ-HELO-BAI-2", 1000 ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingNearAirbase( "SQ-HELO-BAI-2" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-HELO-BAI-2", 0.75 )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-HELO-BAI-2", 4 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-SEAD", AIRBASE.Caucasus.Gudauta, { "A2G-DEFENSE-SU-25T-SEAD" }, 10 )
|
||||
A2G_Blue:SetSquadronSead( "SQ-SEAD", 700, 1100, 2500, 4000 )
|
||||
A2G_Blue:SetSquadronTakeoffFromParkingHot( "SQ-SEAD" ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingAtRunway( "SQ-SEAD" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-SEAD", 1 )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-SEAD", 2 )
|
||||
|
||||
A2G_Blue:SetSquadron( "SQ-AIR-BAI", AIRBASE.Caucasus.Kobuleti, { "A2G-DEFENSE-A-10C" }, 6 )
|
||||
A2G_Blue:SetSquadronBai( "SQ-AIR-BAI", 600, 900, 1000, 2000 )
|
||||
A2G_Blue:SetSquadronTakeoffFromParkingHot( "SQ-AIR-BAI" ) -- altitude in meters when spawning in the air.
|
||||
A2G_Blue:SetSquadronLandingAtRunway( "SQ-AIR-BAI" )
|
||||
A2G_Blue:SetSquadronOverhead( "SQ-AIR-BAI", 0.75 )
|
||||
A2G_Blue:SetSquadronBaiPatrol( "SQ-AIR-BAI", ZONE:New( "PatrolZone" ), 2000, 3000, 600, 800, 1000, 1400 )
|
||||
A2G_Blue:SetSquadronPatrolInterval( "SQ-AIR-BAI", 4, 30, 60, 1, "BAI" )
|
||||
A2G_Blue:SetSquadronGrouping( "SQ-AIR-BAI", 4 )
|
||||
|
||||
|
||||
-- A2G task dispatcher
|
||||
|
||||
Command_Blue = COMMANDCENTER:New( GROUP:FindByName( "NATO HQ" ), "NATO HQ" )
|
||||
|
||||
Mission_Blue = MISSION:New( Command_Blue, "Invasion", "High", "Eliminate 5 targets", coalition.side.BLUE )
|
||||
|
||||
Players_Blue = SET_GROUP:New():FilterPrefixes( { "NATO Player" } ):FilterStart()
|
||||
|
||||
A2G_Task_Blue = TASK_A2G_DISPATCHER:New( Mission_Blue, Players_Blue, Detection_Blue )
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user