Damage Modification Mechanics

Diablo II Expansion, v. 1.10

Compiled by Tommi Gustafsson

Contents: 1. Damage Types | 2. Damage Modification | 3. Resistance Calculations | 4. Application Order | 5. Damage Formulas | Acknowledgements


1. Damage Types

There are six different damage types in Diablo II: Fire, Cold, Lightning, Poison, Magic, and Physical. Each of these has its own resistance, although only four of them are shown on the character screen.

1.1 Examples of Damage Types

1.2 Poison Damage and Poison Length

Unlike other damage types, poison has two values that affect to the total poison damage: poison damage per frame and poison length. The total damage is calculated as poison damage per frame x poison length in frames (there are 25 frames in 1 second). Therefore, there are also two resistance-like abilities that affect poison damage: Poison Resistance and Poison Length Reduction. The former of these affects poison damage per frame and the latter poison length.


2. Damage Modification

There are eight types of damage modification in the game:

2.1 Damage Modification Abilities

Damage modification abilities of Diablo II are listed below.

Damage Reduction Ability Abbreviation Damage Types Affected Difficulty Penalty4)
(Nightmare/Hell)
Lower Limit Upper Limit An Example Item With This Ability
Resist +X%, 4 different types Resistance Fire/Cold/Lightning/Poison
-40 / -100
-100
751) / 952)
Most items in the game
All Resistances +X

Resistance

Fire, Cold, Lightning, and Poison As above As above As above

Tearhaunch (unique greaves)

Damage Reduced By X% (physical resistance)
Resistance and DR%
Physical
-
-100
503)
Shaftstop (unique mesh armor)
Poison Length Reduced by X%

PLR

Poison Length

-40 / -100

-100

751)

Death's Hand (set gloves)
Magic Resistance +X%

Resistance

Magic

-

-100

751)

Safety crafted shield
Damage Reduced By X
DR
Physical
-
-
-
Duskdeep (unique full helm)
Magic Damage Reduced By X
MDR
Fire, Cold, Lightning, and Magic
-
-
-
Greyform (unique quilted armor)
Absorb X%, 3 different types
Absorb%
Fire/Cold/Lightning
-
-
40
Raven Frost (unique ring)
+X Absorb, 4 different types
Absorb
Fire/Cold/Lightning/Magic
-
-
-
Blackhorn's Face (unique death mask)
Energy Shield (Sorceress)
ES
Physical, Fire, Cold, Lightning, and Magic
-
-
-
-
Bone Armor (Necromancer)
BA
Physical
-
-
-
-
Cyclone Armor (Druid)
CA
Fire, Cold, and Lightning
-
-
-
-
Unit Type Modification
XvX
All damage types
-
-
-
-
1) 75% is a normal cap for players and hirelings.
2) 95% is possible to achieve with + maximum resistance items, such as Guardian Angel (unique templar coat).
3) 50% is a normal cap of physical resistance for players and hirelings.
4) Difficulty penalty applies only to players and hirelings. It does not affect monsters, golems, and minions.

2.2 Magic Damage Reduced by X vs. Continuous (Frame-Based) Attacks

The effect of MDR is reduced against certain continuous attacks. Learn more about it here.

2.3 Unit Type Modification (XvX)

The damage is yet modified by the type of attacker and defender (XvX factor). The different factors are listed in the table below.
XvX Table Defender
Player Hireling Golem Minion1) Special Boss2) Monster
Attacker Player
17%
100%
100%
100%
100%
100%
Hireling
17%
25%
100%
100%
50%, 35%, 25%3)
100%
Golem or Minion1)
17%
100%
100%
100%
100%
100%
Act End Boss
100%
100%
300%
500%
100%
100%
Monster
100%
100%
100%
100%
100%
100%
1) Minion is any creature a player controls, except a hireling or a golem.
2) Special bosses are all act end bosses and some others with eBoss = 1 in monstats.txt.
3) In Normal, Nightmare and Hell difficulties, respectively.

2.4  Life gained from absorb

Absorb effects not only reduce damage, but also give you as much life. Absorb gives only so much life as it de facto reduces. The life from absorb is added to one's current life amount, but the sum cannot exceed one's maximum life. Hence, it is possible to take damage even with great amounts of absorb. In fact, if the final damage done exceeds one's maximum life, absorb does not prevent death.

3. Resistance Calculations

3.1 Resistance calculation order and modification effects

Resistances are reduced by certain skills as well as the difficulty penalty. The calculation order for a particular resistance is the following:

1. Resistances

Sum up resistances from all sources (items, skills, etc.) concerning that resistance.

2. Curses and auras that reduce resistances

Subtract the effect of curses and auras that reduce the resistance from the result. If they are cast upon a monster that is immune to the damage type in question, they work at 1/5th effectiveness. These skills are the following:

Skill Resistances affected Reduction effect1)
Normal targets Immune monster
Amplify Damage (Necromancer curse) Physical resistance -100 -20
Conviction (Paladin offensive aura) Fire, cold, and lightning resistances -X -X/5
Decrepify (Necromancer curse) Physical resistance -50 -10
Lower resist (Necromancer curse) Fire, cold, lightning, and poison resistances -X -X/5
1) X denotes the reduction value of the skill.

3. Personal resistance reduction skills and properties

Skills and properties, which reduce resistances but are not attached to targets, are calculated next. They do not affect immune monsters, but if the resistance of such monsters is brought below 100 in the previous step, these skills and properties have a full effect.

Skill or property Resistances affected Reduction effect1)
Normal targets Immune monster2)
Cold Mastery (Sorceress cold skill) Cold resistance -X 0
-X% to Enemy Fire/Cold/Lightning/Poison Resistance Fire, cold, lightning, or poison resistance -X 0
1) X denotes the reduction value of the skill.
2) Monsters that have a resistance of 100 or more at this step.

4. Difficulty penalty

Apply the difficulty penalty to the result. Difficulty penalty applies only to players and hirelings. It does not affect monsters, golems, and minions.

5. Upper and lower limits

Apply upper and lower limits for the resistance. Note that monsters, golems, and minions have different limits than players and hirelings.

6. Effects that ignore resistances

At this step, skills and item properties that "ignore resistance," such as Sanctuary (paladin offensive aura), take effect. They set the resistance they affect to 0, if it is above 0. A negative resistance is unaffected. This effect applies to only the damage calculation in question, and the game does not modify the actual resistance value of the target.

3.2  Notes on resistance calculations

Skills and item properties that pierce poison resistance also decrease the poison length reduction (PLR). For example, -50% to enemy poison resistance reduces poison resistance and poison length reduction by 50.

The lightning damage of Fists of Heavens does not pierce resistances.

Scroll of resistance, which one receives from Malya in Act V after rescuing Anya, adds 10% to fire, cold, lightning and poison resistances.


4. Application Order

4.1 Damage Modification Effects

There is a well-defined order in which the damage modification effects are applied to the damage:
  1. XvX
  2. Energy Shield
  3. Bone Armor and Cyclone Armor
  4. DR and MDR
  5. Resistances
  6. % Absorb
  7. Direct Absorb
In each of these phases, damage cannot be reduced below zero. The result is what I call Damage Taken.

4.2 Special effects

There are some special effects that take place before damage resolution: Thorns, Iron Maiden, Spirit of the Barbs, and Vulpine items (X% Damage Goes To Mana). They all use the physical damage after all damage modification effects, i.e. Physical Damage Taken, as their source damage. For example, Vulpine items add X / 100 x Physical Damage Taken mana to the defender's mana pool in the damage resolution.

4.3 Damage Resolution

Damage and Life Gain

Life gain and damage taken get applied to the target's current life amount in the following order:

  1. Add the life gained from absorb effects
  2. Reduce life equal to Damage Taken

Mana Damage and Mana Gain

Some effects, such as energy shield and attacks of mana burn bosses, cause you to lose mana instead of life. This is called Mana Damage. Other effects, such as X% Damage Goes To Mana (Vulpine items), cause you to gain mana. These function similarly as life gain and life damage, i.e. the are applied to the target's current mana amount in the following order:

  1. Add the mana gained from Vulpine items (and other possible sources)
  2. Reduce mana equal to Mana Damage Taken

There are no effects that modify mana damage, and therefore Mana Damage Taken is always equal to Mana Damage dealt by the attacker plus mana damage caused by Energy Shield. Energy Shield causes mana damage equal to (32 - unmodified Telekinesis skill level) / 16 x Damage Absorbed by Energy Shield.

4.4 The Big Picture: Defense, Blocking, and Damage Modification

Defense and blocking are calculated in a to-hit step, which occurs before damage modification mechanics. The exact order of the game mechanics is the following:

  1. Check Defense (see to-hit calculations)
  2. Check Blocking (shield block is applied at 1/3 when the defender is running)
  3. Determine damage done by the attacker, if the attack hits
  4. Apply damage modification mechanics

5. Damage Formulas

5.1 Damage Taken and Life Gained

Assuming that damage is not reduced to zero in any step, we get the following equations for damage taken and life gained:
Damage Taken = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - Absorb% / 100) - Absorb

Life Gained = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * Absorb% + Absorb

Resistance, Absorb%, XvX, and ES are given as integer values in these equations, such as 50.

5.2 Final Damage

If we further assume that life can be fully added to the character's life amount (it doesn't exceed the maximum), we can calculate the final damage as follows. (It is the damage actually inflicted to the character counting both damage taken and life gained from absorb.)
Final Damage = Damage Taken - Life Gained
By expanding the terms, we get:
Final Damage = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - 2 * Absorb% / 100) - 2 * Absorb
Negative final damage means that you gain life.

5.3 Mana Damage

Furthermore, mana damage taken and mana gained can be represented by the following equations:

Mana Damage Taken = ManaDamage + (32 - TelekinesisBaseLevel) / 16 * Damage * XvX / 100 * ES / 100

Mana Gained = (PhysicalDamage * XvX / 100 * (1 - ES / 100) - BoneArmor - DR) * (1 - PhysicalResistance / 100) * DamageGoesToMana% / 100

Percentage values, such as PhysicalResistance, XvX, and ES, are given as integer values in these equations, such as 50.

5.4 Final Mana Damage

Final mana damage can be calculated the same way as Final Damage, but expanding the terms does not yield a neat formula. Therefore we write that:

Final Mana Damage = Mana Damage Taken - Mana Gained

Negative final mana damage means that you gain mana.

5.5 Terms in Equations


Acknowledgements

Adamantine for pointing out several omissions and mistakes in an early version of the page updated to the 1.10 version of Diablo 2.
Adeyke
for information about resistance calculations.
Assa2
for confirming that magic resistance is not affected by difficulty penalty and that the scroll of resistance does not affect magic resistance.
Caaroid
for confirming that Damage Goes To Mana is applied after all damage modification effects.
Jarulf
for the application order of the reduction effects and for information about unit type modifications.
Occhidiangela for confirming that magic resistance is not affected by difficulty penalty and that the scroll of resistance does not affect magic resistance.
Ruvanal for testing that MDR applies to fire, cold, lightning and magic damage but not poison damage.
Steve Estes for suggesting to add the application point of Damage Goes To Mana and how defense and blocking relate to damage modification effects.
Valkemen for initially pointing out that magic resistance is not affected by difficulty penalty.

Сайт управляется системой uCoz