Hit Chance Mechanics
Last Updated:May 24, 2023|Changelog
In Diablo 2 Resurrected, your character rolls the dice to determine if an attack hits or not. Hit Chance is determined by three primary Stats; Defense, Attack Rating, and Level. There are a lot of Attack Modifiers, bonus Stats, and additional factors that play into it. We'll cover all these aspects, and you'll be fully prepared to face the dangers of Sanctuary.

Hit Chance Basics
While there are a lot of Stats and other modifiers that play a role, the Hit Chance (Chance to Hit) calculation is fairly simple once you have the values. Chance to Hit determines if a Skill that requires a Hit Check will successfully land.
AR = Attacker's Attack Rating
Dr = Target's Defense
ALVL = Attacker Level
TLVL = Target Level
Chance to Hit = min(max(200% * (AR / (AR + Dr)) * (ALVL / (ALVL + TLVL)), 5%), 95%)
- Chance to Hit is capped at 95%, and has a minimum value of 5%. A Character with 200% Chance to Hit, is reduced to 95%. A Character with 1% Chance to Hit is increased to 5%
- In the equation above, Attack Rating vs Defense, and Attacker Level vs Target Level are not necessarily equivalent.
- Both portions have a maximum value approaching, but never reaching, 1 (100%).
- Attack Rating and Defense values have maximum values in the multiple-thousands, while Character Level has a max value of 99 and Monster Level has a max value of 110.
- The Level differential between Attacker and Defender has a heavier weight even at very high Character Levels.
- It becomes easy to eclipse the majority of Monster Dr with Character AR.
- If a Character is Running then the Hit Check made by a hostile unit cannot fail its Hit Check. This means the calculation for Chance to Hit = 100% chance if the Character Target is running.
- Chance to Dodge and Chance to Block still calculate as normal.
The Character Screen does not display the majority of % Defense modifiers from Skills, or properly calculate the Character's Chance to Hit monsters depending on a lot of variables. Use it as a rough estimate, but not an exact calculation of Defense or Attack Rating.
Defense
Defense is a Stat found on gear, boosted by Skills and monster Affixes, and derived from Dexterity, that decreases the chances that an attack will successfully hit its target.
As seen in the equation above, increasing your Defense Stat counteracts the attacker's Attack Rating. Before adding any source of +xx% Defense the calculation for Defense is:
Defense = (Dexterity / 4) + Total Defense from Equipment + Total Defense from Charms
The Sorceress shown is wearing basic gear to show relative Defense values. They have 40 points of Dexterity. From the D2Planner you see it calculates the Defense value from gear and Charms, then adds it to our Dexterity Defense value.

- Low Quality items have 75% of the item's base Defense.
- Ethereal items have 150% (rounded down) of the item's base Defense.
Enhanced Defense
Increases an item's base Defense value by a % listed on the item. Additionally, the item's base Defense value is always set to its maximum + 1, which is set as the new base value before any other quality modifiers.
- Example: Chain Gloves can have 8 or 9 base Defense.
- Chance Guards can add 30% Enhanced Defense and +15 Defense.
- We set the base Defense to 9 + 1 since the Stat +xx% Enhance Defense is present.
- 10 + 30% = 13. We then add the +15 Defense to reach the displayed total of 28 Defense.
- Items without a Defense Stat, with the +xx% Enhanced Defense Stat modifies the summed Defense value prior to future modifiers. See Below.
Increases an item's modified Defense by a flat integer value. This is the last modifier that affects an item's base Defense value before further Defense modification is applied. There are items with +xx Defense which do not have a Defense Stat. These are added to your Character's Defense rating as a flat amount, prior to future modifiers.
Examples:
+xx Defense: Griswold's Honor
+xx Defense per Level: Atma's Wail
+xx Defense (Without Defense Stat): Metalgrid
This Amazon Skill uniquely reduces a target's summed Defense prior to any future % modifications.
innersight reduces a target's Defense by a flat amount, which scales with Skill Level (sLVL)
Stat | 1 - 8 | 9 - 16 | 17 - 22 | 23 - 28 | >28 |
- xx Defense | (25 * sLVL) + 15 | (45 * sLVL) - 145 | (60 * sLVL) - 385 | (80 * sLVL) - 825 | (100 * sLVL) - 1385 |
This modifier can be found on gear, Skills, monster Skills, and Shrines. It modifies the target's summed Defense total.
- Items without a Defense Stat, with +xx% Enhanced Defense will modify the summed Defense total prior to future modifiers, like +xx% Defense.
Total Defense = Summed Flat Defense * (100% + Summed xx% Defense)
The summed Defense of this Sorceress is 170. The Oculus adds 20% Enhanced Defense to this value, bringing the total Defense to 204.

Character Skills which modify Defense via +/- xx% Defense:
Skill | +xx% Defense | -xx% Defense of Target | ||
Assassin | ||||
cloakofshadows | 7 + (3 * sLVL) | min((3 * sLVL) + 12, 95) | ||
Barbarian | ||||
shout | 90 + (10 * sLVL) | - | ||
concentrate | 90 + (10 * sLVL) | - | ||
ironskin | 20 + (10 * sLVL) | - | ||
battlecry | - | 28 + (2 * sLVL) | ||
Druid | ||||
werebear | 19 + (6 * sLVL) | - | ||
Paladin | ||||
defiance | 60 + (10 * slvl) | - | ||
holyshield 1 | 10 + (15 * sLVL) + (15 * defiance .blvl) | - | ||
conviction | - | min(40 + [60 * [(110 * sLVL) / (sLVL + 6)] / 100, 100) | ||
Sorceress | ||||
frozenarmor | 25 + (5 * sLVL) | - | ||
shiverarmor | 39 + (6 * sLVL) | - | ||
chillingarmor | 40 + (5 * sLVL) | - |
- Can only be used with a Shield equipped.
Character Summons with +xx% Defense:
Class | Summon | +xx% Defense |
Amazon | valkyrie | (10 * sLVL) - 10 |
Assassin | shadowwarrior | (12 * sLVL) - 12 |
Druid | summonspiritwolf | 40 + (17 * sLVL) |
summondirewolf | (4 * sLVL) + if(SSW.sLVL > 0, 40 + (10 * SSW.sLVL), 0)1 | |
summongrizzly | if(SSW.sLVL > 0, 40 + (10 * SSW.sLVL), 0)1 |
- SSW = summonspiritwolf
Monster Skills which modify Defense via +/- xx% Defense:
Monster | Can Spawn in Normal | Source | Normal | Nightmare | Hell |
Minions of Destruction | Yes | Bloodlust (Self) | +50% | ||
Suicide Minion | Yes | Bloodlust (Self) | +50% | ||
Succubus 1 | Normal Ancient's Way1 | Defense Curse | -50% | -65% | -85% |
Vile Temptress | Yes | Defense Curse | -50% | - | - |
Stygian Harlot | Yes | Defense Curse | -55% | - | - |
Hell Temptress 4 | Normal Halls of Vaught | Defense Curse | -55% | -70% | -90% |
Blood Temptress | Yes | Defense Curse | -60% | -75% | -95% |
Succubus 6 | No | Defense Curse | - | -75% | -95% |
Hell Temptress 7 | No | Defense Curse | - | -75% | -95% |
Hell Temptress 8 | No2 | Defense Curse | - | - | -95% |
Stygian Fury | Yes3 | Defense Curse | - | -75% | -95% |
Fanatic Champion | Yes | Modifier (Self) | -70% | ||
Madawc | Yes | shout (Self) | +140% | +170% | +210% |
Uber Izual | No | chillingarmor (Self) | - | - | +175% |
Uber Mephisto | No | conviction | - | - | -90% |
Uber Baal | No | chillingarmor (Self) | - | - | +225% |
- Spawns as Champion and Unique.
- Only spawns Matron's Den.
- Only spawns in Throne of Destruction.
Armor Shrines apply a +100% Defense bonus to the Character while active.
The Barbarian has a unique Skill berserk which reduces their Defense to 0 after every other modifier, but before Defense vs. Melee and Defense vs. Missile.
- The Skill's debuff has a short duration, approaching 1 second at max Skill Level.
- While the debuff is active, the Chance to Hit calculation for a hostile target only considers the difference in Level between the target and the Barbarian.
This Stat on items adds a flat amount of Defense, after +xx% Defense against Melee attacks.
- After adding this value to the Character's Defense, the Attack Modifier -xx% Target Defense is applied.
- Applied after berserk reduces the Character's Defense to 0.
This Stat on items adds a flat amount of Defense, after +xx% Defense against Missile attacks.
- After adding this value to the Character's Defense, the Attack Modifier -xx% Target Defense is applied.
- Applied after berserk reduces the Character's Defense to 0.
Each Summon available to Characters has varying calculations for their base Defense rating.
- Monsters that are converted (i.e. conversion) calculate Defense using cLVL if cLVL < mLVL.
- MonLVL is equal to Character Level when summoned.
- Exceptions:
Summon | MonLVL |
Amazon | |
decoy | min([cLVL * 3 / 4] + sLVL , cLVL) |
valkyrie | min([cLVL * 3 / 4] + sLVL , cLVL) |
Assassin | |
bladesentinel | min(sLVL + (0.75 * cLVL) , cLVL) |
Druid | |
raven | sLVL + cLVL - 2 |
poisoncreeper | [cLVL * 3 /4] + sLVL |
carrionvine | [cLVL * 3 /4] + sLVL |
solarcreeper | [cLVL * 3 /4] + sLVL |
Necromancer | |
bonewall | mLVL |
boneprison | mLVL |
Character Summon Defense Values | |||
Amazon | |||
Summon | Normal | Nightmare | Hell |
decoy | 141 + MonLVL | 152 + MonLVL | 164 + MonLVL |
Valkyrie 1 | 141 + MonLVL + (3 * sLVL) | 152 + MonLVL + (3 * sLVL) | 164 + MonLVL + (3 * sLVL) |
Assassin | |||
Summon | Normal | Nightmare | Hell |
shadowwarrior 1 | 196 + (3 * sLVL) | ||
shadowmaster 1 | 196 + (2.5 * sLVL) | ||
Druid | |||
Summon | Normal | Nightmare | Hell |
poisoncreeper | 25 | ||
oaksage | 49 + MonLVL | ||
summonspiritwolf | 67 + MonLVL | ||
carrionvine | 92 | ||
heartofwolverine | 123 + MonLVL | ||
summondirewolf | 116 + MonLVL | ||
solarcreeper | 165 | ||
spiritofbarbs | 196 + MonLVL | ||
summongrizzly | 245 + MonLVL | ||
Necromancer | |||
Summon | Normal | Nightmare | Hell |
raiseskeleton | 5 + (15 * (sLVL + skeletonmastery.sLVL)) + MonLVL | 6 + (15 * (sLVL + skeletonmastery .sLVL)) + MonLVL | |
claygolem | 100 + MonLVL + (35 * irongolem.bLVL) | ||
bonewall | 35 | 174 | 334 |
raiseskeletalmage | 24 + (10 * (sLVL + skeletonmastery .sLVL)) + MonLVL | 26 + (10 * (sLVL + skeletonmastery .sLVL)) + MonLVL | 28 + (10 * (sLVL + skeletonmastery .sLVL)) + MonLVL |
bloodgolem | 120 + MonLVL + (35 * irongolem.bLVL) | ||
boneprison | 35 | 174 | 334 |
irongolem 1 | 140 + MonLVL + (35 * sLVL) + MonLVL | ||
firegolem | 200 + MonLVL + (35 * irongolem.bLVL) |
- This is added to the Defense rating of their equipped gear.
A monster's Defense is determined using the Monster's Level, their MonStats value from the game-files, and the difficulty they're spawned in.
Base Defense = [MonLVL * MonStats / 100]
- Champion and Elite Affixes further modify this Defense value. Check out our article for more information.
- The Character Screen does not calculate Chance to Hit including the monster's +xx% Defense.
- Stone Skin Affix doubles the monster's base Defense before +xx% Defense.
Reduces a Target's Defense by a % after +xx% Defense is applied to their base Defense. Check out our Attack Modifiers article for more in-depth mechanics.
- The % reduction to Defense is 1/2 effective against:
- Character
- Mercenary
- Super Unique
- Boss
Reduces a Target's Defense to 0 for Chance to Hit calculations. Check out our Attack Modifiers article for more in-depth mechanics.
Attack Rating (AR)
Most Skills delivered with a Weapon require a Hit Check, to determine if the attack is successful. Attack Rating is the Stat that counteracts a target's Defense, in our Chance to Hit calculation.
Dexterity is the Attribute which contributes to a Character's Attack Rating. Along with their unique Character Constant, the equation to calculate base Attack Rating is as follows:
Base Attack Rating = ((Dexterity - 7) * 5 + Class Constant
- Each additional Stat Point allocated to Dexterity increases the Character's Attack Rating by 5.
- Sources of +xx to Attack Rating are added to the base Attack Rating before any sources of +xx% Bonus to Attack Rating.
- Weapons with +xx to Attack Rating only add their Stat when that Weapon is used to attack.
- Example: Spectral Shard
- Non-Weapon items add their +xx to Attack Rating to any Weapon when it's used to attack.
- Example: Boneflesh
- Weapons with +xx to Attack Rating only add their Stat when that Weapon is used to attack.
- Weapons with +xx to Attack Rating (Based on Character Level) only add their Stat when that Weapon is used to attack.
- Example: Schaefer's Hammer
- Non-Weapon items add their +xx to Attack Rating (Based on Character Level) to any Weapon when it's used to attack.
- Example: Angelic Halo
- The two Stats +xx Attack Rating Against Demons and +xx Attack Rating Against Undead add Attack Rating the same way as normal AR, when the attack is targeting a Demon or Undead type monster, respectively.
- Example: Demon Fang Short Sword
There is a bug for frenzy that is triggered if the FIRST Weapon swing misses in the sequence. The SECOND Weapon swing will use the Chance to Hit of the first Weapon, instead of the second Weapon's values.
Increases the Character's base Attack Rating by a percentage. All Skill and item sources of +xx% Bonus to Attack Rating are summed and multiplied by the sum of Attack Rating a Character has, this new value is their total Attack Rating.
- Combat Shrines add +200% Attack Rating which applies after flat sources, and +xx% Bonus to Attack Rating.
Total Attack Rating = ((((Dexterity - 7) * 5 + Class Constant) + Summed Attack Rating from Gear1 + Attack Rating on Weapon used1) * (100% + Summed % Bonus to Attack Rating2)) * 200% Attack Rating from Combat Shrine
1. Add any sources of AR Against Demons or AR Against Undead if applicable.
2. Total = % Bonus to Attack Rating on Gear + % Bonus to Attack Rating on Weapon used + Summed % Bonus to Attack Rating from Skills.
- Monsters that are converted (i.e. conversion) calculate Attack Rating using cLVL if cLVL < mLVL.
- Pen = penetrate
- SSW = summonspiritwolf
- SM = skeletonmastery
- GM = golemmastery
- CG = claygolem
- MonLVL is = Character Level when summoned.
- Exceptions:
Summon | MonLVL |
Amazon | |
decoy | min([cLVL * 3 / 4] + sLVL , cLVL) |
valkyrie | min([cLVL * 3 / 4] + sLVL , cLVL) |
Assassin | |
bladesentinel | min(sLVL + (0.75 * cLVL) , cLVL) |
Druid | |
raven | sLVL + cLVL - 2 |
poisoncreeper | [cLVL * 3 /4] + sLVL |
carrionvine | [cLVL * 3 /4] + sLVL |
solarcreeper | [cLVL * 3 /4] + sLVL |
Necromancer | |
bonewall | mLVL |
boneprison | mLVL |
Summon | Normal | Nightmare | Hell |
Amazon | |||
valkyrie | 250 + MonLVL + (100 * sLVL) + (40 * Pen.bLVL) | 300 + MonLVL + (100 * sLVL) + (40 * Pen.bLVL) | 350 + MonLVL + (100 * sLVL) + (40 * Pen.bLVL) |
Assassin | |||
bladesentinel | Assassin Attack Rating + MonLVL + (5 * sLVL) | ||
shadowwarrior | 163 + (100 * sLVL) | 243 + (100 * sLVL) | 323 + (100 * sLVL) |
shadowmaster | 163 + (90 * sLVL) | 243 + (90 * sLVL) | 323 + (90 * sLVL) |
Druid | |||
raven | 85 + (15 * sLVL) + MonLVL | ||
summonspiritwolf | 130 + (45 * sLVL) + MonLVL | ||
summondirewolf | 305 + (20 * sLVL) + if(SSW.sLVL >0 , 25 * SSW.sLVL , 0) + MonLVL | ||
summongrizzly | 605 + (20 * sLVL) + if(SSW.sLVL >0 , 25 * SSW.sLVL , 0) + MonLVL | ||
Necromancer | |||
raiseskeleton | 5 + (15 * (sLVL + SM.sLVL)) + MonLVL | 4 + (15 * (sLVL + SM.sLVL)) + MonLVL | 6 + (15 * (sLVL + SM.sLVL)) + MonLVL |
claygolem | 40 + (20 * sLVL) + MonLVL + (25 * GM.sLVL) | 66 + (20 * sLVL) + MonLVL + (25 * GM.sLVL) | 92 + (20 * sLVL) + MonLVL + (25 * GM.sLVL) |
bloodgolem | 60 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) | 104 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) | 148 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) |
irongolem | 80 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) | 138 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) | 197 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) |
firegolem | 120 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) | 209 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) | 298 + MonLVL + (20 * CG.bLVL) + (25 * GM.sLVL) |
A monster's Attack Rating is determined using the Monster's Level, their MonStats value from the game-files, and the difficulty they're spawned in.
Base Attack Rating = [MonLVL * MonStats / 100]
- Champion and Elite Affixes further modify this Attack Rating value. Check out our article for more information.
- The Character Screen does not calculate the monster's Chance to Hit including the monster's Level modifier.
- Player Settings increase a monster's Attack Rating by a % for each increase in Player Count.
Player Setting | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 |
Bonus% Attack Rating | 0% | 6.25% | 12.5% | 18.75% | 25% | 31.25% | 37.5% | 43.75% |
- Monsters using Skills also gain +xx% Attack Rating according to their Skill Level.
Skills without Hit Check
There are Skills which do not calculate Chance to Hit. These Skills do not have a Hit Check, and always hit their target. If the Skill is a Missile attack, the projectile successfully hits if it collides with a target.
- guidedarrow
- lightningbolt
- lightningfury
- smite
- If a Serpent Magus or Reanimated Horde uses charge
The following Skills apply their Skill effect without succeeding at a Hit Check. The Weapon damage does not apply, but the Skill damage does.
- explodingarrow
- freezingarrow
- immolationarrow
- plaguejavelin
- poisonjavelin
- conversion
Summary
- The Attacker's Attack Rating and Level attempt to overcome the Defender's Defense and Level.
- The difference in Level is much harder to overcome than the difference between Attack Rating and Defense, even at high levels.
- Flat bonuses to Attack Rating and Defense typically apply prior to % Bonus to Attack Rating / Defense.
- Monsters have their own calculation for Defense and Attack Rating, Champion and Elite Affixes will further boost these values.
- Attack Rating from Weapons only apply when that Weapon is used to attack.
While Chance to Hit seems simple on paper, you are now equipped with all the know-how and secrets needed to Min-Max and crush the legions of Demons, Diablo II: Resurrected can throw at you. Happy Hunting!
Credits
Written by MacroBioBoi
Reviewed by Teo1904