Damage Over Time (DOT)¶
DOT is a debuff that damages the affected fighter near the start of each normal turn. Status durations decrease separately at turn end. DOT is useful for persistent damage that does not depend on a direct attack landing each turn.
DOT bypasses shields and reduces health directly. Every active DOT instance calculates and applies its damage separately.
Damage types¶
The DOT's damage_type determines which value is multiplied by its configured
value:
| Damage type | Raw damage |
|---|---|
flat |
value |
current_health_percent |
Target's current health × value |
maximum_health_percent |
Target's maximum health × value |
attack_percent |
Caster's effective attack when the DOT deals damage × value |
initial_attack_percent |
Caster's attack captured when the DOT was applied × value |
For current_health_percent, each DOT instance uses the health remaining when
that instance resolves. Earlier DOT damage during the same turn can therefore
reduce the base used by later instances.
Reduction and rounding¶
After calculating raw damage, Cowculator applies the affected fighter's
dot_reduction and rounds the result once using round-half-up:
Example
A fighter has 1,000 maximum health and 0.3 DOT reduction. A
maximum_health_percent DOT with value: 0.125 resolves as follows:
Each DOT stack keeps its own duration. At turn start, all active DOT instances
resolve as one batch. If an earlier instance reduces health to 0, the
remaining DOT instances still produce events with damage_applied: 0. The turn
then ends before other statuses, passives, actions, regeneration, or status
expiry.
Looking for exact fields?
Use the OpenAPI reference for the complete DOT schema, supported values, and validation rules.