MOOSE demonstration missions [skip ci]

This commit is contained in:
FlightControl-User 2019-03-03 19:10:06 +00:00
parent f86f9b69f0
commit 649c38c8e9
363 changed files with 162 additions and 7 deletions

View File

@ -9,7 +9,7 @@ DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
Detection = DETECTION_AREAS:New( DetectionSetGroup, 5000 )
-- Setup the A2A dispatcher, and initialize it.
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
@ -17,18 +17,18 @@ A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
-- Add defense coordinates.
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
A2GDispatcher:SetDefenseReactivityMedium()
A2GDispatcher:SetDefenseReactivityHigh()
A2GDispatcher:SetDefenseRadius( 100000 )
A2GDispatcher:SetDefenseRadius( 200000 )
A2GDispatcher:SetTacticalDisplay( true )
-- Setup the squadrons.
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP KA-50" }, 10 )
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.25 )
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )

View File

@ -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, 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 )
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 )

View File

@ -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 )

View File

@ -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" )

View File

@ -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 )

Some files were not shown because too many files have changed in this diff Show More