diff --git a/Documentation/AI.AI_A2G_Dispatcher.html b/Documentation/AI.AI_A2G_Dispatcher.html index 8042f10ba..62cfd00e9 100644 --- a/Documentation/AI.AI_A2G_Dispatcher.html +++ b/Documentation/AI.AI_A2G_Dispatcher.html @@ -4645,6 +4645,17 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
The Defender Default Settings over all Squadrons.
+ + + +The Defender Default Settings over all Squadrons.
+ + + +The Defender Default Settings over all Squadrons.
+ + + +The Defender Default Settings over all Squadrons.
+ + + +Aircraft is on a depoly mission.
+Aircraft is on a depoly mission.
+Aircraft is on a depoly mission.
+Aircraft is on a depoly mission.
+This table contains the targets detected during patrol.
+ @@ -6384,6 +6387,9 @@ Note that this method is required, as triggers the next route when patrolling fo + +This table contains the targets detected during patrol.
+ @@ -7128,6 +7134,9 @@ Note that this method is required, as triggers the next route when patrolling fo + +This table contains the targets detected during patrol.
+ @@ -8764,6 +8773,9 @@ Note that this method is required, as triggers the next route when patrolling fo + +This table contains the targets detected during patrol.
+ diff --git a/Documentation/Cargo.CargoCrate.html b/Documentation/Cargo.CargoCrate.html index 1a92434e6..4774a7526 100644 --- a/Documentation/Cargo.CargoCrate.html +++ b/Documentation/Cargo.CargoCrate.html @@ -1749,17 +1749,6 @@ Controls a network of short range air/missile defense groups.self.CargoObject:Destroy()
- -Then we register the new group in the database
-Now we spawn the new group based on the template created.
-self.CargoObject:Destroy()
- -Then we register the new group in the database
-Now we spawn the new group based on the template created.
-Set cargo object.
+Set cargo object.
+the y coordinate in meters.
-the y coordinate in meters.
-the y coordinate in meters.
- - - -SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)
When the first Spawn executes, all the Groups need to be made visible before start.
+Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.
@@ -3936,39 +3907,6 @@ When Moose is loaded statically, (as one file), tracing is switched off by defauWhen working in UnControlled mode, all planes are Spawned in UnControlled mode before the scheduler starts.
- - - -Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.
@@ -9344,39 +9271,6 @@ This is needed to ensure that Re-SPAWNing only is done for landed AIR Groups. When working in UnControlled mode, all planes are Spawned in UnControlled mode before the scheduler starts. - - - -Spawns a new static using a given template.
+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
+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
@@ -1537,7 +1537,7 @@ Leverage attack range setup added by DCS in 11/20 #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
+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
@@ -1560,22 +1560,22 @@ Set up your EWR system in the mission editor. Name the groups with common prefixTypically, your setup should consist of EWR (early warning) radars to detect and track targets, accompanied by AWACS if your scenario forsees that. Ensure that your EWR radars have a good coverage of the area you want to track. Location is of highest importantance here. Whilst AWACS in DCS has almost the "all seeing eye", EWR don't have that. Choose your location wisely, against a mountain backdrop or inside a valley even the best EWR system doesn't work well. Prefer higher-up locations with a good view; use F7 in-game to check where you actually placed your EWR and have a look around. Apart from the obvious choice, do also consider other radar units - for this role, most have "SR" (search radar) or "STR" (search and track radar) in their names, use the encyclopedia to see what they actually do.
+ for this role, most have "SR" (search radar) or "STR" (search and track radar) in their names, use the encyclopedia to see what they actually do.Typically your SAM should cover all attack ranges. The closer the enemy gets, the more systems you will need to deploy to defend your location. Use a combination of long-range systems like the SA-10/11, midrange like SA-6 and short-range like -SA-2 for defense (Patriot, Hawk, Gepard, Blindfire for the blue side). For close-up defense and defense against HARMs or low-flying aircraft, helicopters it is also advisable to deploy SA-15 TOR systems, Shilka, Strela and Tunguska units, as well as manpads (Think Gepard, Avenger, Chaparral, +
Typically your SAM should cover all attack ranges. The closer the enemy gets, the more systems you will need to deploy to defend your location. Use a combination of long-range systems like the SA-10/11, midrange like SA-6 and short-range like +SA-2 for defense (Patriot, Hawk, Gepard, Blindfire for the blue side). For close-up defense and defense against HARMs or low-flying aircraft, helicopters it is also advisable to deploy SA-15 TOR systems, Shilka, Strela and Tunguska units, as well as manpads (Think Gepard, Avenger, Chaparral, Linebacker, Roland systems for the blue side). If possible, overlap ranges for mutual coverage.
Often times, people complain because the detection cannot "see" oncoming targets and/or Mantis switches on too late. Three typial problems here are
+Often times, people complain because the detection cannot "see" oncoming targets and/or Mantis switches on too late. Three typial problems here are
An attacker doing 350knots will cover ca 180meters/second or thus more than 6km until the SA-6 fires. Use triggers zones and the ruler in the missione editor to understand distances and zones. Take into account that the ranges given by the circles @@ -1583,25 +1583,27 @@ in the mission editor are absolute maximum ranges; in-game this is rather 50-75%
myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR",nil,"red",false)
- myredmantis:Start()
myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR",nil,"red",false)
+ myredmantis:Start()
+
-[optional] Use
+[optional] Use
MANTIS:SetEWRGrouping(radius) MANTIS:SetEWRRange(radius) MANTIS:SetSAMRadius(radius) MANTIS:SetDetectInterval(interval)MANTIS:SetAutoRelocate(hq, ewr)before starting #MANTIS to fine-tune your setup.
If you want to use a separate AWACS unit (default detection range: 250km) to support your EWR system, use e.g. the following setup:
- mybluemantis = MANTIS:New("bluemantis","Blue SAM","Blue EWR",nil,"blue",false,"Blue Awacs")
- mybluemantis:Start()
mybluemantis = MANTIS:New("bluemantis","Blue SAM","Blue EWR",nil,"blue",false,"Blue Awacs")
+ mybluemantis:Start()
+
MANTIS:SetSAMRadius(radius)MANTIS:SetEWRGrouping(radius)MANTIS:SetEWRRange(radius) MANTIS:SetEWRRange(radius)MANTIS:SetDetectInterval(interval)MANTIS:SetSAMRange(range)MANTIS:New(name,samprefix,ewrprefix,hq,coaltion,dynamic)Advanced mode will decrease reactivity of MANTIS, if HQ and/or EWR network dies. Awacs is counted as one EWR unit. It will set SAMs to RED state if both are dead. Requires usage of an HQ object and the dynamic option.
+Advanced mode will decrease reactivity of MANTIS, if HQ and/or EWR network dies. Awacs is counted as one EWR unit. It will set SAMs to RED state if both are dead. Requires usage of an HQ object and the dynamic option.
- E.g. mymantis:SetAdvancedMode( true, 90 )
E.g. mymantis:SetAdvancedMode( true, 90 )
-Use this option if you want to make use of or allow advanced SEAD tactics.
+Use this option if you want to make use of or allow advanced SEAD tactics.
You can also choose to integrate Mantis with Functional.Shorad#SHORAD for protection against HARMs and AGMs. When SHORAD detects a missile fired at one of MANTIS' SAM sites, it will activate SHORAD systems in the given defense checkradius around that SAM site. Create a SHORAD object first, then integrate with MANTIS like so:
- `local SamSet = SET_GROUP:New():FilterPrefixes("Blue SAM"):FilterCoalitions("blue"):FilterStart()`
- `myshorad = SHORAD:New("BlueShorad", "Blue SHORAD", SamSet, 22000, 600, "blue")`
- `-- now set up MANTIS`
- `mymantis = MANTIS:New("BlueMantis","Blue SAM","Blue EWR",nil,"blue",false,"Blue Awacs")`
- `mymantis:AddShorad(myshorad,720)`
- `mymantis:Start()`
+ local SamSet = SET_GROUP:New():FilterPrefixes("Blue SAM"):FilterCoalitions("blue"):FilterStart()
+ myshorad = SHORAD:New("BlueShorad", "Blue SHORAD", SamSet, 22000, 600, "blue")
+ -- now set up MANTIS
+ mymantis = MANTIS:New("BlueMantis","Blue SAM","Blue EWR",nil,"blue",false,"Blue Awacs")
+ mymantis:AddShorad(myshorad,720)
+ mymantis:Start()
and (optionally) remove the link later on with
- `mymantis:RemoveShorad()`
+ mymantis:RemoveShorad()
+6. Integrated SEAD
+
+ MANTIS is using Functional.Sead#SEAD internally to both detect and evade HARM attacks. No extra efforts needed to set this up!
+ Once a HARM attack is detected, MANTIS (via SEAD) will shut down the radars of the attacked SAM site and take evasive action by moving the SAM
+ vehicles around (if they are drivable, that is). There's a component of randomness in detection and evasion, which is based on the
+ skill set of the SAM set (the higher the skill, the more likely). When a missile is fired from far away, the SAM will stay active for a
+ period of time to stay defensive, before it takes evasive actions.
+
+ You can link into the SEAD driven events of MANTIS like so:
+
+ function mymantis:OnAfterSeadSuppressionPlanned(From, Event, To, Group, Name, SuppressionStartTime, SuppressionEndTime)
+ -- your code here - SAM site shutdown and evasion planned, but not yet executed
+ -- Time entries relate to timer.getTime() - see https://wiki.hoggitworld.com/view/DCS_func_getTime
+ end
+
+ function mymantis:OnAfterSeadSuppressionStart(From, Event, To, Group, Name)
+ -- your code here - SAM site is emissions off and possibly moving
+ end
+
+ function mymantis:OnAfterSeadSuppressionEnd(From, Event, To, Group, Name)
+ -- your code here - SAM site is back online
+ end
+
+
@@ -1792,6 +1818,24 @@ in the mission editor are absolute maximum ranges; in-game this is rather 50-75%
On After "Relocating" event.
+
+
MANTIS:OnAfterSeadSuppressionEnd(From, Event, To, Group, Name)
On After "SeadSuppressionEnd" event.
+On After "SeadSuppressionPlanned" event.
+MANTIS:OnAfterSeadSuppressionStart(From, Event, To, Group, Name)
On After "SeadSuppressionStart" event.
Set using an #INTEL_DLINK object instead of #DETECTION.
+Set using an #INTEL_DLINK object instead of #DETECTION
Triggers the FSM event "Status".
+[Internal] Function triggered by Event Relocating
+MANTIS:onafterSeadSuppressionEnd(From, Event, To, Group, Name)
[Internal] Function triggered by Event SeadSuppressionEnd
+[Internal] Function triggered by Event SeadSuppressionPlanned
+MANTIS:onafterSeadSuppressionStart(From, Event, To, Group, Name)
[Internal] Function triggered by Event SeadSuppressionStart
The #DETECTION_AREAS object for AWACS
- - - -Timer in seconds, how long #SHORAD will be active after a detection inside of the defense range
+ + + +Make MANTIS switch Emissions on and off instead of changing the alarm state between RED and GREEN (optional)
+Make MANTIS switch Emissions on and off instead of changing the alarm state between RED and GREEN (optional)
For #SEAD - Extra number of seconds to add to radar switch-back-on time (optional)
+For #SEAD - Extra number of seconds to add to radar switch-back-on time (optional)
Start up your MANTIS with a basic setting
- `myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR",nil,"red",false)`
- `myredmantis:Start()`
-
- [optional] Use
-
- * `MANTIS:SetEWRGrouping(radius)`
- * `MANTIS:SetEWRRange(radius)`
- * `MANTIS:SetSAMRadius(radius)`
- * `MANTIS:SetDetectInterval(interval)`
- * `MANTIS:SetAutoRelocate(hq, ewr)`
-
+ myredmantis = MANTIS:New("myredmantis","Red SAM","Red EWR",nil,"red",false)
+ myredmantis:Start()
+
+ [optional] Use
+
+ * MANTIS:SetEWRGrouping(radius)
+ * MANTIS:SetEWRRange(radius)
+ * MANTIS:SetSAMRadius(radius)
+ * MANTIS:SetDetectInterval(interval)
+ * MANTIS:SetAutoRelocate(hq, ewr)
+
before starting #MANTIS to fine-tune your setup.
-
+
If you want to use a separate AWACS unit (default detection range: 250km) to support your EWR system, use e.g. the following setup:
-
- `mybluemantis = MANTIS:New("bluemantis","Blue SAM","Blue EWR",nil,"blue",false,"Blue Awacs")`
- `mybluemantis:Start()`
-
+
+ mybluemantis = MANTIS:New("bluemantis","Blue SAM","Blue EWR",nil,"blue",false,"Blue Awacs")
+ mybluemantis:Start()
+
@@ -3996,6 +4064,296 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
+
+
+
+ On After "SeadSuppressionEnd" event.
+ + +Mantis has switched on a site after a SEAD attack.
+ +MANTIS
++ #string + From +
+The From State
+ ++ #string + Event +
+The Event
+ ++ #string + To +
+The To State
+ ++ Wrapper.Group#GROUP + Group +
+The suppressed GROUP object
+ ++ #string + Name +
+Name of the suppressed group
+ +On After "SeadSuppressionPlanned" event.
+ + +Mantis has planned to switch off a site to defend SEAD attack.
+ +MANTIS
++ #string + From +
+The From State
+ ++ #string + Event +
+The Event
+ ++ #string + To +
+The To State
+ ++ Wrapper.Group#GROUP + Group +
+The suppressed GROUP object
+ ++ #string + Name +
+Name of the suppressed group
+ ++ #number + SuppressionStartTime +
+Model start time of the suppression from timer.getTime()
+ #number + SuppressionEndTime +
+Model end time of the suppression from timer.getTime()
On After "SeadSuppressionStart" event.
+ + +Mantis has switched off a site to defend a SEAD attack.
+ +MANTIS
++ #string + From +
+The From State
+ ++ #string + Event +
+The Event
+ ++ #string + To +
+The To State
+ ++ Wrapper.Group#GROUP + Group +
+The suppressed GROUP object
+ ++ #string + Name +
+Name of the suppressed groupe
+ +Radius of the firing zone
+Radius of the firing zone
Set using an #INTEL_DLINK object instead of #DETECTION.
- - -Requires Develop branch of Moose.lua.
+Set using an #INTEL_DLINK object instead of #DETECTION
table
+table
[Internal] Function triggered by Event SeadSuppressionEnd
+ +MANTIS
++ #string + From +
+The From State
+ ++ #string + Event +
+The Event
+ ++ #string + To +
+The To State
+ ++ Wrapper.Group#GROUP + Group +
+The suppressed GROUP object
+ ++ #string + Name +
+Name of the suppressed group
+ +[Internal] Function triggered by Event SeadSuppressionPlanned
+ +MANTIS
++ #string + From +
+The From State
+ ++ #string + Event +
+The Event
+ ++ #string + To +
+The To State
+ ++ Wrapper.Group#GROUP + Group +
+The suppressed GROUP object
+ ++ #string + Name +
+Name of the suppressed group
+ ++ #number + SuppressionStartTime +
+Model start time of the suppression from timer.getTime()
+ #number + SuppressionEndTime +
+Model end time of the suppression from timer.getTime()
[Internal] Function triggered by Event SeadSuppressionStart
+ +MANTIS
++ #string + From +
+The From State
+ ++ #string + Event +
+The Event
+ ++ #string + To +
+The To State
+ ++ Wrapper.Group#GROUP + Group +
+The suppressed GROUP object
+ ++ #string + Name +
+Name of the suppressed group
+ +The #DETECTION_AREAS object for AWACS
- - - -Timer in seconds, how long #SHORAD will be active after a detection inside of the defense range
+ + + +Type of terminal to be used when spawning at an airbase.
+RAT:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)
Type of terminal to be used when spawning at an airbase.
+Type of terminal to be used when spawning at an airbase.
+Last Update: Aug 2021
+Last Update: Nov 2021
This class is very easy to use. Just setup a SEAD object by using SEAD.New() and SAMs will evade and take defensive action when being fired upon.
+This class is very easy to use. Just setup a SEAD object by using SEAD.New() and SAMs will evade and take defensive action when being fired upon. +Once a HARM attack is detected, SEAD will shut down the radars of the attacked SAM site and take evasive action by moving the SAM +vehicles around (if they are drivable, that is). There's a component of randomness in detection and evasion, which is based on the +skill set of the SAM set (the higher the skill, the more likely). When a missile is fired from far away, the SAM will stay active for a +period of time to stay defensive, before it takes evasive actions.
Add an object to call back when going evasive.
+Detects if an SAM site was shot with an anti radiation missile.
+(Internal) Detects if an SAM site was shot with an anti radiation missile.
Set the padding in seconds, which extends the radar off time calculated by SEAD
+Set SEAD to use emissions on/off in addition to alarm state.
Update the active SEAD Set
+Update the active SEAD Set (while running)
+Check if a known HARM was fired
+(Internal) Check if a known HARM was fired
Detects if an SAM site was shot with an anti radiation missile.
+Add an object to call back when going evasive.
+ +SEAD
++ #table + Object +
+The object to call. Needs to have object functions as follows:
+:SeadSuppressionPlanned(Group, Name, SuppressionStartTime, SuppressionEndTime)
+:SeadSuppressionStart(Group, Name),
+:SeadSuppressionEnd(Group, Name),
self
+ +(Internal) Detects if an SAM site was shot with an anti radiation missile.
In this case, take evasive actions based on the skill level set within the ME.
@@ -2240,7 +2356,7 @@ When Moose is loaded statically, (as one file), tracing is switched off by defauSEAD
@@ -2252,16 +2368,17 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
- self -
-self
+ +SEAD
+self
Set the engagement range in percent, e.g. 50
+Set the engagement range in percent, e.g. 55 (default 75)
Extra number of seconds to add for the switch-on
+Extra number of seconds to add for the switch-on (default 10 seconds)
self
+ +Set SEAD to use emissions on/off in addition to alarm state.
+ +SEAD
++ #boolean + Switch +
+True for on, false for off.
+ +self
+ +Update the active SEAD Set
+Update the active SEAD Set (while running)
Check if a known HARM was fired
+(Internal) Check if a known HARM was fired
Set case to that of lead.
+Set case of f
Also decrease flag for section members of flight.
- -Set section lead of player flight.
+Make player section lead if he was not before.
Set Stable Hover
-Set new time stamp.
- diff --git a/Documentation/Ops.CSAR.html b/Documentation/Ops.CSAR.html index 6695b01c6..7ab6e12c5 100644 --- a/Documentation/Ops.CSAR.html +++ b/Documentation/Ops.CSAR.html @@ -2266,6 +2266,12 @@ Create a late-activated single infantry unit as template in the mission editor aReplacement woundedGroups
- -contain a table for each SAR with all units he has with the original names
+ + + +counter for saved pilots
+ +counter for successful rescue landings at FARP/AFB/MASH
+ +Replacement woundedGroups
- -contain a table for each SAR with all units he has with the original names
+counter for saved pilots
+ +counter for successful rescue landings at FARP/AFB/MASH
+ +Replacement woundedGroups
- -contain a table for each SAR with all units he has with the original names
+counter for saved pilots
+ +counter for successful rescue landings at FARP/AFB/MASH
+ +holds #CTLD_ENGINEERING objects
-holds #CTLD_ENGINEERING objects
-holds #CTLD_ENGINEERING objects
-Can transport crate.
+set to false to suppress flash messages
-set to false to suppress flash messages
-set to false to suppress flash messages
-set to false to suppress flash messages
-Alive.
+Alive2.
Alive.
+Alive2.
Alive.
+Alive2.
Alive.
+Alive2.
Alive.
+Alive2.
Alive.
+Alive2.
Alive.
+Alive2.
Coordinate of the mark.
-Coordinate of the mark.
-Coordinate of the mark.
-