Originally Posted by Astrylian
Using the simulators, you can build formulae to predict the uptime of Flurry compared to crit rate and weapon speeds, and formulae to predict the overall WF proc rate based on Flurry uptime and weapon speeds. Those could then be used in Rawr, to calculate DPS and URU in single passes. It's a process similar to what Toskk has done for the heavily proc-based rotations of Cats, and is now the basis of Rawr.Cat.
|
The difficulty (or just obscene tedium, depending on which method you take to calculate it) of doing what you describe, accurately, is exactly why we use sims.
That having been said, if someone spent a lot of time graphing out the results from the sim to make a close-enough-approximation for the WF ratios and flurry uptime, perhaps it would work. I'll check out Toskk's work to see what's up there.
Procs themselves aren't hard. Procs with internal cooldowns are harder. Perhaps I should be looking more into the models of people who have worked on trinket procs.
Edit 1:
for an example of why it's hard to do closed for windfury, it's because there are so many intertwined variables:
Given weapons of given speeds,
Windfury procs are dependent on weapon speed times (in absolute seconds), which are dependent on flurry being active or not, which is dependent upon crit rate, stormstrike crit rate, and windfury crit rate, and windfury proc rate.
Which is a nice way of saying that the windfury proc rate affects it's own self as a second order effect due to the fact that it can proc flurry. Maybe I'll make a pretty picture of this.
Edit 2:
I just checked the Cat model. Looks like a lot of work went into that, though I had brief moment of sadness seeing the powershifting line /grieve
In any case, stuff like this makes me a bit uncomfortable, taken from CalculationsCat.cs:
float hasteBonus = stats.HasteRating / 15.76f / 100f;
float attackSpeed = (1f - (stats.Bloodlust * bloodlustUptime)) / (1f + hasteBonus);
float meleeTicker = attackSpeed;
This type of averaging doesn't fly at all for enhance shaman.
DPS from a weapon constantly swinging at 1.49 speed is
incredibly different from DPS of a weapon that swings at 1.51 for 9.33 minutes and 1.16 speed for 40 seconds, even though the total number of attacks (ignoring flurry) per bloodlust-cooldown-cycle is the same. I know it's just one example in the cat code, but seeing people be able to do this compared to what we have to deal with makes me less inclined to think this is practical without the afforementioned calculatory breakthrough, or someone spending a whole lot of time with the sim to chart all the variables and retroactively fit an equation to it.