Banner Image

Module Functional.Mantis

Functional -- Modular, Automatic and Network capable Targeting and Interception System for Air Defenses


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 SEAD Leverage attack range setup added by DCS in 11/20


Missions:

MANTIS - Modular, Automatic and Network capable Targeting and Interception System


Author : *applevangelist *

Global(s)

Global MANTIS

The worst thing that can happen to a good cause is, not to be skillfully attacked, but to be ineptly defended. - Frédéric Bastiat

Simple Class for a more intelligent Air Defense System

MANTIS

Moose derived Modular, Automatic and Network capable Targeting and Interception System.

#MANTIS MANTIS

The worst thing that can happen to a good cause is, not to be skillfully attacked, but to be ineptly defended. - Frédéric Bastiat

Simple Class for a more intelligent Air Defense System

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.

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)

[optional] Use
* MANTIS:SetEWRGrouping(radius)
* MANTIS:SetEWRRange(radius)
* MANTIS:SetSAMRadius(radius)
* MANTIS:SetDetectInterval(interval) * MANTIS:SetAutoRelocate(hq, ewr)
to fine-tune your setup.

myredmantis:Start()

Global _MANTISdetection

_MANTISdetection

[internal] Grouping detected objects to 5000m zones

Type(s)

Fields and Methods inherited from MANTIS Description

MANTIS.@

Functional.Detection#DETECTION_AREAS} Detection The #DETECTION_AREAS object

MANTIS:CheckObjectInZone(dectset, samcoordinate)

Function to check if any object is in the given SAM zone

MANTIS.Classname

MANTIS.Coalition

MANTIS:Debug(onoff)

Function to set switch-on/off the debug state

MANTIS.Detection

MANTIS.EWR_Group

MANTIS.EWR_Templates_Prefix

Prefix to build the #GROUP_SET for EWR group

MANTIS:GetCommandCenter()

Function to get the HQ object for further use

MANTIS.MantisReloTimer

MANTIS.MantisTimer

MANTIS:New(name, samprefix, ewrprefix, hq, coaltion, dynamic)

Function instantiate new class

MANTIS.SAM_Group

MANTIS.SAM_Table

Table of SAM sites

MANTIS.SAM_Templates_Prefix

Prefix to build the #GROUP_SET for SAM sites

MANTIS.SEAD_CC

MANTIS.SEAD_Template_CC

The ME name of the HQ object

MANTIS:SetAutoRelocate(hq, ewr)

Function to set autorelocation for HQ and EWR objects.

MANTIS:SetDetectInterval(interval)

Function to set the detection interval

MANTIS:SetEWRGrouping(radius)

Function to set the grouping radius of the detection in meters

MANTIS:SetEWRRange(radius)

Function to set the detection radius of the EWR in meters

MANTIS:SetSAMRadius(radius)

Function to set switch-on/off zone for the SAM sites in meters

MANTIS:SetSAMStartState()

Function to set the SAM start state

MANTIS:Start()

Function to set the SAM start state

MANTIS:StartDetection()

Function to start the detection via EWR groups

MANTIS:Stop()

Function to stop MANTIS

MANTIS:_GetSAMTable()

[internal] Function to get the self.SAM_Table

MANTIS:_RelocateGroups()

[Internal] Function to execute the relocation

MANTIS:_SetSAMTable(table)

[internal] Function to set the self.SAM_Table

MANTIS.acceptrange

Radius of the EWR detection

MANTIS.autorelocate

Relocate HQ and EWR groups in random intervals. Note: You need to select units for this which are actually mobile

MANTIS.autorelocateunits

MANTIS.checkradius

Radius of the SAM sites

MANTIS.debug

Switch on extra messages

MANTIS.detectinterval

Interval in seconds for the target detection

MANTIS.dynamic

MANTIS.engagerange

Firing engage range of the SAMs, see [https://wiki.hoggitworld.com/view/DCS_option_engagementRange]

MANTIS.grouping

Radius to group detected objects

MANTIS.lid

Prefix for logging

MANTIS.name

Name of this Mantis

MANTIS.verbose

Switch on extra logging

MANTIS.version

Field(s)

MANTIS.EWR_Group

Set EWR SET_GROUP

#string MANTIS.EWR_Templates_Prefix

Prefix to build the #GROUP_SET for EWR group

MANTIS.SAM_Group

Set SAM SET_GROUP

#table MANTIS.SAM_Table

Table of SAM sites

#string MANTIS.SAM_Templates_Prefix

Prefix to build the #GROUP_SET for SAM sites

#string MANTIS.SEAD_Template_CC

The ME name of the HQ object

#number MANTIS.acceptrange

Radius of the EWR detection

#boolean MANTIS.autorelocate

Relocate HQ and EWR groups in random intervals. Note: You need to select units for this which are actually mobile

#number MANTIS.checkradius

Radius of the SAM sites

#boolean MANTIS.debug

Switch on extra messages

#number MANTIS.detectinterval

Interval in seconds for the target detection

#number MANTIS.engagerange

Firing engage range of the SAMs, see [https://wiki.hoggitworld.com/view/DCS_option_engagementRange]

#number MANTIS.grouping

Radius to group detected objects

#string MANTIS.lid

Prefix for logging

#string MANTIS.name

Name of this Mantis

#boolean MANTIS.verbose

Switch on extra logging

#string MANTIS.version

@field #string version

Function(s)

Function to check if any object is in the given SAM zone

Defined in:

MANTIS

Parameters:

#table dectset

Table of coordinates of detected items

samcoordinate

Core.Point#COORDINATE Coordinate object.

Return value:

#boolean:

True if in any zone, else false

Function to set switch-on/off the debug state

Defined in:

MANTIS

Parameter:

#boolean onoff

Set true to switch on

Function to get the HQ object for further use

Defined in:

MANTIS

Return value:

The HQ #GROUP object or nil if it doesn't exist

Function instantiate new class

Defined in:

MANTIS

Parameters:

#string name

Name of this MANTIS for reporting

#string samprefix

Prefixes for the SAM groups from the ME, e.g. all groups starting with "Red Sam..."

#string ewrprefix

Prefixes for the EWR and AWACS groups from the ME, e.g. all groups starting with "Red EWR..."

#string hq

Group name of your HQ (optional)

#string coaltion

Coalition side of your setup, e.g. "blue", "red" or "neutral"

#boolean dynamic

Use constant (true) filtering or just filter once (false, default)

Return value:

self

Function to set autorelocation for HQ and EWR objects.

Note: Units must be actually mobile in DCS!

Defined in:

MANTIS

Parameters:

#boolean hq

If true, will relocate HQ object

#boolean ewr

If true, will relocate EWR objects

Function to set the detection interval

Defined in:

MANTIS

Parameter:

#number interval

The interval in seconds

Function to set the grouping radius of the detection in meters

Defined in:

MANTIS

Parameter:

#number radius

Radius upon which detected objects will be grouped

Function to set the detection radius of the EWR in meters

Defined in:

MANTIS

Parameter:

#number radius

Radius of the EWR detection zone

Function to set switch-on/off zone for the SAM sites in meters

Defined in:

MANTIS

Parameter:

#number radius

Radius of the firing zone

Function to set the SAM start state

Defined in:

MANTIS

Return value:

self

Function to set the SAM start state

Defined in:

MANTIS

Return value:

self

Function to start the detection via EWR groups

Defined in:

MANTIS

Return value:

The running detection set

Function to stop MANTIS

Defined in:

MANTIS

Return value:

self

[internal] Function to get the self.SAM_Table

Defined in:

MANTIS

Return value:

#table:

table

[Internal] Function to execute the relocation

Defined in:

MANTIS

[internal] Function to set the self.SAM_Table

Defined in:

MANTIS

Parameter:

table

Return value:

self