Basic Attack DPS, incorrect w/r/t crit?

#1 - Oct. 18, 2011, 9:05 a.m.
Blizzard Post
Is the Basic Attack DPS calculated correctly?
It seems to count the base hit twice when calculating the crit damage part of it ?

My understanding of +x Critical hit damage is as follows:
a +50% crit hit damage means that a 100 damage hit will become a 150 damage crit (if it crits).

If the above assumption is correct, then there seems to be an issue with the ingame calculation of Basic Attack DPS.

As I see it, the Basic Attack DPS is calculated as follows:
Base DPS = [avg dps] * [1 + attack]
Added from Crit = [Base DPS] * [Crit Change] * [Crit Hit]
Basic Attack DPS = [Base DPS] + [Added from Crit]

Here an example, using a barbarian with the Ruthless passive.
(Note: this is not a bug with Ruthless, just used it here to add some crit% and +crit so the numbers were further apart, same error applies to other classes and without the use of Ruthless)

Only item equipped is the weapon, which does 11-15 damage +5-10 lightning, with 1.30 APS, and +28% crit damage (Note: also has a +3-6 damage modifier, but that is already included in the listed damage range of the weapon in the tooltip)
So my base stats are ( http://i.imgur.com/WjvDC.png ):
Damage: 16-25
APS: 1.30
Base DPS: 26.65 ( (16 + 25) / 2 * 1.3 )
Attack: 34%
Crit chance: 6.49%
Chit Hit: 128%
Listed Basic Attack DPS: 40.99

If we use the above numbers:
Base DPS = 26.65 * (1 + 0.34) = 35.711
Added from Crit = 35.711 * (0.0649) * (1.28) = 2.966584192
Basic Attack DPS = 35.711 + 2.966584192 = 38.677584192

But, the ingame display seems to add 1 to the crit hit, so:
Base DPS = 26.65 * (1 + 0.34) = 35.711
Added from Crit = 35.711 * (0.0649) * (1 + 1.28) = 5.284228092
Basic Attack DPS = 35.711 + 2.966584192 = 40.995228092

I know that a 128% increase means that the crit hits for 228%.
But the normal hit is already included in the base DPS part of the equation, so it shouldn't be included in the part calculating the added DPS from crits.

To simplify the example a bit.
Say we have base dps of 100 (1.0 aps), a crit% of 10% and +crit of 50%
So on average, over 100 seconds we get 100 attacks like:
90 normal attacks of 100 damage each = 9000 damage
10 crits of 150 daamge each = 1500 damage
For a total dps of (9000+1500)/100 = 105 dps

If we plot those numbers into the formula:
Base DPS = 100
Added from Crit = 100 * (0.10) * (0.50) = 5
Basic Attack DPS = 100 + 5 = 105

But the ingame would display:
Base DPS = 100
Added from Crit = 100 * (0.10) * (1.50) = 15
Basic Attack DPS = 100 + 5 = 115

So to sum it up:
The ingame Basic Attack DPS calculation includes the base damage of crits twice, causing the DPS to appear higher than it should be.
Forum Avatar
Quality Assurance
#2 - Oct. 18, 2011, 6:07 p.m.
Blizzard Post
Good catch Maldivia, thanks for the post. This is actually a UI bug with the Character Sheet.