Damage Calculation
Every attack resolves through a pipeline: total attack power determines the weapon damage range, then an action multiplier scales it, and finally the target's defence reduces the result.
Total Attack
Total attack is the sum of three components that vary by combat style.
Attribute Bonus by Style
| Style | Attribute | Damage per Point |
|---|---|---|
| Melee | Strength | 1 |
| Ranged | Dexterity | 1 |
| Magic | Intelligence | 1 |
Weapon Damage Range
Once total attack is known, the weapon damage range is derived:
The actual roll is a uniform random integer between damageMin and damageMax (inclusive).
Action Multiplier
Each combat action has a damageMultiplier that scales the rolled damage. A Light Attack uses 0.6x, Normal Attack 1.0x, Heavy Attack 1.5x, and talent abilities range from 0.5x to 2.5x. See the Combat Actions page for the full table.
Defence Reduction
Defence uses a diminishing-returns curve that applies identically in all combat contexts: open-world, encounter sites, expeditions, raids, and PvP. Physical attacks check defence; magic attacks check magicDefence.
At 100 defence, reduction is 50%. At 200, it is ~67%. The curve approaches but never reaches 100%.
Final Damage
Damage is always at least 1. If the attack is a critical hit, the crit multiplier is applied before defence reduction (see Critical Hits).
Constants Reference
| Constant | Value | Description |
|---|---|---|
MIN_DAMAGE | 1 | Minimum damage any attack can deal (after all reductions) |
ENCOUNTER_TURN_COST | 50 | Turn cost to initiate a single encounter |
MELEE_DAMAGE_PER_STRENGTH | 1 | Bonus melee damage per point of Strength |
RANGED_DAMAGE_PER_DEXTERITY | 1 | Bonus ranged damage per point of Dexterity |
MAGIC_DAMAGE_PER_INTELLIGENCE | 1 | Bonus magic damage per point of Intelligence |
EVASION_TO_SPEED_DIVISOR | 10 | Evasion points per 1 speed (for initiative) |