diff --git a/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/MTS-300 - MANTIS - Advanced Mode Complex Example.lua b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/MTS-300 - MANTIS - Advanced Mode Complex Example.lua new file mode 100644 index 0000000000..5d278effda --- /dev/null +++ b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/MTS-300 - MANTIS - Advanced Mode Complex Example.lua @@ -0,0 +1,71 @@ +------------------------------------------------------------------------- +-- MTS-300 - MANTIS - Advanced Mode Complex Example +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/Functional.Mantis.html +-- +------------------------------------------------------------------------- +-- Observe a set of SAM sites being attacked by F18 SEAD and A10Cs. +-- HQ will be destroyed after 10 mins. +-- Watch the long an short range MANTIS in action, with the SA10 also using SHORAD for defense. +------------------------------------------------------------------------- +-- Date: 14 July 2021 + +-- Set up SHORAD +local redsamset = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes({"Red AAA","Red SA11","Red EWR"}):FilterStart() +local myredshorad = SHORAD:New("Gudata Shorad","Red Shorad",redsamset,12000,600,"red",false) -- Functional.Shorad#SHORAD +myredshorad:SetDefenseLimits(80,95) + +-- Short/Mid-Range SAM sites +local myredmantis = MANTIS:New("Gudauta AAA","Red AAA","Red EWR",nil,"red",true,"Red AWACS",false) +myredmantis:SetSAMRadius(25000) +myredmantis:SetSAMRange(85) +myredmantis:SetDetectInterval(20) +myredmantis:Start() + +-- Long-range SAM site, also linked to SHORAD +local myredsa10 = MANTIS:New("Gudauta SA10","Red SA11","Red EWR","Red HQ","red",true,"Red AWACS",false) +myredsa10:SetSAMRadius(UTILS.NMToMeters(40)) +myredsa10:SetSAMRange(90) +myredsa10:SetDetectInterval(20) +myredsa10:AddShorad(myredshorad,720) +myredsa10:SetAdvancedMode(true,90) +myredsa10:SetAutoRelocate(true,false) +--myredsa10:Debug(true) +myredsa10:Start() + +-- Using some "OnAfter..." events to shape the mission +function myredsa10:OnAfterShoradActivated(From, Event, To, Name, Radius, Ontime) + -- show some info + local m = MESSAGE:New(string.format("Mantis switched on Shorad for %s | Radius %d | OnTime %d", Name, Radius, Ontime),10,"Info"):ToAll() +end + +function myredsa10:OnAfterAdvStateChange(From, Event, To, Oldstate, Newstate, Interval) + -- show some info + local state = { [1] = "GREEN", [2] = "AMBER", [3] = "RED" } + local oldstate = state[Oldstate+1] + local newstate = state[Newstate+1] + local m = MESSAGE:New(string.format("Mantis switched Advanced from from %s to %s interval %dsec", oldstate, newstate, Interval),10,"Info"):ToAll() +end + +function myredsa10:OnAfterRedState(From, Event, To, Group) + -- show some info + local SamName = Group:GetName() + local m = MESSAGE:New(string.format("Mantis switched %s to RED state!", SamName),10,"Info"):ToAll() +end + +function myredsa10:OnAfterGreenState(From, Event, To, Group) + -- show some info + local SamName = Group:GetName() + local m = MESSAGE:New(string.format("Mantis switched %s to GREEN state!", SamName),10,"Info"):ToAll() +end + +-- Destroy HQ after 5 mins +function TerminateHQ() + local group = GROUP:FindByName("Red HQ") + group:Destroy() +end + +local desthqtimer = TIMER:New(TerminateHQ) +desthqtimer:Start(600) diff --git a/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/MTS-300 - MANTIS - Advanced Mode Complex Example.miz b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/MTS-300 - MANTIS - Advanced Mode Complex Example.miz new file mode 100644 index 0000000000..4f247de9d7 Binary files /dev/null and b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/MTS-300 - MANTIS - Advanced Mode Complex Example.miz differ diff --git a/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/pack.ps1 b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/pack.ps1 new file mode 100644 index 0000000000..bbac66e7c1 --- /dev/null +++ b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/pack.ps1 @@ -0,0 +1,10 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf + +$dir +$file + +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/unpack.ps1 b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/unpack.ps1 new file mode 100644 index 0000000000..c208a31858 --- /dev/null +++ b/MTS - Mantis/MTS-300 - MANTIS - Advanced Mode Complex Example/unpack.ps1 @@ -0,0 +1,7 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +Remove-Item .\_unpacked -Force -Recurse +md "_unpacked" +cd "_unpacked" +. 7z x -r -y "..\$file.miz" *