← Core Game Mechanics Enemy Incapacitation Open Calculator →

Enemy Incapacitation

Author:IncognitoIncognito

Overview

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

  1. Enemy HP hits 0

  2. Enemy enters the INCAP body state

  3. Their HP is set to healthOnEnterIncapPercent of their max HP

  4. An 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 = True on most enemies)

  • On revive, HP is set to healthOnFinishRevivePercent of max HP (default: 20%)

  • On revive, armor is set to armorOnFinishRevivePercent of 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 incap

This 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 dmgOvercapFactor by 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 = 1

  • autoDeactivationDelay = 1 (rule expires 1 second after incap entry)

Base multipliers (0.4x = 60% reduction):

Damage Type

Multiplier

dmg_type_melee

0.4

dmg_type_bullet

0.4

dmg_type_heavybullet

0.4

dmg_type_plasma

0.4

dmg_type_charged_plasma

0.4

dmg_type_melta

0.4

dmg_type_laser

0.4

dmg_type_fire

0.4

dmg_type_volkite

0.4

dmg_type_volkite_exp

0.4

dmg_type_pyro

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 is True, 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 is True)

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.sslbin

  • ssl/damage/damagable/damagable_incap_module.sso

  • ssl/game_mode/rules/server/game_mode_rule_incap.sso

  • ssl/characters/{faction}/{enemy}/npc_{enemy}_server.cls

  • ssl/weapons/weapon_user/gun_strike/providers/gun_strike_target_provider_incap.sso

  • ssl/characters/ai_character/npc_server.cls

  • ssl/status_effects/status_effect_descriptions/status_effects.sso

  • ssl/damage/damager/damager_descriptions_library.sso

SM2 Melee Calculator Calculate exact damage for any weapon, variant, and perk combination against any enemy on any difficulty.
Open Calculator →