Poison Damage over a duration (Small Charms)

I will go through the technical data first so you know how to arrive at the damage i got. So you can skip all the jibberish if you like.


First we need some data about the poison affixes.

Affix Frames
Poison Damage
Septic 75 52
Foul 100 128
Toxic 125 205
Pestilent 150 299
of Blight 75 21
of Venom 100 39
of Pestilence 125 52
of Anthrax 150 86


These numbers come from the mpq file. Ok, now that we have that we can calculate damages.

To find the damage of a poison prefix with a poison suffix you can use this formula to find it in terms we know it by, poison damage per second.

A=Prefix damage B=Suffix damage Af=Prefix frames Bf=Suffix frames

[(A+B)/256]*(Af+Bf) = Poison damage per second

So lets take an example. Lets take Pestilent of Pestilence. So we know Pestilent damage is 299 and its over 150 frames and we know the suffix of Pestilence does 52 damage over 125 frames. So, A=299 B=52 Af=150 Bf=125. Putting it into the formula we get.

[(299+52)/256]*(150+125)

(351/256)*275 1.37109375*275=377.05078125 or because diablo only does integers it would be 377. Thats the amount of damage it would do.

To get the amount of time it does that damage we must convert the frames to seconds. To do that we divide by 25. So it would be (Af+Bf)/25. In this case (150+125)/25 = 275/25 = 11

So a charm named Pestilent of Pestilence would do 377 poison damage over 11 seconds.

We can also find the total damage with just the base poison damages. For example, say you did not have those values above but still wanted to find out what they did. Well in game you can see the damage if there is only one poison affix.

Pestilent is 175 damage over 6 seconds and of Pestilence is 25 damage over 5 seconds. Well from this we can already see the damage over seconds. You can actually just do 6+5 = 1 and you dont need to convert this. But the damage we do. We need to convert the damages back into damage per frame. So the formula for this is

C=Prefix Damage D=Suffix Damage Cs=Prefix over seconds Ds=Suffix over seconds

Note: 10.24 is the duration of 256 frames but in seconds. Hence 256/10.24 = 25 which is used above.

[[((C/Cs)*10.24)+((D/Ds)*10.24)]/256]*[(Cs*25)+(Ds*25)] = the total damage.

Wow that seems like a lot. Its really not. Basically we are just converting back into damager over frames then back into damage over seconds.

Lets do the example above.

C=175 D=25 Cs=6 Ds=5

[((175/6)*10.24)+((25/5)*10.24)]/256*[(6*25)+(5*25)] (298.6666+51.2)/256*(150+125)

Notice that its not exactly what it should be. And again diablo uses integers so we can round to 299 and 51.

(299+51)/256*(275) (350/256)*275 1.3671875*275 = 375.9765625 = 376, which is still pretty close to what the exact answer should be. Then of course we already know the duration which is 11 seconds. So we get 376 over 11 seconds, although the real answer would be 377 over 11 seconds.

Also you will notice that A=[(C/Cs)*10.24] and B=[(D/Ds)*10.24] also Af=Cs*25 and Bf=Ds*25

So that is how you find out the damage when you have and prefix and a suffix with poison damage over time. If you dont want to read all that heres a table for you.

Affix Poison Damage/second
Pestilent of Anthrax 451/12
Pestilent of Pestilence 377/11
Pestilent of Venom 330/10
Pestilent of Blight 281/9
Toxic of Anthrax 313/11
Toxic of Pestilence 251/10
Toxic of Venom 214/9
Toxic of Blight 177/8
Foul of Anthrax 209/10
Foul of Pestilence 158/9
Foul of Venom 130/8
Foul of Blight 102/7
Septic of Anthrax 121/9
Septic of Pestilence 81/8
Septic of Venom 62/7
Septic of Blight 43/6