Search
No results
Combat stats and attacks
Demo 0.11.2How it works
Attack turn
- Each fight starts with your ward full and your armour unbroken. Each turn waits Attack interval, then attacks.
- The turn's attack is drawn when it starts: each special attack of your equipped items at its chance, the normal attack for the chance left over. When the chances add up to 1 or more they are scaled to sum to 1, and the normal attack is never drawn. A selected spell with its own attack replaces them all.
- An attack needs its ammo and, for a spell, its runes; without them the turn ends with no attack and the next turn waits again.
- Every hit of the attack follows the attack sequence below; an attack with several hits waits each hit's own interval between them. Then the next turn starts.
- Eating by hand or changing the spell restarts the turn: the wait starts over and a new attack is drawn. Auto eat does not.
Attack
- Pre-hit effects apply first, each at its chance.
- The attack misses a target with Immunity from. An avoidable attack also needs Hit chance; an unavoidable one always hits.
- Damage is the sum of the hit's damage formulas. Normal damage rolls uniformly between percent × Min hit and percent × Max hit; max hit, max hitpoints, current hitpoints and damage dealt formulas deal their percent of that value; fixed and fixed range formulas deal their own numbers. Each is truncated.
- A critical hit, with Critical hit chance, multiplies the damage by Critical hit multiplier, truncated. The target's Attack damage negation chance reduces it to 0.
- Above 0, damage becomes trunc(max(1, d × (1 + Percent damage dealt) × (1 + the target's Percent damage taken + Percent damage taken from + Percent damage taken from attacks) × (1 − Resistance) × (1 − ward ÷ max ward) − the target's Armour)). The ward factor applies to a target with ward, and armour until it breaks.
- The target loses that health and reflects Percent attack reflect of it. A target with ward also loses 1 ward, 2 with Double ward damage chance. A hit of at least the target's Armour breaks its armour when its Base armour is above 0.
- On-hit effects then apply, each at its chance.
Combat level
- A character's combat level is max(1, floor(Σ level × ratio)) over its combat style's combat level ratios; a level it lacks counts as 1.
- An enemy's combat level is the highest over its combat styles.
Game messages
Tables
| Combat style | Attack stances | Combat level | Accuracy rating levels | Evasion levels | Max hit |
|---|---|---|---|---|---|
| Melee | Stab, Slash, Crush, Block | 0.325 × | 1 × | 1 × | Strength bonus max hit over 1 × |
| Ranged | Accurate, Powerful, Long-Range | 0.4875 × | 1 × | 1 × | Strength bonus max hit over 1 × |
| Magic | Empowered, Focused | 0.4875 × | 1 × | 0.3 × | Damage bonus max hit over 1 × |
Formulas
- Combat stat: modified stat total
(max(0, round((Base stat total + Flat combat stat value) × (1 + Percent combat stat value))) if not Combat stat allow negative, otherwise round((Base stat total + Flat combat stat value) × (1 + Percent combat stat value))) if not Combat stat is percent, otherwise max(0, (Base stat total + Flat combat stat value) × (1 + Percent combat stat value)) if not Combat stat allow negative, otherwise (Base stat total + Flat combat stat value) × (1 + Percent combat stat value)- Power rating: modified value
max(trunc((Base value + Flat power rating) × (1 + Percent power rating)), 1)- Protection rating: modified value
max(trunc((Base value + Flat protection rating) × (1 + Percent protection rating)), 0)- Combat level: modified level
trunc(Base level + Flat combat level)- Evasion rating: base evasion rating
trunc(floor((Σ(level × ratio over Stance combat style evasion levels) + 9) × (Combat stats[Stance evasion stat] + 64)))- Evasion rating: evasion rating
max(trunc(floor(Base evasion rating × (1 + Percent evasion rating) + Flat evasion rating) × (1 − clamp(Darkness penalty, 0, 20) × 0.05)), 1)- Base max hit
Combat style max hit formula compute max hit(Modified combat stat totals, Modified combat levels)- Max hit
max(trunc(floor((Base max hit × (1 + Percent max hit) + Flat max hit) × (1 + Max hit combat triangle))), 1)- Min hit
clamp(trunc(floor(1 + Flat min hit + Max hit × Min hit based on max hit)), 1, Max hit)- Darkness penalty
trunc(Area darkness × (1 + Percent darkness) + Flat darkness − Flat light)- Base accuracy rating
trunc(floor((Σ(level × ratio over Attack stance combat style accuracy rating levels) + 9) × (Modified combat stat totals[Attack stance accuracy stat] + 64)))- Accuracy rating
max(trunc(floor(Base accuracy rating × (1 + Percent accuracy rating)) × (1 − 0.05 × clamp(Darkness penalty, 0, 20))), 1)- Base attack interval
trunc(Modified combat stat totals[Combat style attack interval stat])- Attack interval
max(floor(Base attack interval × (1 + Percent attack interval) + Flat attack interval), 250)- Base max hitpoints
Modified combat levels[Combat style max hitpoints level] × 10- Max hitpoints
max(trunc(floor(Base max hitpoints × (1 + Percent max hitpoints) + Flat max hitpoints)), 1)- Base max ward
max(trunc(Base combat stat totals[Combat style max ward stat]), 0)- Max ward
trunc(Modified combat stat totals[Combat style max ward stat])- Base armour
max(trunc(Base combat stat totals[Combat style armour stat]), 0)- Armour
max(trunc(Modified combat stat totals[Combat style armour stat]), 0)- Lifesteal
0 if Disable lifesteal > 0, otherwise Modified combat stat totals[Combat style lifesteal stat]- Critical hit chance
clamp(Flat critical hit chance, 0, 1)- Critical hit multiplier
max(1.5 + Flat critical hit multiplier, 1)- Strength bonus max hit
trunc(floor(22 + Σ(level × ratio over Levels) + (Σ(level × ratio over Levels) + 17) × Combat stats[Strength bonus stat] ÷ 64))Used by MeleeRanged
- Damage bonus max hit
trunc(floor(Combat stats[Max hit stat] × (1 + Combat stats[Damage bonus stat]) × (1 + (Σ(level × ratio over Levels) + 1) ÷ 200)))Used by Magic
Modifiers
| Modifier | Granted by |
|---|---|
| Flat max hit |
|
| Percent max hit |
|
| Max hit combat triangle |
|
| Flat min hit |
|
| Min hit based on max hit |
|
| Percent darkness |
|
| Flat darkness | None in the demo |
| Flat light |
|
| Percent accuracy rating |
|
| Flat attack interval | None in the demo |
| Percent attack interval |
|
| Flat max hitpoints | None in the demo |
| Percent max hitpoints | None in the demo |
| Disable lifesteal |
|
| Percent damage taken | |
| Percent damage dealt | None in the demo |
| Attack damage negation chance |
|
| Double ward damage chance |
|
| Flat critical hit chance |
|
| Flat critical hit multiplier |
|
| Percent attack reflect |
|
| Flat combat stat value |
|
| Percent combat stat value |
|
| Flat power rating |
|
| Percent power rating |
|
| Flat protection rating |
|
| Percent protection rating |
|
| Flat combat level |
|
| Flat evasion rating |
|
| Percent evasion rating |
|