Unless stated otherwise, everything here is Diablo II: Resurrected build 3.3.93847, Reign of the Warlock.
Unless stated otherwise, everything here is Diablo II: Resurrected build 3.3.93847, Reign of the Warlock.

Every hit you take goes through the same chain of reductions, in a fixed order. Knowing the order is what tells you why 75% fire resistance and a 75% Energy Shield together leave a quarter of a quarter, why absorb is worth double its number, and why nothing on your character can take more than half of a physical hit away by percentage.
The Amazon Basin's defender list, as the game applies it:
What the two absorb steps took is given back as healing, up to your missing life, so a point of absorb is worth two of the damage it meets (the Basin's rule of thumb: percentage decrease = resist + (100 − resist) × absorb ÷ 50). There is a ceiling of 40% absorb, so absorb can never heal more than the hit did.
life lost = ((hit × unit modifier − armours − shield) − flat DR) × (1 − resist) × (1 − absorb%) − absorb+ healed = min(what absorb took, missing life)
| Step | Cap |
|---|---|
| Resistance (fire, cold, lightning, poison, magic) | 75%, raised by "+X% to Maximum … Resist" to at most 95% (Maximum Fire Resist …) |
| Physical Damage Reduction | 50% for players and mercenaries |
| Absorb % | 40% in all |
| Any resistance | floor −100%; a unit above 99% is immune |
Each difficulty takes a fixed amount off your elemental and poison resistances before the cap (difficultylevels.txt ResistPenalty): 0 in Normal, −40 in Nightmare, −100 in Hell. Physical and magic damage reduction are not penalised.
The penalty comes off before the cap: 75% in Hell takes +175% from gear, skills and quests together, and more if a Conviction aura or Lower Resist is on you.
Poison damage, Open Wounds and Crushing Blow have their own rules: poison ticks over time against poison resistance, Open Wounds bleeds a fixed amount a frame that no resistance touches, and Crushing Blow takes a fraction of your current life before the hit's own damage is even rolled (Open Wounds, Crushing Blow). None of them is absorbed by Energy Shield.
Written from the game's tables (build 3.3.93847) and the cited pages; a per-level table is computed from skills.txt and skilldesc.txt by the same evaluator the skill pages use. A “legacy rule” is a published engine rule no table proves; a “game table” is read from the table named. · Report incorrect data