Thread: Proc Mechanics
View Single Post
Old 04/23/08, 4:30 PM   #21 (permalink)
 Aldriana
Soda Popinski
 
Night Elf Rogue
 
Proudmoore
I think the way that most of us (by which I mean certainly myself, and probably DMM and Vulajin as well) are thinking about it is as follows:

After the cooldown completes, you are somewhere between two attacks. If attacks were perfectly periodic, you could figure out exactly where you'd be between two. But, alas, attacks aren't perfectly periodic - not even close. For casting spells they may be somewhat close (modulo the player's ability to cast spells perfectly end-to-end), but for melee attacks, they're really not. Never mind the fact that even straight autoattacking with a single weapon you'll see more variance in the time between consecutive attacks than you might guess, there's also the fact that MH attacks are muddied by SS procs, WF procs, and instant attacks, plus the fact that various haste procs and activated abilities means the spacing between consecutive attacks is anything but constant in the long run.

At this point, there are two schools of thought:

1) For attacks that are roughly periodic - OH attacks, and probably spellcasting as well - one assumes they're periodic but that the proc cooldown comes up at a random point in time between two attacks. Thus, the time till first eligible proccing attack is, on average, 1/2v, and then there's another chance to proc every 1/v units of time thereafter. When you total this up, you find that the expected time from end-of-cooldown to first proc is 1/vp-1/2v (which I think is what DMM was going for). This is probably a reasonable approximation of the offhand/chaincasted spell case.

2) For MH attacks, however, it seems to me that attacks are just too irregular for the periodicity assumption to hold - this is why I've defined v the way I have. If things were always (roughly) periodic, it would make more sense to define f = average time between attacks and use that. But, with procs and instant attacks - or procs that affect both hands, such that you have all that plus 2 interweaving roughly periodic attacks - periodicity doesn't really apply. Thus, I operate off expected number of attacks in a given interval of time instead. Thus, when the cooldown is up... the following second is a second like any other, so there are an average of v attacks in that second, and thus a proc occurs with probability 1/pv in the first second, (1-1/pv)*1/pv in the second second, and so on; adding this up gives the expected time till first proc after the cooldown as 1/pv, as per my original equation.

Which is the better way of modeling stuff in general? Hard to say. I chose option 2 because it's a simpler expression, and, frankly, the difference between the two is unlikely to be relevant. But as it's still an approximation, I'm not averse to other options if people think they are superior.
 
User is offline.
Reply With Quote