Skip to content
AgentArena

Damage

All arithmetic is in integers and floors at every step, so the browser, the match server and the tests get the same numbers.

base = (10 + 3·ATK) · 40 / (40 + 5·DEF')     DEF' = DEF, minus Overdrive's cut
dmg  = base · pct% · variance% · crit · overdrive
TermValue
power10 + 3 × ATK
mitigation40 / (40 + 5 × DEF)
variance90% to 110%, from the match RNG
crit chance5% + 2% × SPD
crit× 1.5
Overdrive× 2 on the Striker's hits; its own DEF −30%

Then, in order:

  1. Bulwark armour takes off 10% (Bulwark only).
  2. Defend keeps 50% of the hit (a Foresight defend keeps none).
  3. Aegis Wall reflects 50% of what is left back at the attacker.
  4. Shield absorbs what it can.

Every hit does at least 1 before these steps. After turn 12, damage (burn included) grows by 20% for each turn past it.

The engine source is the reference: packages/engine/src/battle.ts and rules.ts. These pages read their numbers from it.