mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
MANTIS/SEAD make docu Pikes-friendly
This commit is contained in:
parent
a7588e517d
commit
273a473db1
@ -158,6 +158,29 @@
|
|||||||
--
|
--
|
||||||
-- `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()
|
||||||
|
-- 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`
|
||||||
|
--
|
||||||
-- @field #MANTIS
|
-- @field #MANTIS
|
||||||
MANTIS = {
|
MANTIS = {
|
||||||
ClassName = "MANTIS",
|
ClassName = "MANTIS",
|
||||||
|
|||||||
@ -6,6 +6,8 @@
|
|||||||
--
|
--
|
||||||
-- * When SAM sites are being fired upon, the SAMs will take evasive action will reposition themselves when possible.
|
-- * When SAM sites are being fired upon, the SAMs will take evasive action will reposition themselves when possible.
|
||||||
-- * When SAM sites are being fired upon, the SAMs will take defensive action by shutting down their radars.
|
-- * When SAM sites are being fired upon, the SAMs will take defensive action by shutting down their radars.
|
||||||
|
-- * SEAD calculates the time it takes for a HARM to reach the target - and will attempt to minimize the shut-down time.
|
||||||
|
-- * Detection and evasion of shots has a random component based on the skill level of the SAM groups.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -31,6 +33,10 @@
|
|||||||
--- Make SAM sites execute evasive and defensive behaviour when being fired upon.
|
--- Make SAM sites execute evasive and defensive behaviour 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.
|
-- 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, SEADwill 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.
|
||||||
--
|
--
|
||||||
-- # Constructor:
|
-- # Constructor:
|
||||||
--
|
--
|
||||||
@ -148,7 +154,7 @@ end
|
|||||||
|
|
||||||
--- Sets the engagement range of the SAMs. Defaults to 75% to make it more deadly. Feature Request #1355
|
--- Sets the engagement range of the SAMs. Defaults to 75% to make it more deadly. Feature Request #1355
|
||||||
-- @param #SEAD self
|
-- @param #SEAD self
|
||||||
-- @param #number range Set the engagement range in percent, e.g. 50
|
-- @param #number range Set the engagement range in percent, e.g. 55 (default 75)
|
||||||
-- @return #SEAD self
|
-- @return #SEAD self
|
||||||
function SEAD:SetEngagementRange(range)
|
function SEAD:SetEngagementRange(range)
|
||||||
self:T( { range } )
|
self:T( { range } )
|
||||||
@ -163,7 +169,7 @@ end
|
|||||||
|
|
||||||
--- Set the padding in seconds, which extends the radar off time calculated by SEAD
|
--- Set the padding in seconds, which extends the radar off time calculated by SEAD
|
||||||
-- @param #SEAD self
|
-- @param #SEAD self
|
||||||
-- @param #number Padding Extra number of seconds to add for the switch-on
|
-- @param #number Padding Extra number of seconds to add for the switch-on (default 10 seconds)
|
||||||
-- @return #SEAD self
|
-- @return #SEAD self
|
||||||
function SEAD:SetPadding(Padding)
|
function SEAD:SetPadding(Padding)
|
||||||
self:T( { Padding } )
|
self:T( { Padding } )
|
||||||
@ -197,7 +203,7 @@ function SEAD:AddCallBack(Object)
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Check if a known HARM was fired
|
--- (Internal) Check if a known HARM was fired
|
||||||
-- @param #SEAD self
|
-- @param #SEAD self
|
||||||
-- @param #string WeaponName
|
-- @param #string WeaponName
|
||||||
-- @return #boolean Returns true for a match
|
-- @return #boolean Returns true for a match
|
||||||
@ -243,9 +249,8 @@ function SEAD:_GetDistance(_point1, _point2)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- 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.
|
--- (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.
|
||||||
-- @see SEAD
|
-- @param #SEAD self
|
||||||
-- @param #SEAD
|
|
||||||
-- @param Core.Event#EVENTDATA EventData
|
-- @param Core.Event#EVENTDATA EventData
|
||||||
-- @return #SEAD self
|
-- @return #SEAD self
|
||||||
function SEAD:HandleEventShot( EventData )
|
function SEAD:HandleEventShot( EventData )
|
||||||
@ -326,9 +331,8 @@ function SEAD:HandleEventShot( EventData )
|
|||||||
local name = args[2] -- #string Group Name
|
local name = args[2] -- #string Group Name
|
||||||
if self.UseEmissionsOnOff then
|
if self.UseEmissionsOnOff then
|
||||||
grp:EnableEmission(false)
|
grp:EnableEmission(false)
|
||||||
else
|
|
||||||
grp:OptionAlarmStateGreen()
|
|
||||||
end
|
end
|
||||||
|
grp:OptionAlarmStateGreen() -- needed else we cannot move around
|
||||||
grp:RelocateGroundRandomInRadius(20,300,false,false,"Diamond")
|
grp:RelocateGroundRandomInRadius(20,300,false,false,"Diamond")
|
||||||
if self.UseCallBack then
|
if self.UseCallBack then
|
||||||
local object = self.CallBack
|
local object = self.CallBack
|
||||||
@ -342,9 +346,8 @@ function SEAD:HandleEventShot( EventData )
|
|||||||
local name = args[2] -- #string Group Nam
|
local name = args[2] -- #string Group Nam
|
||||||
if self.UseEmissionsOnOff then
|
if self.UseEmissionsOnOff then
|
||||||
grp:EnableEmission(true)
|
grp:EnableEmission(true)
|
||||||
else
|
|
||||||
grp:OptionAlarmStateRed()
|
|
||||||
end
|
end
|
||||||
|
grp:OptionAlarmStateAuto()
|
||||||
grp:OptionEngageRange(self.EngagementRange)
|
grp:OptionEngageRange(self.EngagementRange)
|
||||||
self.SuppressedGroups[name] = false
|
self.SuppressedGroups[name] = false
|
||||||
if self.UseCallBack then
|
if self.UseCallBack then
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user