EDIT: The math formula on this page are valid only for speed > 3.0, for speed < 3.0 then it change slightly. The graph on this page is also wrong due some bugs on the simulator. For a correct graph consider the graph at post #164 and later
I had a disquisition about the fact that weapon speed affect the sustained damage if
WF is used with the argumentation: when you have a WF then you have two instant
attacks so is better slow weapons (with same DPS a slow wepon has higher top damage).
In the other side I tought that with quick weapons you have more WF so more extra attacks.
Anyway I wrote down some numbers and later one I wrote a shaman swing simulator
(I'll talk about it later).
Let's suppose to have 0% crit => no flurry (I'll try to consider crits later)
2 weapons with 100 DPS:
1st: speed 4 -> 400 damage/swing
2nd: speed 1.5 -> 150 damage/swing
I consider a WF proc each 5 attacks (the 20% stated)
Simulation wiht 1st weapon
T1 (4 sec) => 400 damage hit
T2 (8 sec) => 400 damage hit
T3 (12 sec) => 400 damage hit
T4 (16 sec) => 400 damage hit
T5 (20 sec) => 400 damage hit + WF hit (400*2 + 34*4*2)
T6 (24 sec) => 400 damage hit
T7 (28 sec) => 400 damage hit
T8 (32 sec) => 400 damage hit
T9 (36 sec) => 400 damage hit
T10 (40 sec) => 400 damage hit + WF hit (400*2 + 34*4*2)
and so on, the generic formula is easy to find:
Damage(Y secs)=400*(Y/4)+Y/20*(400*2+34*4*2)
so after 40 secs Damage = 400*(40/4)+40/20*(400*2+34*4*2)= 6144 damage
Simulation wiht 2nd weapon
T1 (1.5 sec) => 150 damage hit
T2 (3 sec) => 150 damage hit
T3 (4.5 sec) => 150 damage hit
T4 (6 sec) => 150 damage hit
T5 (7.5 sec) => 150 damage hit + WF hit (150*2 + 34*1.5*2)
T6 (9 sec) = 150 damage hit
T7 (10.5 sec) = 150 damage hit
T8 (12 sec) = 150 damage hit
T9 (13.5 sec) = 150 damage hit
T10 (15 sec) = 150 damage hit + WF hit (150*2 + 34*1.5*2)
and so on, in this case the formula is:
Damage(Y secs)=150*(Y/1.5)+Y/7.5*(150*2+34*1.5*2)
so after 40 secs Damage = 150*(40/1.5)+40/7.5*(150*2+34*1.5*2) = 6144
it seems that the speed doesn't affect it, the general formula (leaving
speed and weapon DPS unspecified):
Damage(Y secs)= speed*dps*(Y/speed)+Y/(speed*5)*(speed*dps*2+34*speed*2)=
dps*Y+ Y/5*(dps*2+34*2)
so whatever the weapon speed is the damage after Y seconds is not affected by it.
This confirms my tought, let see how crit affect this.
Introducing the crit chance (and so the Flurry) like 25% (one crit each 4 swings) I obtain a simulation that looks like this:
1st weapon ( in case of flury the speed becomes 2.8):
T1 (4 sec) => 400 damage hit
T2 (8 sec) => 400 damage hit
T3 (12 sec) => 400 damage hit
T4 (16 sec) => 400 damage hit + Crit (200) [flurry]
T5 (18.8 sec) => 400 damage hit + WF hit (400*2 + 34*4*2)
T1 (21.6 sec) => 400 damage hit + Crit (200) [flurry]
T2 (24.4 sec) => 400 damage hit
T3 (27.2 sec) => 400 damage hit
T4 (30.0 sec) => 400 damage hit
T5 (34.0 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) + Crit (200) [flurry]
and so on, write a general formula is not that easy ( is doable but still not easy ).
I wrote for this purpose (c++ code) a Swing Simulator, at his very first version it's
able to simulate the above scenario and the code looks like:
//weapon with 3.3 speed and 110 dps
Weapon * myWeapon = new Weapon("TestWeapon", 3.3, 110);
Talent * myTalent = new Flurry(5);
Shaman::instance().setCritPercentage(20);
Shaman::instance().mainHand(myWeapon);
Shaman::instance().addTalent(myTalent);
Target myTarget;
CombatLog myCombatLog;
Timer::instance().go(10000)
The code above simulate the shaman swing against a dummy target for 1000 seconds.
At the moment the simulator doesn't include weapon skill, dodge, defense, parry etc etc
With the simulator I simulated 10000 seconds (2.7 hours) fights, with weapons from 1.0 secs
to 8.0 secs and 0%, 10%, 15%, 20%, 25%, 30%, 33%. The result of simulations can be seen
here.
It seems to me that 2 weapons (with same DPS) do not affect the total damage after Y second
(not using Storm Strike). As soon I introduce the Mana Pool in the simulator I'll be able to
introduce the StormStrike talent and I'll be able to do the same simulation in order to see how the SS introduction affects it.