1Armor, MR & effective HP
Armor and magic resistance reduce incoming physical / magic damage by a percentage. For resist R ≥ 0, pre-mitigation ("raw") damage dr becomes post-mitigation damage dm (the actual health deducted):
The second form is the useful one: resists effectively inflate your health against that damage type. Every 1 point of armor adds exactly 1% of your health as physical effective HP:
1000 raw → 800 taken (−20%)
1000 raw → 500 taken (−50%)
1000 raw → 333 taken (−66.7%)
Negative resists (possible only via reductions past zero) use
2 − 100/(100 − R) instead, and can never push effective HP below 50% of nominal —
rare in practice, since pen/shred seldom go below zero.
2Stacking resists
Armor stacks additively and, by the formula above, has no diminishing returns of effective HP: the 300th point of armor adds the same +1% of max HP as the 1st. What does diminish is the visible "% damage reduction" number — that's an artifact of the percentage, not of the protection.
HP × (1 + R/100), so
it grows fastest when both factors grow — which is why item comparisons (Warmog's vs Kaenic vs
Force of Nature) hinge on the damage mix, and why 1 armor is valued at
20g vs 2.67g per HP.3Mixed damage & the mix multiplier
Real fights deal both damage types. With p = the physical share of incoming damage, and armor A / MR M taken after enemy pen & shred:
This is the wiki's mixed effective health formula, rearranged to compute how much 1 point of raw mixed damage actually takes, then invert it.
- critFactor — crit chance × crit multiplier reweighting; Randuin's Omen multiplies the crit portion by 0.7.
- magicFactor — Shadowflame on an enemy adds +20% magic damage taken below 40% HP.
- Plating (−10%) and Frozen Heart (−20%) scale with the % basic damage share.
- Current HP — scales the starting pool, so a champion at 10% HP starts low.
4Break-even lines
Each champion is a line over base healing received h:
Where two lines cross, that amount of healing makes the two builds equally durable — the numbered chips under the chart. Hollow diamonds mark where healing lifts a champion past a missing-HP threshold its build cares about: Chemtech soul (50%), Revitalize / Shadowflame (40%), the Force of Nature ramp.
5Healing & shielding modifiers
Heal & shield power (hsp) applies to what you cast; Spirit Visage amps what you receive. Each kind of sustain therefore carries a different chain:
6Revitalize
Revitalize grants 5% heal & shield power flat, plus +10% to outgoing heals/shields on targets below 40% HP, and to everything you receive or self-cast while you are below 40%.
Counter-intuitively, that +10% is not worth the same for healing and shielding. It multiplies cleanly into heal power, but a live-game recursion bug stacks it into shield power one extra time. With total shield-power product p, below 40% HP:
Modeled as the live game behaves. It also amps magic shields (Maw, Kaenic).
7Grievous Wounds & Serpent's Fang
- Grievous Wounds (scenario toggle): −40% on all healing you receive — heal rows, regen rows, the break-even slope and the EHP-per-100-healing bars. Shields and bonus-HP grants are untouched.
- Serpent's Fang on an enemy (scenario toggle): −50% on shields you gain — shield rows plus the Mountain-soul pool. It exempts magic-damage shields (Kaenic Rookern, Maw), and heals and bonus-HP grants are untouched.
8The effects engine
- Proc counts default to the fight-length model
1 + ⌊fight / cd⌋; every count is editable; once-per-fight effects are ON/OFF toggles. - Ability haste shortens cooldowns first:
cd′ = cd / (1 + haste/100)— shown alongside each ability ("10s → 6.7s cd"); allies use their own haste. - Damage-based heals (Unending Despair) run the full chain:
3.5% bonus HP × Abyssal 1.12 × 100/(100 + target MR) × 200%. - Target-scaled effects read the enemy dummy: Trundle R drains 20/25/30% of the target's max HP and steals 40% of its current bonus resists.
- Stat effects (Aftershock, Mountain stacks, Ornn's forge, stolen resists) convert to EHP
by re-running the mix:
ΔEHP = HP × (mix₊ − mix₀). - Damage-reduction actives (Yi W, Alistar R): while active, your current pool stretches by
pool × dr/(1 − dr)— an ON/OFF toggle. - Summoner Heal stacking: each Heal after the first is halved:
total = per × (1 + 0.5·(n − 1)). Barrier is once per fight (180s cd, 45s max fight).
9Simulations
When healing scales off missing HP, one multiply is wrong: the healing itself refills HP, shrinking what the rest scales from. Two cases have to be stepped through:
- Master Yi's Meditate — a 4-second channel that heals every 0.5s off current missing HP.
Simulated as 8 ticks from the current HP%; each tick refills a little, so later ticks scale off less.
At 20% HP that gives 732. Treating the whole channel as one
440 × (1 + 80% missing)multiply would ignore the refilling and overshoot to 792. - Repeated procs (Second Wind's 10s windows, Triumph takedowns) — each proc is evaluated at the missing HP left after the previous ones.
Single-cast missing-HP heals like Vladimir's empowered Q don't need this — they fire once, so a single multiply is already exact.
10Data sources & gold values
Champion stats, items and ability numbers come from Meraki Analytics / CommunityDragon game-file data for the current patch; ability heal/shield/DR specs are machine-generated from it. Rune, drake-stack and summoner values are curated from the wiki. Every value in the explorer shows its term-by-term breakdown on hover.
| stat | gold / point | stat | gold / point |
|---|---|---|---|
| Armor | 20 | Health | 2.67 |
| Magic resist | 18 | HP regen (base %) | 3 |