Border Zones and Posture
Border zones define the area an IADS considers its responsibility. Combined with posture, they control how Medusa identifies contacts and when it authorizes engagement.
Defining border zones
Section titled “Defining border zones”Place a trigger zone or a drawing polygon in the DCS Mission Editor. Give it a name you’ll reference in the config. Any shape works: circles, polygons, or freehand drawings. Multiple zones can be listed for a single network.
MEDUSA_CONFIG = { Networks = { { name = "SyADF", coalition = "red", prefix = "SyADF", borderZones = { "BORDER_SYRIA" }, doctrine = { Posture = "COLD_WAR", }, }, },}Medusa discovers the zones at mission start by searching env.mission.triggers.zones and env.mission.drawings.layers for objects matching the listed names. Circle zones are converted to 32-vertex polygons. The discovered geometry appears on the tactical display as a dashed polygon colored by posture.
If no borderZones are configured, the identification system still works. Contacts advance through the ladder based on timers and criteria alone, without any geographic gating.
The identification ladder
Section titled “The identification ladder”Every contact starts as UNKNOWN and progresses through four levels:
| Level | Meaning | Can be engaged? |
|---|---|---|
| UNKNOWN | Just detected, not yet assessed | No |
| BOGEY | Confirmed as a non-friendly contact | No |
| BANDIT | Identified as an adversary (2 of 3 criteria met) | Only under ROE FREE |
| HOSTILE | Cleared to engage (trespass, hostile action, or hostile intent) | Yes |
UNKNOWN to BOGEY
Section titled “UNKNOWN to BOGEY”Every new contact gets a randomized IFF confirmation timer representing the time operators need to confirm a new radar return as non-friendly. HOT_WAR: 3-8 seconds. WARM_WAR: 10-30 seconds. COLD_WAR: 30-60 seconds. If the contact enters the ADIZ ring in WARM_WAR or COLD_WAR, it is forced to BOGEY immediately regardless of the timer.
BOGEY to BANDIT
Section titled “BOGEY to BANDIT”Requires 2 of these 3 criteria:
-
Intel timer expires. A randomized per-contact timer simulating the time it takes intelligence to correlate the contact. HOT_WAR: 15-45 seconds. WARM_WAR: 45-120 seconds. COLD_WAR: 120-300 seconds.
-
Radar illumination. The IADS is actively painting the contact with a sensor. In HOT_WAR this counts immediately. In WARM_WAR the contact must be illuminated for 30 continuous seconds. In COLD_WAR this does not count (peacetime radar contact is routine).
-
VID timer expires. A second randomized timer simulating visual or non-cooperative identification. HOT_WAR: 30-60 seconds. WARM_WAR: 60-180 seconds. COLD_WAR: 180-600 seconds.
The randomization means two identical contacts entering at the same time will not be identified simultaneously. Each contact gets its own timer values drawn at random from the range.
BANDIT to HOSTILE
Section titled “BANDIT to HOSTILE”Requires any 1 of these 3 conditions:
NFZ trespass. The contact is inside the border zone. In HOT_WAR this is instant. In WARM_WAR there is a 15-45 second delay. In COLD_WAR the delay is 30-120 seconds, with wide random variation. The contact must still be inside the border when the timer expires. If the aircraft leaves and re-enters, the timer resets. These delays simulate the time it takes commanders to authorize engagement after an airspace violation.
Hostile action. The contact launched an anti-radiation missile. When Medusa’s kinematic analysis confirms a detected missile as an ARM, it backtracks the missile’s trajectory to identify the launching aircraft. That aircraft is flagged with hostile action and instantly promoted to HOSTILE regardless of posture or position. This only applies to confirmed ARMs, not to other weapons (Medusa does not operate on bomb or air-to-air missile employments yet).
Hostile intent. The contact is heading directly toward a defended site (battery, C2 node, or airbase) at combat speed (above 150 m/s, within 30 degrees of the target bearing) for a sustained period. In HOT_WAR and WARM_WAR the sustained period is 60 seconds. In COLD_WAR it is 120 seconds.
HOT_WAR without border zones
Section titled “HOT_WAR without border zones”When no border zones are configured and posture is HOT_WAR, contacts that reach BANDIT are promoted to HOSTILE after a 30-second dwell timer. This matches the behavior of most DCS IADS scripts and requires no geographic setup.
ADIZ projection
Section titled “ADIZ projection”When ADIZEnabled is true (the default), Medusa projects an Air Defense Identification Zone outside the border polygon. The projection distance is ADIZBufferNm (default 12 nautical miles). The ADIZ shape is a convex hull of the expanded border, which means concave notches in the border are smoothed out. An aircraft in a border notch has nowhere to go but into your territory, so the ADIZ correctly encompasses it.
The ADIZ appears on the tactical display as a thinner dashed line outside the border polygon.
In WARM_WAR and COLD_WAR, the ADIZ affects behavior:
- Contacts entering the ADIZ are forced to BOGEY (if still UNKNOWN)
- Contacts outside the ADIZ in COLD_WAR are frozen at BOGEY and cannot advance
- HOSTILE is permanent for the lifetime of the track. Once declared hostile, the classification is never reversed.
Guilt by association
Section titled “Guilt by association”When GuiltByAssociation is true (the default), a contact that gets promoted to BANDIT or HOSTILE also promotes nearby contacts flying in formation. Formation is detected by proximity (within 11 km), heading match (within 15 degrees), and speed match (within 20%). If one aircraft in a flight is declared hostile, the whole flight is declared hostile on the same tick.
HARM backtrack
Section titled “HARM backtrack”When Medusa’s kinematic analysis confirms a track as an anti-radiation missile, it checks the missile’s position history against all other tracks. It finds the track that was closest to the missile’s earliest known position at the same time. That track is flagged as having committed a hostile action, which triggers instant HOSTILE promotion. If guilt by association is enabled, the launching aircraft’s flight mates are promoted too.
Runtime posture changes
Section titled “Runtime posture changes”Mission triggers can change posture mid-mission:
-- Escalate to wartime footingMedusa.API.setPosture("SyADF", "HOT_WAR")
-- Check current posturelocal posture = Medusa.API.getPosture("SyADF")Posture changes take effect on the next identification cycle (within 1 second). All identification levels are permanent ratchets. A contact classified as HOSTILE stays HOSTILE regardless of posture changes or position.
Tactical display
Section titled “Tactical display”When border zones are configured, the tactical display shows:
- The border polygon as a dashed line colored by posture (red for HOT_WAR, amber for WARM_WAR, cyan for COLD_WAR)
- The ADIZ projection as a thinner dashed line outside the border
- The current posture in the status panel
Press Z to toggle border zone visibility. The toggle is in the settings panel alongside the existing display options.