MOOSE demonstration missions [skip ci]

This commit is contained in:
FlightControl-User
2019-03-17 07:48:56 +00:00
parent af153f4167
commit c023211edd
366 changed files with 165 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
---
-- Name: TAD-A2A-001 - A2A - AREAS detection test
-- Author: FlightControl
-- Date Created: 17 May 2017
--
-- # Situation:
--
-- This mission demonstrates the dynamic task dispatching for Air to Air operations.
-- Intruders are flying towards the EWR units.
-- The detection method used is the DETECTION_AREAS method, which groups detected targets per detected area.
--
-- # Test cases:
--
-- 1. Observe the EWR's detecting targets and grouping them.
-- 2. Check that the HQ provides menus to engage on a task set by the EWRs.
--
HQ = GROUP:FindByName( "HQ", "Bravo" )
CommandCenter = COMMANDCENTER:New( HQ, "Lima" )
Scoring = SCORING:New( "A2A Dispatching demo" )
Mission = MISSION
:New( CommandCenter, "A2A Mission", "High", "Watch the air enemy units being detected.", coalition.side.RED )
:AddScoring( Scoring )
EWRSet = SET_GROUP:New():FilterPrefixes( "EWR Red" ):FilterCoalitions("red"):FilterStart()
EWRDetection = DETECTION_AREAS:New( EWRSet, 30000 )
EWRDetection:SetFriendliesRange( 80000 )
EWRDetection:SetRefreshTimeInterval( 30 )
AttackGroups = SET_GROUP:New():FilterCoalitions( "red" ):FilterPrefixes( "Defender" ):FilterStart()
TaskDispatcher = TASK_A2A_DISPATCHER:New( Mission, AttackGroups, EWRDetection )
TaskDispatcher:SetRefreshTimeInterval( 10 )
AIDispatcher = AI_A2A_GCICAP:New( { "EWR Blue" } )
BlueTemplates = {
"Defender-1",
"Defender-2"
}
AIDispatcher:SetSquadron( "001", AIRBASE.Caucasus.Batumi, BlueTemplates, 20 )
AIDispatcher:SetSquadronGci( "001", 600, 800 )
AIDispatcher:SetSquadron( "002", AIRBASE.Caucasus.Senaki_Kolkhi, BlueTemplates, 20 )
AIDispatcher:SetSquadronGci( "002", 600, 800 )
AIDispatcher:SetSquadron( "003", AIRBASE.Caucasus.Kobuleti, BlueTemplates,20 )
AIDispatcher:SetSquadronGci( "003", 600, 800 )
AIDispatcher:SetSquadron( "004", AIRBASE.Caucasus.Kutaisi, BlueTemplates, 20 )
AIDispatcher:SetSquadronGci( "004", 600, 800 )
--- @param #TaskDispatcher self
-- @param From
-- @param Event
-- @param To
-- @param Tasking.Task_A2A#TASK_A2A Task
-- @param Wrapper.Unit#UNIT TaskUnit
-- @param #string PlayerName
function TaskDispatcher:OnAfterAssign( From, Event, To, Task, TaskUnit, PlayerName )
Task:SetScoreOnProgress( PlayerName, 20, TaskUnit )
Task:SetScoreOnSuccess( PlayerName, 200, TaskUnit )
Task:SetScoreOnFail( PlayerName, -100, TaskUnit )
end