KharvalenWiki
v0.9.16
English

Damage pipeline

The exact order in which a hit crosses the defenses, just as the game resolves it in v0.9.16.

The order of a hit

Every hit a unit takes goes through the same chain of checks, always in the same order. That order explains almost every “odd” combat interaction: why a dodged hit doesn’t trigger Thorns, why the shield blocks a tiny hit and a huge one alike, or why a killing blow never gets to apply its status.

The chain distinguishes two damage families. Direct hits travel the full pipeline. The periodic damage of statuses —Burn, Poison, Bleed— skips evasion, shield and armor: only percentage damage reduction can mitigate it.

Step by step

OrderStepWhat happens
0Enemy shieldEnemies only, and only from difficulty ×30. If the enemy still has shield charges, one is spent and the direct hit ends here: no health, no status, no procs, no lifesteal. Periodic damage passes straight through.
1EvasionDirect hits only, capped at 75%. Dodging cuts the entire pipeline: no Thorns, no shield, no status.
2Reflection (Thorns)Returns the raw damage to the attacker. The bounce carries no statuses and cannot be reflected again.
2.5Shield block (player)One charge blocks one whole hit, whatever the damage. A blocked hit touches no health and applies no status.
3Elemental synergy×1.3 if your element beats the target’s, ×0.7 if it loses, ×1 if unrelated. Initial hit only.
4ArmorDamage is reduced by the formula below. Periodic damage skips it.
5Damage reductiondamage × (1 − reduction), capped at 95%. Unlike armor, it does apply to periodic damage.
6Health and eventsHealth is subtracted and damage events fire.
7Apply statusOnly if the target survives the hit: a killing blow never applies its status.
8Death or downingThe outcome resolves: death, co-op downing, or auto-revive.

Step 2.5 really exists: the player's shield block resolves between Thorns and elemental synergy. And step 0 only exists for enemies, from difficulty ×30 on. A single boss also has a gate BEFORE step 0: Azhakar, the final boss of the Dwarven Dungeon, blocks every direct hit (“Blocked!”), drops periodic damage and refuses statuses while no living player is within 32 m of the centre of his arena. Since v0.9.13 the same gate also closes while no player can be reached on foot (up on the brazier pillar, on high rocks or on the merchant platform).

The armor formula

final damage = damage × 25 / (25 + Armor)
The constant is 25 · damage never drops below 1 · periodic damage ignores armor
ArmorDamage that passes
0100 %
2550 %
5033 %
7525 %
10020 %

Armor has diminishing returns: the first 25 points cut half the damage, but doubling your armor no longer doubles the mitigation. From there, each point is worth a little less than the previous one.

Watch outEvasion is capped: 75%. Beyond that, stacking more evasion adds nothing — and remember that periodic damage cannot be dodged.

Practical consequences

  • Dodging is total defense: a dodged hit doesn’t exist. It triggers no Thorns, consumes no shield and applies no status.
  • The shield doesn’t look at numbers: one charge blocks a 5-damage hit and a 500-damage hit alike. Against a boss’s big hits, every charge is gold.
  • A killing blow never applies its status: if the hit kills, the poison or stun it carried is lost.
  • Only damage reduction protects against periodic damage: evasion, shield and armor play no part.
  • Enemies have shields too: from difficulty ×30 every enemy spawns with charges that absorb whole hits — 1 at ×30 and one more per ×10 (2 at ×43). Periodic damage ignores them, but the hit that applies the status has to land first.
  • Azhakar cannot be sniped: while nobody is inside his arena (within 32 m of its centre) nothing gets through — no hits, no periodic damage, no statuses. Nor if you climb somewhere he can’t reach on foot (a pillar, a high rock): he turns immune and walks home. You have to come down and fight up close.

Verified against game v0.9.16.