Remove Advertisements

I have come to a revelation about reckoning

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

I have come to a revelation about reckoning

Postby stulexington » Mon Jan 03, 2011 12:11 am

If your weapon is 2.0 or slower after haste, it doesn't matter what the weapon speed, you will add on average 8 times weapon dps per full proc (barring roundoff error). The reason for this is it's triggered off of a block, not an attack, so you can be part way through the auto attack cooldown when the timer starts.

The example that just happen to work out evenly:

Consider every auto attack as providing a multiple of weapon dps.
lets say you have a weapon with a speed of 2.4:

normally, you get 3 attacks totaling 7.2 seconds worth of weapon dps.
However, if the trigger happened with only .8 sec before the next auto attack, you would get 4 attacks in that 8 seconds, and thus 4 double attacks. (.8 + 2.4 + 2.4 + 2.4 = 8 ) which actually causes 9.6 seconds worth of weapon dps.

The thing is, you only get 4 attacks 1/3 of the time, and get only 3 attacks the other 2/3, so you get on average:
9.6(1/3)+7.2(2/3)
=3.2 + 4.8
=8 seconds worth of weapon dps.

Now the math:

Let w = weapon speed.
first of all, if weapon speed evenly divides 8, you will obviously get 8 seconds worth every time.
otherwise, there exists x such that
xw < 8 < (x + 1)w
and finally let c be the critical point such that
xw + c = 8

so, if the first auto attack after reckoning procs comes within c, you get x+1 attacks, otherwise, you only get x attacks.
The odds of getting x+1 attacks are c/w
the odds of getting x attacks are (w-c)/w

So the average damage is weapon dps multiplied by:
w(x+1)c/w + xw(w-c)/w
=cx + c + xw - cx
=c + xw
=8

so on average you get 8 seconds worth of weapon dps no matter what the weapon speed is.

I admit I'm very rusty with math, I hope I didn't make any mistakes, it would be embarrassing for my first post.
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby tlitp » Mon Jan 03, 2011 3:04 am

stulexington wrote:lets say you have a weapon with a speed of 2.4:

normally, you get 3 attacks totaling 7.2 seconds worth of weapon dps.
However, if the trigger happened with only .8 sec before the next auto attack, you would get 4 attacks in that 8 seconds, and thus 4 double attacks. (.8 + 2.4 + 2.4 + 2.4 = 8 ) which actually causes 9.6 seconds worth of weapon dps.

The thing is, you only get 4 attacks 1/3 of the time, and get only 3 attacks the other 2/3, so you get on average:
9.6(1/3)+7.2(2/3)
=3.2 + 4.8
=8 seconds worth of weapon dps.

Your logic is (surprisingly*) good, except one minor oversight. I've emphasized its occurrence : the time frames are not identical. With the probability 2/3, you see 3 extra attacks (from a non-refreshed Reckoning proc) in a normalized time frame of 8 seconds; with the probability 1/3, you see 4 extra attacks in a non-normalized time frame (i.e. less than 8 seconds).

Analytically, you can compute the average duration/#attacks by integrating from 0 to 1 the following functions :
Code: Select all
duration
f(x)=min(8,(x+min(3,8/weapon.swing))*weapon.swing)
extra attacks
g(x)=f(x)/weapon.swing

With your numerical input (ws=2.4), you'd see ~3.28 extra attacks from a non-refreshed proc, slightly fewer than your 3.33 estimate.

* your math may be rusty, but you've actually tried to understand what's happening "behind the curtain".
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: I have come to a revelation about reckoning

Postby theckhd » Mon Jan 03, 2011 6:34 am

Despite the minor math error, your intuition is correct. Reckoning is independent of weapon speed above a certain threshold, and translates into 8 seconds of double dps.

There was a nice derivation of it on the old wow forums, but the link seems broken. However, this has been discussed on Maintankadin quite a few times before, here in 2007 and again in 2009.

<edit>Another way to phrase your derivation:

w = weapon swing timer
n = floor(8/w) = number of "guaranteed" swings within an 8-second window
r = 8 - n*w = "leftover" Reckoning time

n is the number of full swing timers that fit into the 8-second window. If the reckoning proc happens simultaneously with a weapon swing (so that the weapon swing gets the Reckoning effect), then you get n+1 procs. If it happens r seconds earlier, you still get n+1 procs. So you have an r/w probability of getting n+1 procs, and a (1-r/w) probability of getting n procs. The average number of swings N is then:

N = (r/w)*(n+1) + (1-r/w)*n = n + r/w

Unsurprisingly, this works out to 8/w if you plug in for r, up to the maximum of 4.

The damage output in those 8 seconds will just be the number of swings N times the weapon damage d=D*w, where D is the weapon DPS.

N*d = D*N*w = D*max(8/w,4)*w = D*8, or 8 seconds of extra dps D. If 8/w is more than 4, we only get D*4*w seconds of extra dps, which is necessarily smaller than 8 (because w has to be smaller than 2). This is why fast weapons don't see the full benefit of Reckoning.

Again, this is ignoring the correction tlitp provided, which is that the effective duration of Reckoning is shorter than 8 seconds if you use up all 4 charges prematurely. The analytical expression of his idea is much more complicated thanks to the extra piecewise functions. However, integrating his expression numerically gives a more accurate estimate of Reckoning's DPS contribution (proportional to the uptime):

Image
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7710
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: I have come to a revelation about reckoning

Postby stulexington » Mon Jan 03, 2011 3:06 pm

I am having a hard time figuring out how reckoning down time is relevant to my calculations. The reckoning start time will happen some time within the weapon swing time. If the reckoning happens late enough into the swing time you will get another swing. This is triggered on start time for reckoning, I understand and appreciate that sometimes the 4th attack will be finished before the 8 second timer is up, the 4th attack still happens.

I think one of the problems may be a poor explanation of how I arrive at my fractions. They are fractions of weapon speed. In my example, the critical time happens 1.6 seconds into the swing. If reckoning triggers before 1.6 seconds into the swing, you get 3 attacks, at 1.6 or later, you get 4. If reckoning triggers at or after 1.6 seconds into the swing, you get 4 attacks. 1.6/2.4 is 2/3 of the way through the swing, so if reckoning triggers before the first 2/3 of the swing you get 3 attacks and if it triggers at or after 2/3 of the way through the swing (within the last 1/3 of the swing), you get 4 attacks.

If reckoning triggers just before an attack, sure you'll get .8 seconds of reckoning down time but in that 7.2 seconds of reckoning up time you still get the 4th attack, which still adds the full 9.6 seconds worth of weapon dps which is all my formula says you will get.

Just to be clear, the fraction is based on the total time of the weapon swing, not the 8 seconds of reckoning and so it should already have the reckoning downtime factored in.
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby theckhd » Mon Jan 03, 2011 3:47 pm

For a single, isolated Reckoning event it wouldn't be relevant (at least, for calculating average damage done). I think it only becomes relevant if you want to start considering multiple Reckoning events. Though even there, I'm not certain whether the reduced duration matters as far as DPS goes; if you get another Reckoning proc after the 4th swing but before the 5th, as far as the game cares you may as well have had it up during the whole swing timer.

Of course, it is going to be a more accurate reflection of the uptime you'll see in combat log parses, because the effective duration of Reckoning won't be 8 seconds if you're using up all 4 charges, and the combat log will reflect that.

I think I'll let tlitp answer this one, since he's a bit more familiar with the details than I am. :P
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7710
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: I have come to a revelation about reckoning

Postby stulexington » Mon Jan 03, 2011 4:15 pm

Upon further reflection, it's not that it is irrelevant, the reckoning down time is already incorporated into the formula. The formula says you can not get more than 4 attacks due to time constraints and so has .8 seconds where no dps is being added. The fact that you can not get more than 4 attacks due to a hard limit reckoning really is already written in.
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby tlitp » Tue Jan 04, 2011 3:02 am

In theory (i.e. ignoring parryhaste altogether), you get the full benefit of Reckoning from 2.0+ player.swing if and only if target.swing>8/3. (single-target scenarios)

In practice, parryhaste=f(player.swing) is (more or less) monotonically increasing for any given set of parameters (target.swing and player.parry). Therefore even for really low attack rates (e.g. target.swing=3.0), Reckoning continues to scale past player.swing=2.0.
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: I have come to a revelation about reckoning

Postby stulexington » Tue Jan 04, 2011 9:00 pm

tlitp wrote:In theory (i.e. ignoring parryhaste altogether), you get the full benefit of Reckoning from 2.0+ player.swing if and only if target.swing>8/3. (single-target scenarios)


I still can't figure out the difference between not being able to get 5 attacks because you run out of time and not being able to get 5 attacks because of a hard limit of 4 attacks. Perhaps if you explained to me how much more damage you would do with a 2.4 speed weapon if reckoning had 5 charges instead of 4 and why it would finally make sense because as far as I can tell, it would be 0 extra damage.
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby Fridmarr » Tue Jan 04, 2011 11:43 pm

stulexington wrote:
tlitp wrote:In theory (i.e. ignoring parryhaste altogether), you get the full benefit of Reckoning from 2.0+ player.swing if and only if target.swing>8/3. (single-target scenarios)


I still can't figure out the difference between not being able to get 5 attacks because you run out of time and not being able to get 5 attacks because of a hard limit of 4 attacks. Perhaps if you explained to me how much more damage you would do with a 2.4 speed weapon if reckoning had 5 charges instead of 4 and why it would finally make sense because as far as I can tell, it would be 0 extra damage.
I may not be quite understanding what you are asking, since what you quoted was "in theory" but based on a 2.0+ timer and not 2.4. Following that though, his "in practice" comment, where a slow weapon scales beyond swing=2.0 is referring to the situation where the player's swing is parry hasted.

I haven't done the math (and forget the parry haste percentage formula off the top of my head), but I suspect you could get 5 charges worth from reckoning if you are parry hasted shortly after each swing, like when you are AOE tanking, even with a 2.4 speed weapon. Excluding the hard cap of course.
Fridmarr
Global Mod
 
Posts: 9665
Joined: Sun Apr 08, 2007 1:03 am

Re: I have come to a revelation about reckoning

Postby stulexington » Wed Jan 05, 2011 12:59 am

What I was asking is not as important as the answer you gave. Parry haste, got it.
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby tlitp » Wed Jan 05, 2011 1:04 am

theckhd wrote:For a single, isolated Reckoning event it wouldn't be relevant (at least, for calculating average damage done). I think it only becomes relevant if you want to start considering multiple Reckoning events.

A single (non-refreshed) proc doesn't tell the whole story. Based on it alone, one would correctly assume that player.swing>=2.0 is enough to see the full benefit of the proc.

However, we're interested in Reckoning's uptime (i.e. multiple procs/buff refresh) - and it's a different beast altogether. For that we need to look at the full formulation of the uptime :
Code: Select all
uptime=a-b^f(duration),
where a and b are two constants

Generally speaking, f(duration) would be f=duration/target.swing; it's simply the count of refresh opportunities inside a proc's duration. However, in single-target scenarios it's a better approximation to use a floor(), i.e. f=floor(duration/target.swing). That's because target's autoattacks will always be synchronized to the application of the aura. Using target.swing=2.5 as example, and assuming the full 8 seconds duration :
Code: Select all
time=0.0
AA (block) -> Reckoning aura application
t=2.5
AA
t=5.0
AA
t=7.5
AA
t=8
aura fade

The last 0.5 seconds (in this example) are always wasted. The number of refresh opportunities is 3.0, not 3.2.

If player.swing=2.0, the proc will last 6-8 seconds. The number of refresh opportunities is constant if and only if target.swing>8/3. If the target has a higher attack rate, say target.swing=1.8, there will be some procs with 3 refresh opportunities (i.e. duration<7.2), and others with 4 refresh opportunities (duration>=7.2). Which means that, despite player.swing=2.0, you don't always get the full benefit of Reckoning.
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: I have come to a revelation about reckoning

Postby stulexington » Thu Jan 06, 2011 12:47 am

Actually, that looks like an oversimplification the numbers don't seem to support. I think it is better to state that there is a chance that a 2.0 weapon can achieve full effect after only 6 seconds (I'm not saying that makes it better, after all a 2.7 weapon can achieve full effect after only 5.1 seconds) and here's why.

First, I'd like to apologize for the ascii chart, I'm actually compiling some of the data for the first time as I write this. Second, I know extremes don't tell the entire story, but there is only one hit difference from best and worst case and it does help. Third, a reminder that all of this is after haste is applied to the weapon.

Lets take the enemy swing of 2.5 seconds and lets take the optimal situation of player getting an attack just after the first proc. There are events at 8 seconds, 10.5 seconds, 13 seconds and 15.5 seconds: single proc, extra proc after 2.5 seconds, extra proc after 5 seconds and extra proc after 7.5 seconds, and lets take weapon dps at 100 and track total damage from reckoning at each time point (2.67 is actually 8/3, and would of course require haste rating):

Time 2.00 2.40_2.50_2.60_2.67_2.70
0.0+ 0200 0240 0250 0260 0267 0270
02.0 0400 0240 0250 0260 0267 0270
02.4 0400 0480 0250 0260 0267 0270
02.5 0400 0480 0500 0260 0267 0270
okay, lets skip to the good bits:
08.0 0800 0960 1000 1040 0800 0810
10.5 1200 1200 1250 1300 1067 1080
13.0 1400 1440 1500 1300 1333 1350
15.5 1600 1680 1750 1560 1600 1620*
Now lets take a look at the worst case events when the proc happens just after a player attack:
08.0 0800 0720 0750 0780 0800 0540
10.5 1000 0960 1000 1040 0800 0810
13.0 1200 1200 1250 1300 1067 1080
15.5 1400 1440 1500 1300 1333 1350

*It's important to note that for this event, the reckoning timer would actually disappears for 2.0 at 6 seconds, and for 2.4 at 7.2 seconds, breaking the chain. The proc still happens at 7.5 seconds, before either weapon can get in another attack however so neither weapon swings when reckoning is down. In fact in general there is not enough space between procs for a 2.0 weapon to get a normal attack when a slower weapon would still have a chain.

Of course this data is skewed, different attack speeds stay optimal for different periods of time. An interesting note is that slower weapons have a chance of not doing any more damage at 10.5 as they do at 8 seconds, effectively wasting a proc from a quick chain while the quicker weapons always get at least one more shot in. This likely averages out with the fact that the slower weapons hit harder when they do get the extra hit. Each weapon speed has good events and bad events and I can't really tell yet which one will average out to be the best, if any. All I can tell is the assumption that weapons quicker than 2.66 are suboptimal due to reckoning downtime seems a little hasty.
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby theckhd » Thu Jan 06, 2011 6:44 am

stulexington wrote:Actually, that looks like an oversimplification the numbers don't seem to support. I think it is better to state that there is a chance that a 2.0 weapon can achieve full effect after only 6 seconds

tlitp's expressions in post #2 are an analytical solution, not a guess. They're not an oversimplification. If anything, trying to draw a conclusion from a single table for a single boss attack speed in two extreme cases is an oversimplification.

Also note that you seem to be confusing target.swing with player.swing; target.swing is the boss's swing speed, player.swing is the player's attack speed. Hence:
tlitp wrote:The number of refresh opportunities is constant if and only if target.swing>8/3.

refers to the boss's swing timer being 2.67 or greater, not the player's swing timer.

I'm not sure what you're doing with your table there. It looks like you're tracking total damage and allowing for Reckoning to proc at the 8 second mark. This isn't going to be a fair comparison between weapon speeds, because each weapon is at a different point in their swing timer at the 8 second mark. In addition, it looks like many of your table entries are wrong (or else I'm not sure what you're tracking); if Reckoning procs at the 8-second mark just before the melee swing, the 2.0-speed weapon should gain 400 damage (2 swings) every 2 seconds. So at 10.0, it should be 1200 damage (+400), at 12.0 it should be 1600 damage (+800), at 14.0 it should be 1800 (+1200). Similarly for many of the other entries.

In any event, you won't get much useful information from such a table. What matters for Reckoning is always uptime, as tlitp noted. Any attempt to consider the actual damage done has to consider the whole picture, which has to include boss attacks refreshing the proc.

In other words, it's easier to think of Reckoning as a buff that says "Doubles weapon DPS for 8 seconds" and calculate the average uptime, because that's actually what Reckoning does. If you do that, and calculate the uptime properly as tlitp demonstrated, you will get the same answer as if you were to try and handle the much more complicated system of discrete procs.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7710
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: I have come to a revelation about reckoning

Postby stulexington » Thu Jan 06, 2011 1:26 pm

stulexington wrote:
Lets take the enemy swing of 2.5 seconds and lets take the optimal situation of player getting an attack just after the first proc. There are events at 8 seconds, 10.5 seconds, 13 seconds and 15.5 seconds: single proc, extra proc after 2.5 seconds, extra proc after 5 seconds and extra proc after 7.5 seconds, and lets take weapon dps at 100 and track total damage from reckoning at each time point (2.67 is actually 8/3, and would of course require haste rating):
stulexington
 
Posts: 7
Joined: Sun Jan 02, 2011 11:19 pm

Re: I have come to a revelation about reckoning

Postby Njall » Thu Jan 06, 2011 1:26 pm

So, based on the title, Reckoning has come to a reckoning.

Sorry.
Image
Flight to Peru: £1000
Camping gear: £200
Native guide: £50
Sledgehammer to break down stone door: £12.99
Awakening one of the Great Old Ones: priceless.

There are some things man was not meant to know. For everything else,
there's Mastercard.
User avatar
Njall
Maintankadonor
 
Posts: 4328
Joined: Mon Oct 05, 2009 1:13 pm
Location: Thank heavens! Heavy Metal!

Next

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: No registered users and 1 guest


Remove Advertisements

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: No registered users and 1 guest