|
Thankyou for this, Rezarel.
[ProcDuration] / ([HiddenCooldown]+[AvgTimeToProc])
Is how I have it setup currently (I think) in the current build, so that will not change.
So what you are saying about PPM is this:
MH%: [PPM] / 60 seconds * (1 - [%miss] - [%dodge])
When I see this formula I think okay, where in the game coding does it take 1 - dodge chance - miss chance and multiply it by listed PPM... Can it or will it do that? Lets say the PPM/60sec math cranked out a percent to proc of 1.66~%. For example, coding mechanics may work like this when a hit lands: it does a rand function and an if/then/else statement: IF(RAND(10000)<166); THEN(EFFECTSTART=YES); ELSE(EFFECTSTART=NO). Assuming a 1.66% chance on any attack to proc the effect.
The game takes that and applies it to each attack. Haste, flurry, and speed increase the rate of which you attack, which will also increase the rate in which the effects can proc. UNLESS, there is also a function in the code where it reduced that example 1.66% by a factor of the current weapon in question's attack speed increase.
So by your example, we will say that it would then be IF(RAND(10000)<(166 / [1+IncreaseInAttackSpeed]); THEN(EFFECTSTART=YES); ELSE(EFFECTSTART=NO)
And Rez, by that proposition it would apply to special attacks in the means where the percent was not reduced by attack speed. IF(RAND(10000)<166); THEN(EFFECTSTART=YES); ELSE(EFFECTSTART=NO).
so in conclusion, the real PPM would then be
MHWepSpd*([ppm]/60)*[MHWhiteHeroicPerSec] / ((1+.25[FlurryUp])*(1+[AvgSpeed])*(1+[AvgHaste]))
+
OHWepSpd*([ppm]/60)*[OHWhitePerSec] / ((1+.25[FlurryUp])*(1+[AvgSpeed])*(1+[AvgHaste]))
+
MHWepSpd*([ppm]/60)*[MHWFInstantPerSec] (assuming wf hits are not penalized by Inc.Speed)
+
OHWepSpd*([ppm]/60)*[OHWWPerSec] (assuming offhand ww actually counts as a hit as blizz wants in 2.4)
simplifying to the following: ([ppm]/60)*{ ((MHWepSpd*[MHWhiteHeroicPerSec] + OHWepSpd*[OHWhitePerSec]) / ((1+.25[FlurryUp])*(1+[AvgSpeed])*(1+[AvgHaste]))) + MHWepSpd*[MHWFInstantPerSec] + OHWepSpd*[OHWWPerSec] }
instead of how it would be modeled without Inc.Speed penalty:
([ppm]/60)*(MHWepSpd*[MHWhiteHeroicWFInstantPerSec] + OHWepSpd*[OHWhiteWWPerSec])
which is how it is modeled in the sheet now.
However, im not yet sold on the haste adjustment thing at the moment. Me and a rogue buddy of mine are gonna go do some testing soon.. to try to figure out what exactly it is.
Edit: A couple forumlatic errors I corrected
Last edited by landsoul : 03/18/08 at 8:31 PM.
|