I was bored, so I decided to do some calculations about Haste, Double Attack (DA), and Triple Attack (TA). The equations used are as follows:
Used in All Calculations
BaseDamage=Time/BaseDelay
%Increase=(Damage-BaseDamage)/BaseDamage
Haste:
AdjustedDelay=BaseDelay*(1-Haste%)
Damage=Time/AdjustedDelay
Double Attack:
Damage=BaseDamage*(DA%*2+(1-DA%))
Triple Attack:
Damage=BaseDamage*(TA%*3+(1-TA%))
Here are the results of the calculations:
The Data
Note: Changing the BaseDelay and the Time does
not affect the %Increase.
As can be seen in Fig. 1, DA and TA both increase damage linearly while haste increases in a hyperbolic manner,
not exponential as some people mistakenly identify it. (Haste follows a hyperbolic function with asymptotes at Haste=100% and %Increase=-100%. If you don’t believe me, do the math yourself.) Figure 2 continues Haste out to 100% to demonstrate how haste would beat TA for values greater than 50% haste. Figure 3 demonstrates what the haste curve actually looks like.
From the results, I have made the following conclusions:
TA=2*DA
Haste>DA for all values of haste
TA>Haste for Haste<50%
Haste>TA for Haste>50%
Over 100% Haste is not advised.
Summary:
Haste gives increasing return which means: The more haste that you have, the bigger the increase it gives.
*If you see any errors in my calculations, feel free to add your own corrected ones.*