Remove Advertisements

Heroism timing

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

Postby Markoh » Thu Mar 05, 2009 9:15 am

I don't get how you can say that having cooldowns blown will not be a dps increase during lust.

Take warriors for example, during lust you have 30% more haste which is more attacks than normal. Pop deathwish during this time you get those extra attacks to do 20% more damage.

Also by blowing it early in the fight you also allow ppl with summons to not only have them out but also possibly refresh and be used a 2nd time on the fight (like spirit wolves, gargoyle, water elemental, army of the dead, and treants).

I still can't find the link, but it was an EJ benefactor discussion so I might ask some of the ppl in my guild that have access to it if they can pull it up for me.
User avatar
Markoh
 
Posts: 296
Joined: Tue Jul 24, 2007 11:37 pm

Postby Elsie » Thu Mar 05, 2009 9:19 am

Z is the percentage dps gain. Damage done while lusted = Z*X*W not (Z+X)*W

My Error was assuming X was a lusted value, which gave Z no purpose other than to say A*Z = X.

Something amusing:
Example:
X = 1000
Y = 1.1
Z = 1.1
W = 45
H = 1,000,000
N = 35%

DMG Done during Lust = 49500
Remining HP = 950500
HP(N) = 350,000

Time to threshhold = (HP - HP*N - XZW)/X = [HP(1-N) - XZW]/X
=950500-350000 / 1000 = 600500 / 1000 = 600.5

Time to Death from threashhold = HP(N)/X*Y
=350000 / 1100 = 318.18 (0.181818... repeating)

TK = 45+600.5+318.18 = 963.68

--
Case 1: Heroism at 35%
Time to Threshhold = HP(1-N)/X = 650000 / 1000 = 650000
Damage Done during Lust at 35% = X*Y*Z*W = 49500*1.1 = 54450
HP Remaining: 295550
Time to Death from Threshhold = [HP(N)-XYZW] / X*Y
=295550 / 1100 = 268.68 (0.00181818... repeating)
TK = 650+45+268.68 = 963.68 seconds

Kind of amusing. I just felt like demonstrating real values. My guess is there is a base assumption that is wrong (presumably with X, or damage done). I'm not quite sure how to word it though... It's like... I want to say if you involve another variable after 35%, say C, that is affected non-multiplicatively or multiplies differently by Z than X would. This would be caused by haste stacking, since I don't disagree with the above for things such as hammer of wrath.
User avatar
Elsie
 
Posts: 3819
Joined: Sat Jan 12, 2008 11:12 pm

Postby theckhd » Thu Mar 05, 2009 10:02 am

amh wrote:Or am I missing something obvious?

You're not. You, Cordelia, and Mordinm are all correct. Varmin and trellian are just flat-out wrong on this point, and your example demonstrates why (as does Cordelia's example).
"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: 7793
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Postby DeadlyRabbit » Thu Mar 05, 2009 10:55 am

What I got from this thread is that with a tank and spank fight lust/heroism can be used at anytime during the fight, the key is to let the raid know when it will be used so they can plan their cool downs.

That of course isn't a lot of fights in the game, most fights have a point that is already the best time to use lust/heroism such as a phase that needs to rushed through, to take advantage of some sort of buff, or to burn down a add. A lot of those times can be chosen at a raids digression, like using the lust on maly when a bunch of sparks are on the ground or saving it for phase 2 to burn through the Lords and Scions faster.

A fight that lasts long enough would allow for a lust/heroism to be used at the beginning and the end of the fight, so that must be taken into account.

In the end it is more about making sure lust/heroism isn't forgotten about, or wasted (lusting as Sapph takes off is bad) then picking a exact time or percent of health to use it.
DeadlyRabbit
 
Posts: 118
Joined: Tue Nov 20, 2007 8:03 am

Postby DeadlyRabbit » Thu Mar 05, 2009 10:58 am

DeadlyRabbit wrote:What I got from this thread is that with a tank and spank fight lust/heroism can be used at anytime during the fight, the key is to let the raid know when it will be used so they can plan their cool downs.

That of course isn't a lot of fights in the game, most fights have a point that is already the best time to use lust/heroism such as a phase that needs to rushed through, to take advantage of some sort of buff, or to burn down a add. A lot of those times can be chosen at a raids digression, like using the lust on maly when a bunch of sparks are on the ground or saving it for phase 2 to burn through the Lords and Scions faster.

A fight that lasts long enough would allow for a lust/heroism to be used at the beginning and the end of the fight, so that must be taken into account. (Although in 3.1 the cooldown is 5 minutes and the debuff is 10 minutes).

In the end it is more about making sure lust/heroism isn't forgotten about, or wasted (lusting as Sapph takes off is bad) then picking a exact time or percent of health to use it.
DeadlyRabbit
 
Posts: 118
Joined: Tue Nov 20, 2007 8:03 am

Postby Elsie » Thu Mar 05, 2009 11:21 am

What I got from this thread is that with a tank and spank fight lust/heroism can be used at anytime during the fight, the key is to let the raid know when it will be used so they can plan their cool downs.

In general, yes. The jury is still out regarding haste stacking effects which could, potentially produce a different Z value for X*Y than for X... which throws the whole thing off. Needs more thought, though.
User avatar
Elsie
 
Posts: 3819
Joined: Sat Jan 12, 2008 11:12 pm

Postby Kelaan » Thu Mar 05, 2009 1:15 pm

Dorvan wrote:
Another important thing about bloodlusts is you want to tell your DPS when you plan to bloodlust. This allows DPS to save and stack cooldowns with bloodlust for maximum DPS as almost all cooldowns scale with bloodlust.

The weird thing about the math though, is that your last bullet point and final remark don't appear to be true. That is, stacking Heroism with other gains doesn't actually shorten kill time, nor even does using it when more people are alive. It's damn unintuitive, but that appears to be the result. I've got a bit of an inkling of where the wrinkle is, but I'm not quite sure about it yet.


Apologies for posting before having read 6 pages, as this may have been already addressed. The difference might be that while multiplicative cooldowns seem not to matter when you cast them, some cooldowns are non-multiplicative: AP cooldowns, Adrenaline Rush, elementals, that kind of thing. So, saving a Heroism for when everyone can pop these non-multiplicative buffs sounds like a good thing.
User avatar
Kelaan
 
Posts: 4037
Joined: Thu Jan 03, 2008 12:01 pm

Postby Dorvan » Thu Mar 05, 2009 1:19 pm

Kelaan wrote:Apologies for posting before having read 6 pages, as this may have been already addressed. The difference might be that while multiplicative cooldowns seem not to matter when you cast them, some cooldowns are non-multiplicative: AP cooldowns, Adrenaline Rush, elementals, that kind of thing. So, saving a Heroism for when everyone can pop these non-multiplicative buffs sounds like a good thing.


Actually, the main difference from the proof isn't so much whether they are additive or multiplicative, but that they have a fixed duration. The reason popping heroism during execute doesn't shorten the fight length (assuming fixed Z, which may not be the case) is that doing so also shortens the duration of the "execute" buff.
Image

WHAT WOULD BEST DESCRIBE YOUR PERSONALITY?
Moonlight Sonata Techno Remix
Scriggle - 85 Fire Mage
Fizzmore - 81 Mut Rogue
Adorania - 80 Disc Priest
User avatar
Dorvan
Maintankadonor
 
Posts: 8462
Joined: Wed Apr 04, 2007 3:28 pm

Postby theckhd » Thu Mar 05, 2009 1:47 pm

I was thinking about this problem a bit during group meeting, and I realized there's a more general mathematical framework here that should simplify a lot of the analysis. Warning: Wall-o-Text inc.

Wall-o-Math:

First of all, let's look only at the health plateau case, i.e. "above execute range" vs. "below execute range."

All of the variables in my analysis will be the same as the OP (and subsequent calculations), however I'm going to abstract things so there's fewer variables to look at initially, because it leads to a surprisingly elegant result.

H is still the boss's total health
N is still the threshold we're interested in (i.e. 0.35 for execute).
W is still the duration of the Heroism effect.

However, rather than introduce the variables X, Y, and Z, let's abstract the DPS. The DPS can be represented by the value Dij, where the indices correspond to one of 4 possible situations:
DHB is the DPS when current health < N, during Heroism
DHA is the DPS when current health > N, during Heroism
D0B is the DPS when current health < N, without Hero
D0Ais the DPS when current health > N, without Hero

Or, represented in matrix form:
Code: Select all
DPS (ij)| <N | >N |
-------------------
   Hero | HB   HA |
No Hero | 0B   0A |

Let's call this matrix M (Those of you with some linear algebra background probably already see where I'm going with this).

Now, let's go through the math from the OP again (quickly):

Using Heroism at 100% (or any value >N)
Damage done during Hero: DHAW, taking time=W
Damage done outside of Hero, while health>N: H(1-N)-DHAW, taking time [H(1-N)-DHAW]/D0A
Damage done while health <N: HN, taking time HN/D0B
Total Time: W + H(1-N)/D0A + HN/D0B - (DHA/D0A)W

Using Heroism below N:
Damage done while health>N: H(1-N), taking time H(1-N)/D0A
Damage done during Heroism: DHBW, taking time W
Damage done while health<N outside of Hero: HN-DHBW, taking time (HN-DHBW)/D0B
Total Time: W + H(1-N)/D0A + HN/D0B - (DHB/D0B)W

The difference between these two times is, subtracting the second case from the first:
W(DHB/D0B - DHA/D0A)
Which we can re-arrange to:
[W/(D0A*D0B)]*(DHBD0A - DHAD0B)
Which some of you may recognize as det(M) (times some constants), the determinant of our matrix M above. What does this all mean, though?

First of all, note that the time difference is completely independent of the boss's health H and the threshold N. It depends only on the four generic DPS values Dij we assigned, and the duration of Heroism W.

Second, since we really want to know whether the time difference is positive, negative, or zero, we can throw away the common factors out front and concern ourselves only with the determinant of M. In other words, the duration of Heroism will change the magnitude of the time difference (i.e. 3 seconds versus 30 seconds), but it can't change the sign (3 vs. -3, for example). There's a few bundled assumptions here (W is not so large that it extends into the second 'phase' of the fight, for example), but they're all valid for reasonable values of W.

Finally, since this depends only on the generic Dij, it means that it's completely valid for all possible DPS configurations you could want, at least within the bounds of this scenario. In other words, it doesn't matter whether Heroism is additive, multiplicative, polynomial, exponential, logarithmic, hyperbolic, or any other form you care to try - the equation still works.

That being said, let's try a few obvious examples.

Wall-o-Examples:
  1. The OP used the following values:
    D0A=X
    D0B=XY
    DHA=XZ
    DHB=XYZ
    in this case, det(M)=XXYZ-XXYZ=0, which is exactly the result they found.
  2. What if we add a static component S, that's unaffected by Execute or Heroism. In other words:
    D0A=X+S
    D0B=XY+S
    DHA=XZ+S
    DHB=XYZ+S
    In this case, det(M)=(XYZ+S)(X+S) - (XZ+S)(XY+S), which simplifies to XS(Z-1)(Y-1). This is obviously nonzero unless:
    X=0 (you have no DPS)
    S=0 (no static component, i.e. the original derivation)
    Z=1 (Heroism has no effect)
    Y=1 (There is no benefit to being in Execute range)
    All of which are fairly unrealistic.

    Let's assume that Z>1, which is reasonable since heroism should boost your DPS, not nerf it. In that case, the sign of the result is determined by (Y-1). This means that:
    • If it's a phase transition where lots of people die (Y<1), you're better off using Heroism before that change, because you'll kill the boss quicker that way.
    • On the other hand, if it's a phase transition that boosts your damage (Execute range, for example), you get better results by saving it. This is in agreement with the simple model I gave for the "Time-based transition" that Cordelia suggested.
  3. Finally, let's look at the case where heroism has one benefit above (Za) N and a different benefit (Zb) below N:
    D0A=X+S
    D0B=XY+S
    DHA=XZa+S
    DHB=XYZb+S
    det(M) then equals (XYZb+S)(X+S) - (XZa+S)(XY+S)
    This is a little trickier to simplify, because the Z's no longer give nice cancellation, but after a little algebra we get:
    =XXY(Zb-Za) + XS[Y(Zb-Za) + (Za-1)(Y-1)]
    Now we have an extra term, as well as a more complicated version of the expression we had before. If you let Za=Zb it simplifies to the previous example, as expected.

    This expression is complicated enough that we start to lose the obvious insight of the other ones, but we can still squeeze out some interpretation.
    • If Zb > Za > 1 and Y>1, i.e. Heroism gives a better benefit during execute range than above it, all three terms are positive and you're better off saving Hero for execute range. Note that this is true for any value of S (i.e. even if there's a component of your dps unaffected by Hero or Execute Range).
    • If Y<1 (people dying), the last term becomes negative, and the first two terms get smaller, all of which reduces the benefit of saving Heroism till execute range. If Y gets small enough, it actually makes it better to use Heroism early. To see this, let Y->0 so that the first two terms disappear and the last one is negative.



Take-home message: Since the result really only depends on det(M), we can analyze any situation we want by simply identifying the four expressions Dij that make up matrix M, and calculate the determinant.

This means that if you want to model using trinket cooldowns, potions, long-cooldown abilities (wings), acts of God, flying monkeys, or whatever else, you can do so, provided you can come up with an expression that approximates the DPS in all four of those basic scenarios.

Now then, what do flying monkeys scale off of again, AP?
Last edited by theckhd on Thu Mar 05, 2009 2:10 pm, edited 1 time in total.
"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: 7793
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Postby amh » Thu Mar 05, 2009 1:57 pm

Dude, you forgot the TL;DR :(
I used to play a paladin.
User avatar
amh
Maintankadonor
 
Posts: 3012
Joined: Fri May 02, 2008 6:25 am
Location: Oh hi

Postby theckhd » Thu Mar 05, 2009 2:02 pm

amh wrote:Dude, you forgot the TL;DR :(

I called it "Take-Home Message" :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: 7793
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Postby Dorvan » Thu Mar 05, 2009 2:03 pm

theckhd wrote:The difference between these two times is, subtracting the second case from the first:
W(DHB/D0B - DHA/D0A)
Which we can re-arrange to:
W*D0A*D0B*(DHBD0A - DHAD0B)
Which some of you may recognize as det(M) (times some constants), the determinant of our matrix M above. What does this all mean, though?


Shouldn't that simplify to

W*(DHBD0A - DHAD0B)/(D0A*D0B)

not

W*D0A*D0B*(DHBD0A - DHAD0B)

It's not important to the sign analysis, but if we care about the magnitude of the difference (and in judging "is it worth it?" we certainly do), it obviously matters.
Image

WHAT WOULD BEST DESCRIBE YOUR PERSONALITY?
Moonlight Sonata Techno Remix
Scriggle - 85 Fire Mage
Fizzmore - 81 Mut Rogue
Adorania - 80 Disc Priest
User avatar
Dorvan
Maintankadonor
 
Posts: 8462
Joined: Wed Apr 04, 2007 3:28 pm

Postby Elsie » Thu Mar 05, 2009 2:08 pm

Dorvan wrote: The reason popping heroism during execute doesn't shorten the fight length (assuming fixed Z, which may not be the case) is that doing so also shortens the duration of the "execute" buff.

Well, after about 3 minutes of research before my next class, here's my synopsis:
    Haste stacks multiplicatively. This means that it is beneficial to stack multiple haste effects. For instance, stacking Slice and Dice with Blade Flurry gives a total of 68% haste (140% * 120% = 168% of the base attack speed). (Source: Wowwiki)

Given Atk Spd*Haste confers some x% dps increase and Atk Spd*Other-Haste {e.g., lust} is also some y% dps increase, then Atk Spd*Haste*lust confers some x*y% dps increase which, with order of application being a non-issue, does not change Z.

The only issue now is sub-35% spells.
Last edited by Elsie on Thu Mar 05, 2009 2:08 pm, edited 1 time in total.
User avatar
Elsie
 
Posts: 3819
Joined: Sat Jan 12, 2008 11:12 pm

Postby theckhd » Thu Mar 05, 2009 2:08 pm

Whoops, yep it should. Let me correct it. Typing all those [ size ] tags must've made me cross-eyed.

Also fixed an error in my earlier calculation on page 3. Doesn't affect the result really, but it now looks very similar to the (Z-1)(Y-1) case (for good reason).
"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: 7793
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Postby Laz » Thu Mar 05, 2009 2:39 pm

Good work, Theck. May I ask what you do by trade? Your mathematical analyses are very thorough.
Laz
 
Posts: 73
Joined: Sat Jan 31, 2009 9:24 pm

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: No registered users and 0 guests

cron

Remove Advertisements

Who is online

In total there are 0 users online :: 0 registered, 0 hidden and 0 guests (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 0 guests
?php } else { ?