diff --git a/MTS - Mantis/MTS-010 - Basic Mantis Demo/MTS-010 - Basic Mantis Demo.lua b/MTS - Mantis/MTS-010 - Basic Mantis Demo/MTS-010 - Basic Mantis Demo.lua new file mode 100644 index 0000000000..b3fd78c726 --- /dev/null +++ b/MTS - Mantis/MTS-010 - Basic Mantis Demo/MTS-010 - Basic Mantis Demo.lua @@ -0,0 +1,16 @@ +-- +-- #MANTIS +-- Moose derived Modular, Automatic and Network capable Targeting and Interception System. +-- Controls a network of SAM sites. Use detection to switch on the AA site closest to the enemy. +-- Leverage evasiveness from @{Functional.Sead#SEAD}. +-- Leverage attack range setup added by DCS in 11/20. +-- @usage +-- Set up your SAM sites in the mission editor. Name the groups with common prefix like "Red SAM". +-- Set up your EWR system in the mission editor. Name the groups with common prefix like "Red EWR". Can be e.g. AWACS or a combination of AWACS and Search Radars like e.g. EWR 1L13 etc. +-- [optional] Set up your HQ. Can be any group, e.g. a command vehicle. +-- +-- Start up your MANTIS +-- +myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR",nil,"red",false) + +myredmantis:Start() diff --git a/MTS - Mantis/MTS-010 - Basic Mantis Demo/MTS-010 - Basic Mantis Demo.miz b/MTS - Mantis/MTS-010 - Basic Mantis Demo/MTS-010 - Basic Mantis Demo.miz new file mode 100644 index 0000000000..d5ccac0bba Binary files /dev/null and b/MTS - Mantis/MTS-010 - Basic Mantis Demo/MTS-010 - Basic Mantis Demo.miz differ diff --git a/MTS - Mantis/MTS-010 - Basic Mantis Demo/pack.ps1 b/MTS - Mantis/MTS-010 - Basic Mantis Demo/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/MTS - Mantis/MTS-010 - Basic Mantis Demo/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-010 - Basic Mantis Demo/unpack.ps1 b/MTS - Mantis/MTS-010 - Basic Mantis Demo/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/MTS - Mantis/MTS-010 - Basic Mantis Demo/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" * diff --git a/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/MTS-100 - Autorelocate HQ and EWR.lua b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/MTS-100 - Autorelocate HQ and EWR.lua new file mode 100644 index 0000000000..cdf7f3efbe --- /dev/null +++ b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/MTS-100 - Autorelocate HQ and EWR.lua @@ -0,0 +1,23 @@ +------------------------------------------------------------------------- +-- MTS-100 - MANTIS - Autorelocate HQ and EWR +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/Functional.Mantis.html +-- +-- Note: As of Dec/20, MANTIS is WIP. Needs a recent build of Moose.lua > 16 Dec 20 +-- for CONTROLLABLE:RelocateGroundRandomInRadius() to be available +-- https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/CONTROLLABLE.RelocateGroundRandomInRadius.html +------------------------------------------------------------------------- +-- Observe a set of SAM sites being attacked by F18 SEAD, A10 and Helicopters. +-- HQ and EWR will randomly relocate between 30 and 60 mins +-- The SA 11 Radar will only relocate if not detected units are in range +------------------------------------------------------------------------- +-- Date: 17 Dec 2020 +------------------------------------------------------------------------- + +myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR","Red HQ","red",false) +myredmantis:SetAutoRelocate(true, true) -- make HQ and EWR relocatable, if they are actually mobile in DCS! +myredmantis:Debug(false) +myredmantis.verbose = true +myredmantis:Start() \ No newline at end of file diff --git a/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/MTS-100 - Autorelocate HQ and EWR.miz b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/MTS-100 - Autorelocate HQ and EWR.miz new file mode 100644 index 0000000000..5997ea1386 Binary files /dev/null and b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/MTS-100 - Autorelocate HQ and EWR.miz differ diff --git a/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/pack.ps1 b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/unpack.ps1 b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/MTS - Mantis/MTS-100 - Autorelocate HQ and EWR/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" * diff --git a/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/MTS-100 - Blue Autorelocate HQ and EWR.lua b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/MTS-100 - Blue Autorelocate HQ and EWR.lua new file mode 100644 index 0000000000..baf38d3047 --- /dev/null +++ b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/MTS-100 - Blue Autorelocate HQ and EWR.lua @@ -0,0 +1,23 @@ +------------------------------------------------------------------------- +-- MTS-100 - MANTIS - Autorelocate HQ and EWR +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/Functional.Mantis.html +-- +-- Note: As of Dec/20, MANTIS is WIP. Needs a recent build of Moose.lua > 16 Dec 20 +-- for CONTROLLABLE:RelocateGroundRandomInRadius() to be available +-- https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/CONTROLLABLE.RelocateGroundRandomInRadius.html +------------------------------------------------------------------------- +-- Observe a set of Blue SAM sites being attacked by Red SEAD and Helicopters +-- HQ and EWR will randomly relocate between 30 and 60 mins +-- The Radar will only relocate if not detected units are in range +------------------------------------------------------------------------- +-- Date: 26 Dec 2020 +------------------------------------------------------------------------- + +myredmantis = MANTIS:New("mybluemantis","Blue SAM","Blue EWR","Blue HQ","blue",false) +myredmantis:SetAutoRelocate(true, true) -- make HQ and EWR relocatable, if they are actually mobile in DCS! +myredmantis:Debug(false) +myredmantis.verbose = true +myredmantis:Start() \ No newline at end of file diff --git a/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/MTS-100 - Blue Autorelocate HQ and EWR.miz b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/MTS-100 - Blue Autorelocate HQ and EWR.miz new file mode 100644 index 0000000000..c40185490d Binary files /dev/null and b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/MTS-100 - Blue Autorelocate HQ and EWR.miz differ diff --git a/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/pack.ps1 b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/unpack.ps1 b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/MTS - Mantis/MTS-100 - Blue Autorelocate HQ and EWR/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" * diff --git a/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/MTS-110 - Mantis Link to A2A-Dispatcher.lua b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/MTS-110 - Mantis Link to A2A-Dispatcher.lua new file mode 100644 index 0000000000..89fcae1eb0 --- /dev/null +++ b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/MTS-110 - Mantis Link to A2A-Dispatcher.lua @@ -0,0 +1,38 @@ +------------------------------------------------------------------------- +-- MTS-110 - Mantis Link to A2A-Dispatcher +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/Functional.Mantis.html +-- +-- Note: As of Dec/20, MANTIS is WIP. Needs a recent build of Moose.lua > 16 Dec 20 +-- for CONTROLLABLE:RelocateGroundRandomInRadius() to be available +-- https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/CONTROLLABLE.RelocateGroundRandomInRadius.html +------------------------------------------------------------------------- +-- Observe a set of SAM sites being attacked by F18 SEAD, A10 and Helicopters. +-- HQ and EWR will randomly relocate between 30 and 60 mins +-- SU-27 GCICAP Flights will start from Pashkovsky to help the SAMs +------------------------------------------------------------------------- +-- Date: 17 Dec 2020 +------------------------------------------------------------------------- + +myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR","Red HQ","red",false) +--myredmantis:SetAutoRelocate(true, true) -- make HQ and EWR relocatable, if they are actually mobile in DCS! +myredmantis:Debug(false) +--myredmantis.verbose = false +myredmantis:Start() + +-- link in AI_A2A_Dispatcher + +Red_GCI = AI_A2A_DISPATCHER:New(myredmantis.Detection) -- use existing detection object + +Red_GCI:SetTacticalDisplay(true) +Red_GCI:SetDefaultLandingAtRunway() +Red_GCI:SetDefaultTakeoffInAir() +Red_GCI:SetDisengageRadius(125000) +Red_GCI:SetDefaultOverhead(0.4) +Red_GCI:SetDefaultGrouping(2) +Red_GCI:SetGciRadius(125000) +Red_GCI:SetSquadron("Russian Tigers Sq1",AIRBASE.Caucasus.Krasnodar_Pashkovsky,"Red Interceptor",10) +Red_GCI:SetSquadronGci("Russian Tigers Sq1",900,1800) +Red_GCI:Start() -- never forget to use Start()!! diff --git a/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/MTS-110 - Mantis Link to A2A-Dispatcher.miz b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/MTS-110 - Mantis Link to A2A-Dispatcher.miz new file mode 100644 index 0000000000..a6b1b73ede Binary files /dev/null and b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/MTS-110 - Mantis Link to A2A-Dispatcher.miz differ diff --git a/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/pack.ps1 b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/unpack.ps1 b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/MTS - Mantis/MTS-110 - Mantis Link to A2A-Dispatcher/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" * diff --git a/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/MTS-200 - MANTIS - Advanced Mode.lua b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/MTS-200 - MANTIS - Advanced Mode.lua new file mode 100644 index 0000000000..af72dad47d --- /dev/null +++ b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/MTS-200 - MANTIS - Advanced Mode.lua @@ -0,0 +1,71 @@ +------------------------------------------------------------------------- +-- MTS-200 - MANTIS - Advanced Mode +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/Functional.Mantis.html +-- +-- Note: As of Dec/20, MANTIS is WIP. Needs a recent build of Moose.lua > 17 Dec 20 +-- for CONTROLLABLE:RelocateGroundRandomInRadius() to be available +-- https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/CONTROLLABLE.RelocateGroundRandomInRadius.html +------------------------------------------------------------------------- +-- Observe a set of SAM sites being attacked by F18 SEAD, A10 and Helicopters. +-- HQ and EWR will be destroyed after 10 and 15 mins, respectively +-- Detection will slow down accordingly, if both units are dead, all SAM sites go to RED state +-- Set up of a new HQ and EWR will recover MANTIS +------------------------------------------------------------------------- +-- Date: 21 Dec 2020 +------------------------------------------------------------------------- + +myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR","Red HQ","red",true) +--myredmantis:SetAutoRelocate(true, true) -- make HQ and EWR relocatable, if they are actually mobile in DCS! +myredmantis:SetAdvancedMode(true, 100) -- switch on advanced mode - detection will slow down or die if HQ and EWR die +myredmantis:Debug(false) +myredmantis.verbose = true -- watch DCS.log +myredmantis:Start() + +function destroy(objectname) + local text = "Destroying "..objectname + m=MESSAGE:New(text,30,"Info"):ToAll() + local grp = GROUP:FindByName(objectname) + grp:Destroy() +end + +function createhq() + newhq = SPAWN + :New("Red HQ-1") + :InitDelayOff() + :OnSpawnGroup( + function (group) + myredmantis:SetCommandCenter(group) + end + ) + :Spawn() + local text = "Creating new HQ!" + m=MESSAGE:New(text,30,"Info"):ToAll() +end + +function createewr() + newewr = SPAWN + :New("Red EWR-1") + :InitDelayOff() + :Spawn() + local text = "Creating new EWR!" + m=MESSAGE:New(text,30,"Info"):ToAll() +end + +hqtimer = TIMER:New(destroy,"Red HQ") +ewrtimer = TIMER:New(destroy,"Red EWR") +awacstimer = TIMER:New(destroy,"Red EWR Awacs") + +nhqtimer = TIMER:New(createhq) +newrtimer = TIMER:New(createewr) + +-- slow down +hqtimer:Start(300) -- 5 min +ewrtimer:Start(360) -- 6 min +awacstimer:Start(420) -- 7 min + +--speed up +nhqtimer:Start(600) -- 10 min +newrtimer:Start(660) -- 11 min diff --git a/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/MTS-200 - MANTIS - Advanced Mode.miz b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/MTS-200 - MANTIS - Advanced Mode.miz new file mode 100644 index 0000000000..688140ec8e Binary files /dev/null and b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/MTS-200 - MANTIS - Advanced Mode.miz differ diff --git a/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/pack.ps1 b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/unpack.ps1 b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/MTS - Mantis/MTS-200 - MANTIS - Advanced Mode/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" * diff --git a/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/MTS-210 - MANTIS - Advanced Mode plus AWACS.lua b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/MTS-210 - MANTIS - Advanced Mode plus AWACS.lua new file mode 100644 index 0000000000..2398a52cfa --- /dev/null +++ b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/MTS-210 - MANTIS - Advanced Mode plus AWACS.lua @@ -0,0 +1,90 @@ +------------------------------------------------------------------------- +-- MTS-210 - MANTIS - Advanced Mode plus AWACS +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/Functional.Mantis.html +-- +-- Note: As of Dec/20, MANTIS is WIP. Needs a recent build of Moose.lua > 20 Dec 20 +-- for CONTROLLABLE:RelocateGroundRandomInRadius() to be available +-- https://flightcontrol-master.github.io/MOOSE_DOCS/Documentation/CONTROLLABLE.RelocateGroundRandomInRadius.html +------------------------------------------------------------------------- +-- Observe a set of SAM sites being attacked by F18 SEAD, A10 and Helicopters. +-- HQ, Awacs and EWR will be destroyed after 5, 6, 7 mins, respectively +-- Detection will slow down accordingly, if both units are dead, all SAM sites go to RED state +-- Set up of a new HQ and EWR will recover MANTIS from min 10 onwards +------------------------------------------------------------------------- +-- Date: 27 Dec 2020 +------------------------------------------------------------------------- + +myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR","Red HQ","red",true,"Red Awacs") +myredmantis:SetAutoRelocate(true, true) -- make HQ and EWR relocatable, if they are actually mobile in DCS! +myredmantis:SetAdvancedMode(true, 100) -- switch on advanced mode - detection will slow down or die if HQ and EWR die +myredmantis:SetSAMRange(85) +myredmantis:SetSAMRadius(30000) +myredmantis:Debug(false) +myredmantis.verbose = true -- watch DCS.log +myredmantis:Start() + + +function destroy(objectname) + local text = "Destroying "..objectname + m=MESSAGE:New(text,30,"Info"):ToAll() + local grp = GROUP:FindByName(objectname) + grp:Destroy() +end + +function createhq() + newhq = SPAWN + :New("Red HQ-1") + :InitDelayOff() + :OnSpawnGroup( + function (group) + myredmantis:SetCommandCenter(group) + end + ) + :Spawn() + local text = "Creating new HQ!" + m=MESSAGE:New(text,30,"Info"):ToAll() +end + +function createewr() + newewr = SPAWN + :New("Red EWR-1") + :InitDelayOff() + :Spawn() + local text = "Creating new EWR!" + m=MESSAGE:New(text,30,"Info"):ToAll() +end + +function createawacs() + newewr = SPAWN + :New("Red Awacs 1") + :InitDelayOff() + :OnSpawnGroup( + function (grp) + local name = grp:GetName() + myredmantis:SetAwacs(name) + end + ) + :Spawn() + local text = "Creating new AWACS!" + m=MESSAGE:New(text,30,"Info"):ToAll() +end + +hqtimer = TIMER:New(destroy,"Red HQ") +ewrtimer = TIMER:New(destroy,"Red EWR") +awacstimer = TIMER:New(destroy,"Red Awacs") + +nhqtimer = TIMER:New(createhq) +newrtimer = TIMER:New(createewr) +newAtimer = TIMER:New(createawacs) +-- slow down +hqtimer:Start(300) -- 5 min +ewrtimer:Start(360) -- 6 min +awacstimer:Start(420) -- 7 min + +--speed up +nhqtimer:Start(600) -- 10 min +newrtimer:Start(660) -- 11 min +newAtimer:Start(720) -- 12 min \ No newline at end of file diff --git a/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/MTS-210 - MANTIS - Advanced Mode plus AWACS.miz b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/MTS-210 - MANTIS - Advanced Mode plus AWACS.miz new file mode 100644 index 0000000000..9e81414138 Binary files /dev/null and b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/MTS-210 - MANTIS - Advanced Mode plus AWACS.miz differ diff --git a/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/pack.ps1 b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/unpack.ps1 b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/MTS - Mantis/MTS-210 - MANTIS - Advanced Mode plus AWACS/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" * 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..c117cdc9cb 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" * diff --git a/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/MTS-400 - MANTIS - Automode huge setup example.lua b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/MTS-400 - MANTIS - Automode huge setup example.lua new file mode 100644 index 0000000000..5a85da8722 --- /dev/null +++ b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/MTS-400 - MANTIS - Automode huge setup example.lua @@ -0,0 +1,57 @@ +------------------------------------------------------------------------- +-- MTS-400 - MANTIS - Auto-mode huge set-up example +------------------------------------------------------------------------- +-- Documentation +-- +-- MANTIS: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Functional.Mantis.html +-- +------------------------------------------------------------------------- +-- Observe a set of SAM sites being attacked by F18 SEAD +------------------------------------------------------------------------- +-- Date: 11 Nov 2021 + +--- Set up SHORAD +local redsamset = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes({"SAM-SA","EWR"}):FilterStart() +local redshorad = SHORAD:New("SHORAD-RED","SHORAD",redsamset,25000,600,"red",true) -- Functional.Shorad#SHORAD +redshorad:SetDefenseLimits(80,95) + +--- Borders +local israelborder = ZONE_POLYGON:New("Israel",GROUP:FindByName("Israel Border")) +local syriaborder = ZONE_POLYGON:New("Syria",GROUP:FindByName("Syria Border")) + +--- MANTIS +local RedMantis = MANTIS:New("SyMantis","SAM-SA","EWR",nil,"red") +RedMantis:AddZones({syriaborder},{israelborder}) --accept and reject zones +RedMantis:AddShorad(redshorad,600) +RedMantis:__Start(5) + +function RedMantis:OnAfterSeadSuppressionPlanned(From, Event, To, Group, Name, SuppressionStartTime, SuppressionEndTime) + MESSAGE:New("SAM Suppression planned! "..Name.. " is planning to shut down.",10):ToAll() + BASE:I("SAM Suppression planned! "..Name.. " is planning to shut down.") +end + +function RedMantis:OnAfterSeadSuppressionStart(From, Event, To, Group, Name) + MESSAGE:New("SAM Suppressed! "..Name.. " is suppressed.",10):ToAll() + BASE:I("SAM Suppressed! "..Name.. "is suppressed!" ) +end + +function RedMantis:OnAfterRedState(From,Event,To,Group) + local Name = Group:GetName() + MESSAGE:New("SAM "..Name.. " switched to RED",10):ToAll() + BASE:I("SAM "..Name.. " switched to RED" ) +end + +function RedMantis:OnAfterGreenState(From,Event,To,Group) + local Name = Group:GetName() + MESSAGE:New("SAM "..Name.. " switched to GREEN",10):ToAll() + BASE:I("SAM "..Name.. " switched to GREEN" ) +end + +--- get some SEAD flights +function GetBlueCAS() + local BlueCAS = SPAWN:New("Aerial-2"):Spawn() + local BlueCAS2 = SPAWN:New("Aerial-3"):Spawn() +end + +local bluetimer = TIMER:New(GetBlueCAS) +bluetimer:Start(20) \ No newline at end of file diff --git a/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/MTS-400 - MANTIS - Automode huge setup example.miz b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/MTS-400 - MANTIS - Automode huge setup example.miz new file mode 100644 index 0000000000..48d191b8cb Binary files /dev/null and b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/MTS-400 - MANTIS - Automode huge setup example.miz differ diff --git a/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/pack.ps1 b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/pack.ps1 new file mode 100644 index 0000000000..bbac66e7c1 --- /dev/null +++ b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup 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-400 - MANTIS - Automode huge setup example/unpack.ps1 b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup example/unpack.ps1 new file mode 100644 index 0000000000..c208a31858 --- /dev/null +++ b/MTS - Mantis/MTS-400 - MANTIS - Automode huge setup 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" *