This is kinda 3 pages ago (and on top of that the thread's been dead for a few weeks), but when Wraithlin said something about the WF procs ranging from 0.5 to 1.1 seconds later than the generating swing, and talked about the normal distribution preventing a sharp drop-off at any speed, it got me thinking. (
Post 34,
Post 36). So I threw together a quick sim program to see the effects this latency would have
if it effected weather the attack was in the CD.
It's very simplistic, I basically simulate auto-swings, WF procs, and WF CD; no miss, no crit, no flurry, no damage, etc. It generates an auto-swing every X seconds based on a specified weapon speed. On each auto-swing, it schedules a WF check for a random interval in the future (0 for no delay). At that point it checks if the WF CD is up, if it's not, it checks Rnd() < 0.2 to see if WF procs. If WF procs, it flags that WF CD is up and schedules an event 3 seconds later to drop the CD flag. Because of the nature of the queue I use for my events, collisions are handled in such a way, that whichever event was
scheduled second, happens second, this is probably slightly different than wow, but shouldn't have a major effect. Eg. with no delay, a swing speed of 3.00 would land inside the WF CD, but 3.01 would not. While this distinction would be important in game, it doesn't affect the shape of the graphs very much.
I ran this for attack speeds from 0.30 to 3.20 (at a granularity of 0.01) for 300,000 seconds (83hrs) each, and kept track of the PPM of WF. Then I threw the data into Excel and generated a couple graphs. I took a fixed weapon DPS of 143.3 and multiplied it by each attack speed and then by 2 to get "WF Damage" (granted this ignores AP, but the damage shouldn't matter, as long as it's consistent). Then I multiplied that damage by the PPM and divided by 60 to get the "WF DPS." Note: This is
not including any damage from white hits
Here's the graph with 0 delay in WF procs (like we see in typical simulators):
My code could be missing something big, but it seems that WF DPS is independent of weapon speed in each given range, but as you get to different factors of 3.0 (3.0, 1.5, 1.0, 0.75), you take a drop in WF damage. I'm sure flurry, heroism, moving out of range of WF, and any other effect that causes variable haste would smooth out the graph a bit favoring weapons more toward the slow end of each segment.
However, if WF can proc when the delay causes WF to land outside the CD, even though the white hit that generated it landed inside, the graph looks like this. I used a 0.5 to 1.1 range for the WF delay as that's what was observed in the prior post.
The DPS and PPM follow the same general shape as the other graph, but there's no hard drop off points. From about 1.7 to 1.3 speed WF DPS slowly drops off then levels out again, begins to drop off near 1.0, etc. This is basically just proof of concept of what Wrathlin said in
Post 40, for those who had a hard time visualizing what he was talking about (like me).
The question is which case matches what is seen in game. Is the 3s CD from procing swing to procing swing, or from WF generation to WF generation. If it's the latter, then haste won't have a sharp drop off point, however, it will still be somewhat counter-productive in the ballpark of 1.5 (though probably still a DPS increase). The question of why the delay happens (server processing, client lag, intentional delay to prevent a haste chasm) is important to know if the delay actually exists in terms of WF CD calculation, or if it only shows up in combat logs. But beyond that, if it
does show up in the CD calculation, does it behave like the simulator (top graph), or like Wrathlin describes in post 40 (bottom graph)?