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.

A resistance is the share of a damage type a unit does not take: 75% fire resistance turns a 1,000 fire hit into
same rules apply to both sides. The one rule players most often get wrong is what happens to "−X% to Enemy Resistance" when the enemy is immune.
| Rule | Value |
|---|---|
| Cap on fire, cold, lightning, poison and magic | 75%, raised by "+X% to Maximum … Resist" to at most 95% |
| Cap on physical damage reduction | 50% for players and mercenaries |
| Floor | −100% |
| Difficulty penalty (difficultylevels.txt ResistPenalty) | 0 in Normal, −40 in Nightmare, −100 in Hell, on the four elements and poison |
The penalty is subtracted before the cap, so a Hell character needs +175% from gear, skills and the Anya quest (+10 each, once a difficulty) to stand at 75%. Below 0% the resistance works the other way: at −50% you take one and a half times the damage.
damage taken = hit × (100 − min(resist, cap)) ÷ 100, with resist held at or above −100
A monster "above 99%" in a type is immune to it: its resistance is at least 100 and the damage is zero. The monster pages list each one's resistances in every difficulty (monstats.txt). Lowering a monster's resistance:
Breaking an immunity is a two-step calculation: first the aura or curse at one fifth (or the sunder) to get the monster under 100, then everything at full value. A monster at exactly 100 needs the −25 of a level 25 Conviction; one at 120 needs more than Conviction can give.
Resistance is one step in the chain every hit goes through (Taking Damage): after Energy Shield and the flat "Damage Reduced by X", before absorb. Physical damage reduction is the physical resistance with a lower cap, and Amplify Damage (−100) and Decrepify (−50) are the physical pierce that breaks a physical immune.
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