Enemy Incapacitation
Contents
OverviewHow Incap WorksInstakill Threshold Spillover Damage Protection"On Fire" Incap PreservationExcluding Damage TypesEnemies Without Incap (Die Outright)Per-Enemy Incap ValuesSource FilesOverview
When an enemy's HP reaches 0, they don't necessarily die. Most enemies enter an incap state; a brief vulnerability window where they can be finished off. If not killed during incap, they revive with some amount of health. Some enemies (trash mobs, bosses) skip incap entirely and just die outright.
How Incap Works
Entering Incap
Enemy HP hits 0
Enemy enters the INCAP body state
Their HP is set to
healthOnEnterIncapPercentof their max HPAn incap timer starts (
incapDurationSec)
During Incap
Damage from sustained fire is partially reduced during the first 1 second after incap entry (see Spillover Damage Protection below). After that window, most damage flows normally.
Burning DoT keeps ticking but cannot deliver the killing blow (see On Fire Incap Preservation below). All other DoTs simply deactivate the moment the target enters incap.
Gun strike / execution on an incapped enemy = forced lethal damage (instant kill, bypasses spillover protection).
The attack that triggered incap does NOT carry overkill damage into the incap HP pool (see Instakill Threshold below).
Surviving Incap
If the incap timer expires and the enemy hasn't been killed, they auto-revive (
needReviveOnTimerFinished = Trueon most enemies)On revive, HP is set to
healthOnFinishRevivePercentof max HP (default: 20%)On revive, armor is set to
armorOnFinishRevivePercentof max armor (default: 100% — full armor)Each incap counts against
incapLimit— once the limit is reached, the next time they would incap, they just die instead
Incap is Prevented During
TRAVERSAL body state (climbing, jumping through terrain)
Instakill Threshold
When a hit drops an enemy to 0 HP, the game checks whether that hit should skip incap entirely:
if (ActualDmg) >= (MaxHealth x dmgOvercapFactor) => skip incapThis formula comes directly from the compiled class definition (damagableincapmodule_release.sslbin), which contains the developer tooltip: if (ActualDmg) >= (MaxHealth x Factor) => skip incap.
Default factor: 1.5 — a single hit must deal >= 150% of the enemy's max HP to instakill. Confirmed as the class default by decoding the binary property table (the only float 1.5 in the file, position-matched to
dmgOvercapFactorby cross-referencing all other decoded defaults against known values).Termagant factor: 2 — a single hit must deal >= 200% of max HP to instakill (higher bar = more likely to enter incap)
The check uses the raw damage of the single hit, not overkill (damage minus remaining HP). It doesn't matter how much HP the enemy had left; only whether the hit itself exceeds the threshold.
useDamageOvercap(class default: True) controls whether this check happens. All enemies have it enabled. Only players and bot marines explicitly disable it.
useDamageOvercap is a separate boolean that controls whether this check happens at all. Players and bot marines explicitly set this to False, guaranteeing they always enter incap regardless of how hard they get hit.
Spillover Damage Protection
When an enemy enters incap, the game applies a temporary damage reduction window to absorb the spillover damage from sustained fire. Without this, an automatic weapon's followup shots could punch right through the small incap HP pool and kill the enemy before the player can react and execute.
This is implemented via a DamageSensitivityRuleBodyState rule keyed to the INCAP body state, defined in the base ssl/characters/ai_character/npc_server.cls:
priority = 1autoDeactivationDelay = 1(rule expires 1 second after incap entry)
Base multipliers (0.4x = 60% reduction):
Damage Type | Multiplier |
|---|---|
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
| 0.4 |
Per-Enemy Spillover Protection Overrides
Some enemies override the base spillover rule. The 3-second duration on the boss tier exists because their executions are higher-value and worth giving the player more time to react.
Enemy | Duration | Damage type overrides declared |
|---|---|---|
Carnifex | 3s | volkite=0.4, volkite_exp=0.4 |
Neurothrope | 3s | volkite=0.4, volkite_exp=0.4 |
Helbrute | 3s | melee=0.4, bullet=0.8, laser=0.8, volkite=0.4, volkite_exp=0.4 |
Tyranid Prime | 1s | melee=0.4, bullet=0.8, laser=0.8, volkite=0.4, volkite_exp=0.4 |
Rubric Marine | 1s | pyro=0.4 |
Rubric Marine (Flamer) | 1s | pyro=0.4 |
"On Fire" Incap Preservation
The Burning status effect (applied by pyre weapons in PvE, defined in ssl/status_effects/status_effect_descriptions/status_effects.sso) is the ONLY DoT status effect in the game with this combination of flags:
shouldDeactivateOnIncap = False- the burn keeps ticking after the enemy enters incap (default for all other DoTs isTrue, i.e., they shut off on incap)canKillInIncap = False- the burn ticks cannot push HP below the kill threshold during incap (default for all other DoTs isTrue)
A burning enemy that enters incap will continue to take burn ticks for the remainder of the 5.5s duration (1.5 ticks/sec, base 5 damage per tick from pyroblaster_burning_damager), but the engine clamps the damage so it never delivers the killing blow.
Direct hits still kill normally. This protection is specific to the Burning DoT's tick damage. A fresh pyre-weapon shot landing on an incapped enemy can absolutely still kill them (subject to the Spillover Damage Protection's dmg_type_pyro = 0.4x reduction during the 1-second window).
Other DoTs deactivate on incap. Every other DoT inherits the default shouldDeactivateOnIncap = True, meaning they simply turn off when the target enters incap and therefore cannot kill during incap either - just by a different mechanism. Examples: Toxic Zone, Taser, Shock, Laxity, Pacifist Berserker self-damage, Ultramar Banner zone damage, molotov fire loops, flamer fire loops.
Excluding Damage Types
excludingIncapDamages lists damage types that bypass incap completely. If the killing blow is one of these types, the enemy just dies — no incap state, no overcap math.
Termagant:
excludingIncapDamages = ["dmgtypeexplosive"]
No other enemy currently uses this.
Enemies Without Incap (Die Outright)
These enemies have no DamagableIncapModule. When their HP hits 0, they're dead:
Hormagaunt
Chaos Cultist
Chaos Cultist (Sniper)
Tzaangor
Vortex Beast
Heldrake
Trygon
Spore Mine
Per-Enemy Incap Values
Enemy | Enter Incap HP% | Revive HP% | Duration (s) | Incap Limit | dmgOvercapFactor | excludingIncapDamages |
|---|---|---|---|---|---|---|
Termagant | 20 | 20 | 3 | 1 | 2 | explosive |
Tyranid Warrior | 20 | 20 | 10 | 2 | 1.5 | — |
Tyranid Warrior (Assault) | 20 | 20 | 10 | 2 | 1.5 | — |
Tyranid Warrior (Grenadier) | 20 | 20 | 10 | 2 | 1.5 | — |
Tyranid Warrior (Sniper) | 20 | 20 | 10 | 2 | 1.5 | — |
Tyranid Warrior (Whip) | 20 | 20 | 10 | 2 | 1.5 | — |
Ravener | 20 | 20 | 10 | 2 | 1.5 | — |
Lictor | 20 | 20 | 10 | 2 | 1.5 | — |
Zoanthrope | 25 | 50 | 10 | 1 | 1.5 | — |
Neurothrope | 5 | 5 | 8 | 2 | 1.5 | — |
Biovore | 20 | 20 | 10 | 2 | 1.5 | — |
Carnifex | 10 | 25 | 8 | 2 | 1.5 | — |
Hive Tyrant | 10 | 10 | 5 | 2 | 1.5 | — |
Tyranid Prime | 20 | 20 | 120 | 2 | 1.5 | — |
Rubric Marine | 20 | 20 | 10 | 2 | 1.5 | — |
Rubric Marine (Flamer) | 20 | 20 | 10 | 2 | 1.5 | — |
Tzaangor (Spearman) | 20 | 20 | 10 | 2 | 1.5 | — |
Occult Terminator (Melee) | 20 | 20 | 10 | 2 | 1.5 | — |
Occult Terminator (Ranged) | 20 | 20 | 10 | 2 | 1.5 | — |
Chaos Spawn | 20 | 20 | 10 | 2 | 1.5 | — |
Lesser Sorcerer | 20 | 20 | 15 | 2 | 1.5 | — |
Helbrute | 6 | 20 | 15 | 2 | 1.5 | — |
A few enemies that deviate from the norm and are worth highlighting are:
Zoanthrope revives at 50% HP, the tankiest revive in the game. Players should prioritize finishing it during incap.
Neurothrope only has 5% incap HP, relatively easy to finish off even without triggering an execute.
Helbrute has only 6% incap HP but a long 15s window.
Termagant is designed as an armor battery: high overcap factor (2 = need 200% max HP to instakill, harder than other enemies), low incap limit (1), short duration (3s), and explosives skip incap entirely. The game wants you to incap them and execute for armor.
Tyranid Prime has a 120s (2 minute) incap duration likely as a result of only being available in a scripted boss encounter.
Source Files
ssl/damage/damagable/damagable_incap_module_release.sslbinssl/damage/damagable/damagable_incap_module.ssossl/game_mode/rules/server/game_mode_rule_incap.ssossl/characters/{faction}/{enemy}/npc_{enemy}_server.clsssl/weapons/weapon_user/gun_strike/providers/gun_strike_target_provider_incap.ssossl/characters/ai_character/npc_server.clsssl/status_effects/status_effect_descriptions/status_effects.ssossl/damage/damager/damager_descriptions_library.sso