Diablo 4 – How Does Damage Work (Ultimate Guide)

Comprehensive Guide on Everything Damage Related

By Avarilyn!

When you get that new piece of equipment, you may wonder if it is an upgrade or not. Hopefully, after this guide, you will be able to make more educated decisions and have a better understanding regarding how your damage scales in Diablo 4.

Weapon Damage

Weapons in Diablo 4 have something called a damage range. Weapons that hit slower have higher base damage compared to weapons that hit faster. It is important to understand that when you use a slower weapon, you will hit harder but you will do so slower. The difference in damage is identical to the difference in attack speed, so if we compare a bow and a crossbow for rogues, we may have the following example:

Notice how the DPS is practically identical even though the damage per hit is significantly different. This is a very important concept for builds that aim to one shot bosses or do the most damage in as few attacks as possible. The difference in damage between these two weapons is:

Average damage for Crossbow: (3269+4903)/2 = 4086
Average damage for Bow: (2674+4010)/2 = 3342
4086/3342 = 1.222 or 22.2%

If you then also compare the attack speed difference, you’d see that we have:

Bow attacks per second: 1.1
Crossbow attacks per second: 0.9
1.1/0.9 = 1.22 or 22.2%

So in a long fight, the DPS for the two weapons would be identical from a base damage and attacks per second perspective. There is another factor though when comparing weapons that is important to keep in mind, and that is the implicit stat on a weapon. Right under the damage “attacks per second” section of a weapon, we have one line which we call “implicit stat” and this may vary from weapon type to weapon type, but also within the same weapon type for certain unique items. Using the same example as above, although the weapons have the same damage, we may value Vulnerable damage more than we value Distant Damage, and thus crossbow may have a higher damage value to our build.

We normally use the Average Weapon Damage when you calculate the damage you will deal. In this guide, we will call the lowest damage [Min Weapon Damage], highest damage [Max Weapon Damage], average damage as [Average Weapon Damage], and weapon attacks per second as [Weapon ApS].

Attack Speed

Before we go into how attack speed affects your damage, we need to first address how the stat functions and what happens when you add different sources. It was discovered that attack speed is capped at 200% increased attack speed, and that this 200% is divided into two individual caps of 100%. We have labeled them “Cap 1” and “Cap 2” and you can find what attack speed sources are Cap 1 and Cap 2 here. That means that if you have 200% attack speed from Cap 1, you will actually only benefit from 100% of that attack speed. Make sure to check what attack speed sources you have so you do not go over the cap!

Attack speed in Diablo 4 makes your character attack faster, which may sound intuitive. However, it may be difficult to understand just how much extra damage you gain from attack speed compared to other stats. To try and make attack speed more easily understood in general, we will use the following examples.

If you do 1000 damage in 1 second and you have no attack speed on your gear, your damage per second (DPS) is 1000.

If you add 100% attack speed on your gear, you now do 1000 damage in 0.5 second, which makes your damage per second 2000

Adding 100% attack speed on your gear effectively doubled your DPS. Now, this is an easy example as we go from having no attack speed, to 100% attack speed. So what happens if you were to increase your attack speed from 100% to 150%?

Damage: 1000
Attack speed: 100%
DPS = 2000

Damage: 1000
Attack speed: 150%
DPS = 2500

Relative gain: 2500/2000 = 1.25 or 25%

As you can see, by adding 50% attack speed when we already have 100% attack speed, we only got a relative increase of 25%. The term relative increase/gain is important when assessing damage, and we will use this term a lot when describing the relationship between stats as it is the only way to accurately assess how much of an increase you will see when comparing items. The math behind it practically functions as:

(How much of something you will have)/(How much of something you currently have) = Relative gain/loss

In reality, it may be a bit more complicated to assess the value of attack speed due to something the community has not fully investigated yet. Every skill has something that we call a “frame duration”, which basically means how many frames the animation lasts on the screen. This frame duration is affected by attack speed, and allegedly you only benefit from an increased attack speed if it makes you reduce your frame duration to the next frame. Here’s an example:

Twisting Blades, 26 Frames Baseline using daggers with 1.2 Attacks per Second.
26 Frames: 0% Attack Speed
25 Frames: 4% Attack Speed
24 Frames: 8.33% Attack Speed
23 Frames: 13.04% Attack Speed
13 Frames: 100% Attack Speed
12 Frames: 116.67% Attack Speed
11 Frames: 136.36% Attack Speed
10 Frames: 160% Attack Speed
9 Frames: 188.89% Attack Speed
8 Frames: 225% Attack Speed
7 Frames: 271.43% Attack Speed

So, going from 161% Attack Speed, to 187% Attack Speed, would not actually make you attack faster and would thus not be a damage increase at all, as it would not allow you to go from 10 frames to 9 frames. I want to make it very clear, that this is not fully investigated yet but something that has been reported in S2 from the Sorcerer community.

When we use attack speed in the DPS formula, we will write it as [(Cap 1)+(Cap2)].


In order to see the Skill% of a skill in the game, you have to enable something called Advanced Tooltip Information under Options > Gameplay > Advanced Tooltip Information.

This enables additional information, and allows you to see the Skill% on the tooltip of the skill. It will look something like this:

The [37%] is what we call Skill%. However, do note that not all effects have a skill%. For example, X’fals Corroded Signet has a flat damage number instead. In those cases, the flat damage number is used instead of the skill% in the damage formula. This will be explicitly shown in the General Formula section.

Main Stat

Main stat can be a bit deceiving due to its wording. If you hover over your main stat on your character sheet, it will show something like the following:

This functions as a separate multiplier, and is not to be confused with skill%. So in the damage formula, skill% and Main Stat functions as two separate and completely independent multipliers. To convert your main stat total to a percentage, which is what will use in the damage formula later, you can use the following formula:

(Main stat total)/1000 = Main Stat in %

Additive Multiplier

The Additive Multiplier is the collective sum of all stats which are labeled as “additive”. Some examples of these stats are: Close Damage, Distant Damage, Core Skill Damage, Damage vs …, Damage to …, Vulnerable Damage, Critical Strike Damage, Overpower Damage (more on the last 3 later). You can find a comprehensive list of all the additive stats here. There are two important prospects to remember when it comes to these additive stats, the first is that their value is entirely dependent on how frequent their condition is met, and the second is that the relative increase of the additive multiplier is the real damage gain.

To illustrate the uptime prospect with an example, if you compare +30% Close Damage with +60% Vulnerable Damage, it may look like Vulnerable Damage would be the way to go because the number is larger. However, let’s say that you only have 10% uptime on Vulnerable and you are always in close proximity, then the Close Damage would still be worth +30% additive damage, while the +60% Vulnerable Damage averages to be +6% Additive damage. Uptime (meaning the how frequent the condition is met) matters a lot when you assess how valuable the additive stat is.

The second prospect, the relative increase of the additive multiplier, is one of the most important prospects behind optimizing your damage overall. For example, adding +60% additive damage when you have no additive stats compared to when you have +600% additive damage already gives vastly different results. The following formula uses that +60% it is written as +0.6 as a decimal.

(1+0.6)/(1+0) = 1.6 = 60% increased damage
(1+8.0+0.6)/(1+8.0) = 1.066.. = 6.7% increased damage

This is very, very important to understand as certain builds have over +2000% additive damage. So adding another +60% Close Damage would only be an increase of:

(1+20+0.6)/(1+20) = 1.0285.. = 2.85% increased damage

That means, in this specific context, adding +60% Close Damage would only be a 2.85% overall increase.

With the multiplier changes of S2, Vulnerable, Critical Strike Damage and Overpower Damage are now all additive.

Vulnerable Damage

+Vulnerable damage% was changed in S2 to be considered additive damage, with an added x1.2 multiplier to all your damage when you hit a vulnerable target. This change brought on a lot of bugged tooltips and interactions which we will now describe in as much detail as possible to try and shed light mechanics behind the tooltips in Diablo 4. For Vulnerable in particular, if you hover over vulnerable damage in your character sheet you will see the following tooltip:

It is extremely important to understand that the top value is NOT accurate. The top value is calculated using the following formula:

(1+[vulnerable% from items and paragon]) x 1.2 -1
In this case: (1+[0.47]) x 1.2 -1 = 0.764 = 76.4%

This implies that, when we hit a target that is vulnerable, we do 76.4% more damage compared to if the target was not vulnerable. Again, I want to put emphasis on the fact that this is not accurate. We can use what we learned about the additive multiplier to test this. Let us assume that we have +1000% additive damage in total, we would get the following damage gain if we then add +47% vulnerable damage:

No Vulnerable: (1+10) = 11
With Vulnerable (1+10+0.47) x 1.2 = 13.764
Relative gain: 13.764/11 = 1.2512 = 25.12% increased damage

So in actuality, adding +47% vulnerable damage and the x1.2 multiplier was a relative increase of 25.12% and not 76.4% like the tooltip suggested.

An issue with this bugged tooltip is that it becomes difficult to understand how much certain skills, passives and aspects actually affect your total damage. For example, rogue has a passive called “Malice” which states “You deal 3%(per rank)[x] increased damage to vulnerable enemies”. The tooltip adds rank 3 of Malice to the vulnerable tooltip the following way:

(1+[vulnerable% from items and paragon]) x 1.2 x 1.09 -1
In this case: (1+[0.47]) x 1.2 x 1.09 -1 = 0.92276 = 92.3%

In real situations, it makes the character sheet “Vulnerable Damage Bonus: %” practically unusable. In reality, Malice functions as a global multiplier to ALL your damage with the condition that you strike a vulnerable enemy regardless of your vulnerable damage stat. What this means when we calculate damage is that we separate the damage contributions of vulnerable. We add the “+% of this stat from items and Paragon” to our additive multiplier, and we multiply our total damage by x1.2. Same with all our other global multipliers like Malice, Grandfather etc.

Critical Strike Damage

Critical Strike Damage was also changed in S2, so that +Critical Strike Damage% belongs in the additive multiplier and all your damage is multiplied by x1.5 when you critically strike. Just like Vulnerable, this change brought on a lot of bugged interactions and tooltips. If you hover over Critical Strike Damage in your character sheet, you get the following tooltip:

Just like vulnerable damage, it is extremely important to understand that the top value is NOT accurate. The top value is calculated using the following formula:

(1+[critical strike damage% from items and paragon]) x 1.5 - 1
In this case: (1+[4.101]) x 1.5 - 1 = 6.6515 = 665.1%

This implies that, when we score a critical strike, we do 665.1% more damage compared to a non-critical strike. Again, I want to put emphasis on the fact that this is not accurate. We can use what we learned about the additive multiplier to test this. Let us assume that we have +1000% additive damage in total, we would get the following damage gain if we then add +410.1% critical strike damage:

Non-crit: (1+10) = 11
Critical strike: (1+10+4.101) x 1.5 = 22.6515
Relative gain: 22.6515/11 = 2.059 = 105.9% increased damage

So in actuality, us adding +410.1% critical strike damage and the x1.5 multiplier was a relative increase of 105.9% and not 665.1% like the tooltip suggested in this case. In real situations, we use the bottom % on the tooltip in damage calculations and x1.5 as a separate global multiplier with the condition that you critically strike. A rule of thumb is that a passive increases the bottom %, it is an increase to your additive multiplier while if it only increases the top %, it is a global multiplier with the condition that you critically strike.

Note: Your uptime of Critical Strike Damage as an additive stat is based on your critical strike chance. So if your crit chance is 40%, and you have 600% critical strike damage, it will average to:

0.4 x 6.0 = 2.4 = 240%


Just like Vulnerable and Critical Strike Damage, Overpower was changed in S2, so that +Overpower Damage was made additive with the addition of a x1.5 multiplier that scales depending on your current health. Overpower has a set 3% probability to occur normally, but certain skills, passives and aspects can increase this probability. Below you can see the tooltip you get for hovering over Overpower Damage in your stat sheet.

The x1.5 multiplier is calculated based on your current health when you deal overpower damage with the following formula:

1 + 0.5 x (current HP/Max Life) = Overpower Multiplier
So if you have 50% HP, your multiplier would be:
1 + 0.5 x (0.5) = 1.25

Just like vulnerable damage, it is extremely important to understand that the top value is NOT accurate. The top value is calculated using the following formula:

(1+[Overpower% from items and paragon]) x 1.5 - 1
In this case: (1+[2.198]) x 1.5 - 1 = 3.797 = 379.7%

Instead of repeating the reasons why this is misleading, please see examples given in the Vulnerable and Critical Strike Damage sections.

Furthermore, something that is not shown in game is the total amount of additive damage you have from overpower when you factor in the extra damage you gain from health and fortify:

  • You get +1% Overpower Damage for each 1% of your Current Life that exceeds your Base Life
  • You get +1% Overpower Damage for each 1% of Fortified Life

That means, if you have 23200 Max Life, and 7959 Base Life, you’d get the following total +Overpower Damage:

(Max Life - Base Life)/(Base Life) = (23200-7959)/(7959) = 1.91493
(Max Life)/(Base Life) = (23200)/(7959) = 2.91493
Total +Overpower Damage from HP and Fort = 1.91493 + 2.91493 = 4.829 = 482.9%

So whenever we cause an Overpower attack, with a base HP of 7959 and Max HP of 23200, we should add another +482.9% to our additive multiplier, which the game does not show us in the form of a number in the tooltip. So to accurately assess how much damage your overpower strikes will do, make sure to add the bottom % of the tooltip to your calculation and convert your HP into +additive damage as well. Also remember to add the x1.5 global multiplier (presuming you are at max HP).

Global Multipliers

The term “Global Multipliers” has been used a few times in the text now and it is quite simply just that, a multiplier to all your damage dealt as long as the condition is met. Some multipliers have the condition that the target must be frozen, some multipliers simply requires you to cause a critical strike. All global multipliers are multiplied to your damage:

(Damage Calculation) x Global Multiplier 1 x Global Multiplier 2 x Global Multiplier 3 x ... x Global Multiplier N

So if you have Malice (9%[x] to vulnerable targets), Frigid Finesse (30%[x] to frozen enemies), Weapon Mastery Crossbow (30%[x] increased Critical Strike Damage), Enhanced Dash (15%[x] increased Critical Strike Damage), it would be calculated the following way:

(Damage Calculation) x 1.09 x 1.3 x 1.3 x 1.15

Do note, Global Multipliers are NOT affected by the amount of stats you have for the stat it “multiplies”. For example, I will have a x1.3 multiplier vs Frozen enemies regardless if I have +0% Damage vs Frozen Targets, and +300000% Damage vs Frozen Targets. Global Multipliers are independent of your additive stats.

To know what global multipliers that affects your build and skills, you must either test it yourself or ask in ADE/relevant class chats. For example, despite Weapon Mastery Swords causing you to just deal [x]% more damage, it does not increase damage with Poison Imbuement.


One of the main reasons testing interactions in Diablo 4 proves to be difficult, is because of something known as Variance. Variance comes from two different interactions in the game, weapon damage range and skill variance. These two in combination causes a massive 50% difference from lowest possible damage instance, to highest possible damage instance. But you may ask, 50%? In the tooltip we can only see that:

(4569+5584)/2 = 5076.5 = Average Damage
4569/5076.5 = 0.90002 = 90% of Average Damage
5584/5076.5 = 1.09997 = 110% of Average Damage

This is what we call skill variance. As we can see, the tooltip variance (lowest to highest) is 90% to 110% of the average damage on the tooltip. This exists for every single skill in the game, and certain flat value aspect powers such as X’fals Corroded Signet.

Because of the fact we have a range on our weapon damage, that also causes variance in our damage output. If we use a weapon with a damage range of 3269-4903, we can use the same method as the one above to calculate its variance compared to its average.

(3269+4903)/2 = 4086 = Average Weapon Damage
3269/4086 = 0.8 = 80% of Average Weapon Damage
4903/4086 = 1.1995 = 120% of Average Weapon Damage

That means, our weapon damage variance can be as low as 80% of its average damage, to 120% of its average damage. If we take these two together, it means they compound and we have the following true variance in the game:

Average Damage: General Formula with Average Weapon Damage
Min Damage: Average Damage x 0.9 x 0.8 = Average Damage x 0.72
Max Damage: Average Damage x 1.1 x 1.2 = Average Damage x 1.32

Enemy Damage Reduction

If you hover over your level in the character sheet, you will notice that there is a line that says “Monsters at this Level have xx.xx% visible damage reduction”. Using data from level 1 to 100, a formula was developed to figure out the visible damage reduction of monsters at any level. You can find the data and findings here. The formula derived from the data is the following:


That means that an enemy at level 77 would take:

(77/(77+39.993271010657)) + 0.0256003093016355 = 0.6837578199 = 68.4% less damage.

If we check in game, we can see that this is accurate. This is included in the damage formula as:


Note: Enemies of level 106 and higher have a set 75% damage reduction and the damage reduction no longer scales per level.

General Formula

So, using what we have learned above we can import all relevant sections into a singular formula to calculate your average damage done (not DPS) by a specific skill. The following formula assumes all relevant conditions are met:

Average Damage = [Average Weapon Damage] x [Skill%] x [1 + Main Stat in %] x [1 + Sum of All Additive Stats] x [1.2 Vulnerable Multiplier] x [1.5 Critical Strike Damage Multiplier] x [1.5 Overpower Multiplier] x [Global Multiplier 1] x [Global Multiplier 2] x [Global Multiplier 3] x ... x [Global Multiplier N] x [(1-(enemy_level/(enemy_level+39.993271010657))+0.0256003093016355)]

This is just average damage without including variance and without including attack speed. The following is a simple formula if you include attack speed to calculate DPS (which may not be 100% accurate depending on the attack speed breakpoint theory):

Average Damage x [Weapon Attacks per Second] x [1+(Cap 1+Cap 2)]

To calculate the min and max damage you will do, you simply compute the following:

Min Damage: Average Damage x 0.72
Max Damage: Average Damage x 1.32

For flat damage, such as X’fals Corroded Signet, the formula changes as it no longer scales with weapon damage. It also cannot overpower, so the formula changes to:

Flat Damage Average Damage = [Flat Damage (X'fals)] x [1 + Main Stat in %] x [1 + Sum of All Additive Stats] x [1.2 Vulnerable Multiplier] x [1.5 Critical Strike Damage Multiplier] x [Global Multiplier 1] x [Global Multiplier 2] x [Global Multiplier 3] x ... x [Global Multiplier N] x [(1-(enemy_level/(enemy_level+39.993271010657))+0.0256003093016355)]

Because this does not use the weapon damage, it also does not use the weapon variance. That means the X’fals variance can be calculated with the following:

Min Damage: Flat Damage Average Damage x 0.9
Max Damage: Flat Damage Average Damage x 1.1
Volodymyr Azimoff
About Volodymyr Azimoff 13577 Articles
I love games and I live games. Video games are my passion, my hobby and my job. My experience with games started back in 1994 with the Metal Mutant game on ZX Spectrum computer. And since then, I’ve been playing on anything from consoles, to mobile devices. My first official job in the game industry started back in 2005, and I'm still doing what I love to do.

Be the first to comment

Leave a Reply

Your email address will not be published.