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.

Against a monster your damage is your damage. Against another player the game multiplies every hit by a percentage from its difficulty table before anything else happens, and a few on-hit effects are scaled down on top of that. The mechanics pages mark each stat with how it behaves against players; this page is the rule they point to.
The percentages are the same in every difficulty (difficultylevels.txt):
| Who hits whom | Damage dealt |
|---|---|
| Player → player | 17% |
| Player → mercenary | 100% |
| Player → Prime Evil (Diablo, Baal, Mephisto) | 100% |
| Mercenary → player | 17% |
| Mercenary → mercenary | 25% |
| Mercenary → boss | 50% in Normal, 35% in Nightmare, 25% in Hell |
| Pet (minion, summon) → player | 17% |
| Prime Evil → player | 100% |
| Prime Evil → mercenary | 200% |
| Prime Evil → pet | 400% |
So a 6,000-damage Fist of the Heavens lands for about 1,020 on a player, and a mercenary or a Valkyrie hits a player with the same sixth. The cut is the first step of the defender's chain, before Energy Shield, resistances or damage reduction (Taking Damage): a shield or a resistance then works on the reduced hit, which is why an Energy Shield Sorceress spends a sixth of the mana in a duel that she would in the field for the same spell.
damage against a player = hit × 17 ÷ 100, then the defender's chain as usual
Your resistances and their caps, the 50% cap on Physical Damage Reduction, absorb, blocking, chance to hit and every breakpoint are the same rules against a player as against a monster. A duel is the same game with one multiplier at the front.
The percentages above are the table's. Other player-versus-player rules the community has measured over the years (shortened stun, chill and curse durations, leech against players) are not in the game's tables and are left off this page until a source we can cite covers them.
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