
Survive the hit
Watch armor, block and Absorption reduce a hit.
One hit. Three layers of protection.
Interactive example

892.49 stopped by defenses
ENTER STATS / SET UP THE EXAMPLE
Attacker level
Go deeper when you need to.
Open a note for the formulas, worked cases and exceptions behind this example.
01Defense and level normalization
For Defense D against attacker level L:
- Effective armor A = D × 100 / (100 + 12 × L).
- Physical mitigation m = 0.85 × A / (A + 50).
- After penetration p: physical taken factor = 1 − m × (1 − clamp(p / 10,000, 0, 1)).
The runtime hit helper approaches 85% virtual mitigation as armor increases. An older parameter named maxMitigation is 75%, but that parameter is not a clamp in this hit helper; it must not be substituted for the actual equation.
Case: Defense 1,000 versus a level 40 attacker. Effective armor = 172.414. Mitigation = 65.891%. A 1,000 physical hit leaves 341.085 before block and Absorption. At 20% penetration, the attacker bypasses 20% of this mitigation, rather than taking away 20 percentage points of resistance.
02Elemental resistance
Resistance fraction = stored resistance / 10,000. The normal cap is 75%; Max Resistance can raise it to at most 85%. Positive resistance is reduced proportionally by Elemental Penetration. A combat sheet that allows negative resistance can go down to −100%; penetration does not deepen an already negative resistance.
Case: 1,000 Fire damage, 75% Fire Resist, 20% Elemental Penetration. Effective mitigation = 0.75 × 0.8 = 0.60; 400 damage remains. At −30% Fire Resist on a sheet that allows negative resistance, the same packet becomes 1,300 before block and Absorption.
03Dodge and block are ratings
At positive opponent level L, rating R converts to chance R / (R + 5 × (100 + 12 × L)). Dodge additionally accounts for the opponent's Accuracy ratio and level disadvantage. Physical Block and Elemental Block are rolled independently. A successful block removes 50% of that channel, not all damage.
Case: 2,900 Block against level 40. Chance = 2,900 / (2,900 + 2,900) = 50%. On a 1,000 post-armor physical hit, half the outcomes are 500 and half 1,000: average 750 before Absorption. Expected-value arithmetic is not the same as one actual block outcome.
04Absorption is not shield HP
After channel mitigation and block, let H be the summed hit and A be total Absorption. Damage = max(1, H × (5 × H) / (A + 5 × H)). Absorption rating is not consumed as a shield pool. Its fractional effect is larger against small packets.
Case: A = 5,000. H = 100 becomes 9.091; H = 1,000 becomes 500. Splitting an attack can therefore change its final result even when the raw total is unchanged. True DoT ticks use a different path and bypass this hit layer.
05Full case: a blocked physical hit
Assume 1,000 physical damage, attacker level 40, Defense 1,000, a successful physical block, Absorption 500, equal hero/enemy levels and no crit or other modifiers.
| Step | Remaining damage |
|---|---|
| Raw packet | 1,000 |
| Armor mitigation | 341.085 |
| Successful block, ×0.5 | 170.543 |
| Absorption | 107.505 |
This is damage for a connected, blocked hit. Dodge or a miss would instead return zero. Special boss shields, vulnerability phases and difficulty rules can add further handling.
06Source and assumptions
Reviewed against installed QuestAway 1.0.6, revision 888f97419a53. Examples use shipped defaults and explicit hypothetical combat situations; they are not measurements from a player's account. Unless stated, examples use equal levels, one living target, no special boss phase, no passive/gear proc and no live server override. Source limits.