I'm trying to add in skill damage display to a spreadsheet I made, but I'm having problems reproducing the damage numbers shown in-game specifically for un-runed Rain of Vengeance, RoV-Dark Cloud and RoV-Anathema. The problem only occurs with these three runes, I believe because they're the only ones which have attack speed factored into their damage formulas.
The way I've been testing is with two weapons with different attack speeds (1h crossbow and a bow), but the same minimum damage. I then equip a ring with +16 minimum damage and no other damage-affecting stats (neither of the two weapons has damage-affecting stats either). I'm using only defensive passives and I have no other gear on.
1h crossbow: 3-17 damage, 1.6 aps
bow: 3-9 damage, 1.4 aps
These both become 19-19 damage with the ring calculated in.
50% crit damage
RoV summarized: 75% weapon damage for 5 seconds to all enemies in the area; 30 second cd.
When I use unruned RoV with the 1h crossbow, the damage numbers that display are 40 for non-crits and 60 for crits. With the bow, the numbers are 35 for non-crits and 53 for crits.
I was able to backwards-calculate the damage by letting the full duration of the ability run on a zombie and checking the hp values of the zombie afterwards. I only did this with the 1h crossbow and came out to a total of 321 damage done when there were zero crits. I did check this multiple times, but it was only between 5-10 times since I eliminated the weapon damage range variance.
321/5 seconds = 64.2 dps
64.2/0.75 weapon damage = 85.6 total modified damage
85.6/2.87 dexterity modifier = ~29.8 weapon dps
29.8/1.6 aps = 18.64 weapon damage (including the +16 from the ring) which rounds to the expected 19.
Now if I use that process in reverse, I should be able to get the per hit value of the ability, but the on-screen combat text never shows a number as high as what the derived formula says it should be (65 rounded according to my spreadsheet).
So how is the game determining that RoV is only doing 40 per hit?