AEGIS IADS¶
Event-Driven Integrated Air Defense for DCS World | v0.8.0
Brought to you by VMFA(AW)-224 Skunkworks
What Is AEGIS¶
AEGIS models how integrated air defense networks actually behave — SAMs that start dark, activate on early warning radar feeds, react to anti-radiation missiles, degrade gracefully when infrastructure is destroyed, and cycle emissions unpredictably when operating autonomously.
- EW-driven activation. SAMs start dark. Only EW radars poll for contacts. SAMs activate when a contact enters their activation range.
- Graceful degradation. Kill the EW and SAMs go autonomous. Destroy a power source and the linked node goes permanently dark. Every infrastructure kill makes the IADS worse, never broken.
- EMCON cycling with crew behavior. Degraded SAMs cycle radars on/off with randomized timing, threat memory, quick peeks, and double-sweeps. No two cycles are the same.
- HARM reaction policies. SAMs detect anti-radiation missiles and react based on system capability — self-protect systems engage, SAMs with PD escorts lean on point defense, others go dark. Crews have reaction delays, panic chances, and the occasional brave stand.
- PB HARM network warning. Pre-briefed HARMs are tracked via trajectory projection. The network warns SAMs in the path — but only if a live EW is providing coverage.
- ECM jammer framework. ECM aircraft suppress emitting SAMs with jammed EMCON cycling. Burn-through engagements when targets get too close. Player-controlled via F10 menu.
- Decoy susceptibility. TALDs activate SAMs and waste missiles. Bombs and other ordnance are filtered out.
- Zero dependencies. Single Lua file, pure DCS scripting engine. No MOOSE, no MIST, no desanitization. Name your groups, load the script, done.
Quick Example¶
Name your groups, load the script, done:
EW-NORTH EW radar
SAM-SA10-NORTH-1 SA-10 in sector NORTH
SAM-SA2-NORTH-2 SA-2 in sector NORTH
PD-SA15-NORTH-2 Point defense for the SA-2
PWR-EW-NORTH Power source for the EW
local iads = AEGIS:New("red", { debug = true })
iads:Activate()
iads:AddF10Menu()
iads:StartMapDebug(15)
Feature Overview¶
| Feature | Version |
|---|---|
| EW-driven WEZ gating | v0.1+ |
| Infrastructure dependencies (EW, PWR) | v0.2+ |
| EMCON cycling with jitter behaviors | v0.2+ |
| HARM detection (TOO/SP mode) | v0.3+ |
| HARM reaction policies (STAY_HOT, LAST_DITCH, GO_DARK) | v0.3.2+ |
| Crew hysteresis (panic, multi-HARM saturation) | v0.3.2+ |
| Contact filtering (aircraft + TALDs only) | v0.3.1+ |
| PB HARM network warning (trajectory projection) | v0.6+ |
| PD stays hot during parent HARM reaction | v0.6.2 |
| HARM targeting PD redirects to parent | v0.6.2 |
| ECM jammer framework (jammed EMCON cycling) | v0.7.0+ |
| PB HARM EW detection delay (score-per-sweep) | v0.7.1 |
| Alert frustration (ALERT timeout without WEZ contact) | v0.7.2 |
| Orphan PD promotion (PD → autonomous SAM) | v0.7.2 |
| EW detection range override (DET suffix) | v0.8.0 |
| Critical unit tracking (tracking radar mission kill) | v0.8.0 |
| High Digit SAMs + CurrentHill mod support | v0.8.0 |
| Round-robin EW polling (performance) | v0.8.0 |
System Database¶
| System | WEZ | NEZ | ACT Range | Alt Min | Alt Max | Self-Protect | Source |
|---|---|---|---|---|---|---|---|
| SA-2 | 24 NM | 10 NM | 30 NM | 150 ft | 80,000 ft | Base DCS | |
| SA-3 | 10 | 5 | 14 | 600 | 80,000 | Base DCS | |
| SA-5 | 125 | 60 | 150 | 1,000 | 100,000 | Base DCS | |
| SA-6 | 18 | 6 | 22 | 60 | 26,000 | Base DCS | |
| SA-8 | 7 | 3.5 | 9 | 30 | 16,500 | Base DCS | |
| SA-10 | 39 | 20 | 50 | 50 | 100,000 | Yes | Base DCS |
| SA-10B | 49 | 25 | 63 | 50 | 100,000 | Yes | HDS |
| SA-11 | 18 | 8 | 22 | 10 | 75,000 | Yes | Base DCS |
| SA-12 | 40 | 20 | 50 | 100 | 100,000 | Yes | HDS |
| SA-15 | 8 | 3 | 10 | 10 | 20,000 | Yes | Base DCS |
| SA-15CH | 9 | 3 | 11 | 10 | 33,000 | Yes | CurrentHill |
| SA-17 | 20 | 8 | 25 | 30 | 75,000 | Yes | HDS |
| SA-19 | 5 | 2 | 6 | 15 | 12,000 | Base DCS | |
| SA-20A | 65 | 30 | 80 | 50 | 100,000 | Yes | HDS |
| SA-20B | 65 | 30 | 80 | 50 | 100,000 | Yes | HDS |
| SA-21 | 105 | 50 | 130 | 50 | 100,000 | Yes | HDS |
| SA-23 | 50 | 25 | 65 | 50 | 100,000 | Yes | HDS |
| HAWK | 25 | 12 | 30 | 150 | 45,000 | Base DCS | |
| PATRIOT | 40 | 20 | 50 | 200 | 80,000 | Yes | Base DCS |
| NASAMS | 10 | 5 | 12 | 100 | 50,000 | Base DCS | |
| GEPARD | 2 | 1 | 3 | 15 | 10,000 | Base DCS | |
| SHILKA | 1.5 | 0.5 | 2 | 0 | 10,000 | Base DCS | |
| ROLAND | 4 | 2 | 5 | 50 | 16,000 | Base DCS | |
| RAPIER | 3 | 1.5 | 4 | 50 | 10,000 | Base DCS | |
| TOR | 6 | 3 | 8 | 30 | 20,000 | Yes | Base DCS |
All values are user-editable in SYSTEM_DB. HDS values are real-world estimates pending in-game verification.
Credits¶
- Concept and Requirements: VMFA(AW)-224 Skunkworks
- Architecture and Implementation: VMFA(AW)-224 Skunkworks + Claude
- Inspired by: Skynet IADS (walder), IADScript (Grimes)
- Built for: VMFA(AW)-224 Skunkworks and the DCS community
License¶
Free to use and modify. Attribution appreciated but not required.