In short, this script simulates an IADS within the scripting limitations of MIST and DCS. Early Warning Radar Stations (EW Radar) scan the sky for contacts. These contacts are correlated with SAM (Surface to Air Missile) sites. If a contact is within firing range of the SAM site it will become active.
A modern IADS also depends on command centre's and datalinks to the SAM sites. The IADS can be set up with this infrastructure. Destroying it will degrade the capability of the IADS.
You can just have just the basics of IADS which will function fine with minimal scripting and correct object naming but IADS really comes into it's own when you add connectivity with Control centres, Early Warning Radars, Radio relays (Connection nodes) Power sources and Point Defence SAMs.
Destroy the COMMS relays, you degrade, destroy EWRs, you degrade, destroy the Power source and the Control or EWRs cannot function, you degrade, destroy the CONTROL unit, IADS is DOWN.
This puts a totally different perspective to planning and squadron skillsets... for those that want it of course.
I've configured a simple mission to allow anyone to play with the concept of IADS SP or by moving the bits make a very engaging MP mission.
There are 2 air-starts, one 5000agl coming into a SA2 site at Sukumi and another, 30,000agl heading towards SA10 site in the mountains... both AC are loaded with HARMS. The SA10 have a SA15 for point defence of any inbound HARMS but from 30000' they are fast and some will get through. Both aircraft will be picked up by one of 2 EWRs.
This mission is a network... the EWRs have power sources and COMMs Nodes as do the SA2 and SA10 sites and all connect back to CONTROL. CONTROL normally keeps SA2's off until AC are in the kill zone and then turn them on... SA10's may be on for longer... A screen text will show when you have been detected by the EWRs.... in a mission this would push start red air response....
Here's a diagram below .. and the miz here For any mission designers here is the configuration code...
Code: Select all
do
--create IADS
redIADS = SkynetIADS:create('Caucasus')
--add all units with unit name beginning with 'EW' to the IADS:
redIADS:addEarlyWarningRadarsByPrefix('EW')
--add all groups begining with group name 'SAM' to the IADS:
redIADS:addSAMSitesByPrefix('SAM')
--add a command center:
local commandCenter = StaticObject.getByName("Command-Center-North")
local comPowerSource = StaticObject.getByName("Command-Center-North-Power-Source")
redIADS:addCommandCenter(commandCenter):addPowerSource(comPowerSource)
--add a power source and a connection node for this EW radars:
local powerSource = StaticObject.getByName('Power-EW-Centre')
local connectionNodeEW = StaticObject.getByName('Con-Node-EW-Centre')
redIADS:getEarlyWarningRadarByUnitName('EW-Centre'):addPowerSource(powerSource):addConnectionNode(connectionNodeEW)
local powerSource = StaticObject.getByName('Power-EW-West')
local connectionNodeEW = StaticObject.getByName('Con-Node-EW-West')
redIADS:getEarlyWarningRadarByUnitName('EW-West'):addPowerSource(powerSource):addConnectionNode(connectionNodeEW)
--add a connection node to this SA-2
local connectionNode = Unit.getByName('Mobile-Command-Post-SAM-SA-2')
redIADS:getSAMSiteByGroupName('SAM-SA-2'):addConnectionNode(connectionNode):setAutonomousBehaviour(SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DARK)
--SA-2 site will go live at 70% of its max search range:
redIADS:getSAMSiteByGroupName('SAM-SA-2'):setEngagementZone(SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_SEARCH_RANGE):setGoLiveRangeInPercent(80)
--all SA-10 sites shall act as EW sites
redIADS:getSAMSitesByNatoName('SAM-SA-10-Centre'):setActAsEW(true)
local connectionNode = Unit.getByName('SAM-SA-10-node')
redIADS:getSAMSiteByGroupName('SAM-SA-10-Centre'):addConnectionNode(connectionNode)
--set the sa15 as point defence for the SA-10 site, we set it to always react to a HARM so we can demonstrate the point defence mechanism in Skynet
local sa15 = redIADS:getSAMSiteByGroupName('SAM-SA-15-pointdefence')
redIADS:getSAMSiteByGroupName('SAM-SA-10-Centre'):addPointDefence(sa15):setHARMDetectionChance(100):setIgnoreHARMSWhilePointDefencesHaveAmmo(true)
-- activate
redIADS:activate()
-- redIADS:setupSAMSitesAndThenActivate()
end
and a little more....