Module fight_breakdown

Source
Expand description

Per-source damage/heal breakdown of one completed fight.

The summary a result screen reads: how much each skill, stone, law, pet facet and over-time effect actually contributed. Two rules define what the numbers mean:

  1. Applied, not dealt. Every amount is counted at the one HP-mutation point of its direction (handle_damage / handle_heal), so damage is post-mitigation and post-shield and heal is post-overheal-cap. The rows of a side therefore sum to exactly the HP that side actually lost or regained.
  2. Stamped at emit, never inferred. CombatSource rides on the Damage / Heal events themselves; the accumulator only adds up what the emitting code already declared.

Ability-stone stat modifiers are deliberately not a source of their own: they multiply an ability’s numbers before any event exists, so a skill’s row includes the modifiers socketed into it. Shape supports (Split/Chain/Pierce/ Repeat/Pulse/Leech) do get their own row — they produce extra hits, which are real events — under CombatSource::AbilityDerived.

Structs§

ActorBreakdown
Everything one combatant produced during the fight.
BreakdownEntry
Aggregated totals for one (actor, source) pair.
FightBreakdown
The retrievable per-fight summary. Written once, at EndFight.

Enums§

CombatSource
What produced one damage or heal instance. Stamped at the emit site, where the producing id is always in scope.