Heroism timing
Moderators: Fridmarr, Worldie, Aergis, theckhd
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.
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.
"Salv doesn't fix stupid"
http://www.wowarmory.com/charactershee ... is&n=Duces
http://www.wowarmory.com/charactershee ... is&n=Duces

Markoh  Posts: 296
 Joined: Tue Jul 24, 2007 11:37 pm
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(1N)  XZW]/X
=950500350000 / 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(1N)/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 nonmultiplicatively 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.

Elsie  Posts: 3819
 Joined: Sat Jan 12, 2008 11:12 pm
amh wrote:Or am I missing something obvious?
You're not. You, Cordelia, and Mordinm are all correct. Varmin and trellian are just flatout wrong on this point, and your example demonstrates why (as does Cordelia's example).
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7761
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
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.
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
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
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.

Elsie  Posts: 3819
 Joined: Sat Jan 12, 2008 11:12 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 nonmultiplicative: AP cooldowns, Adrenaline Rush, elementals, that kind of thing. So, saving a Heroism for when everyone can pop these nonmultiplicative buffs sounds like a good thing.

Kelaan  Posts: 4036
 Joined: Thu Jan 03, 2008 12:01 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 nonmultiplicative: AP cooldowns, Adrenaline Rush, elementals, that kind of thing. So, saving a Heroism for when everyone can pop these nonmultiplicative 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.
WHAT WOULD BEST DESCRIBE YOUR PERSONALITY?
Moonlight Sonata Techno Remix
Scriggle  85 Fire Mage
Fizzmore  81 Mut Rogue
Adorania  80 Disc Priest

Dorvan  Maintankadonor
 Posts: 8462
 Joined: Wed Apr 04, 2007 3:28 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: WalloText inc.
WalloMath:
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:
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(1N)DHAW, taking time [H(1N)DHAW]/D0A
Damage done while health <N: HN, taking time HN/D0B
Total Time: W + H(1N)/D0A + HN/D0B  (DHA/D0A)W
Using Heroism below N:
Damage done while health>N: H(1N), taking time H(1N)/D0A
Damage done during Heroism: DHBW, taking time W
Damage done while health<N outside of Hero: HNDHBW, taking time (HNDHBW)/D0B
Total Time: W + H(1N)/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 rearrange 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.
WalloExamples:
Takehome 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, longcooldown 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?
WalloMath:
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(1N)DHAW, taking time [H(1N)DHAW]/D0A
Damage done while health <N: HN, taking time HN/D0B
Total Time: W + H(1N)/D0A + HN/D0B  (DHA/D0A)W
Using Heroism below N:
Damage done while health>N: H(1N), taking time H(1N)/D0A
Damage done during Heroism: DHBW, taking time W
Damage done while health<N outside of Hero: HNDHBW, taking time (HNDHBW)/D0B
Total Time: W + H(1N)/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 rearrange 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.
WalloExamples:
 The OP used the following values:
D0A=X
D0B=XY
DHA=XZ
DHB=XYZ
in this case, det(M)=XXYZXXYZ=0, which is exactly the result they found.  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(Z1)(Y1). 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 (Y1). 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 "Timebased transition" that Cordelia suggested.
 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(ZbZa) + XS[Y(ZbZa) + (Za1)(Y1)]
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.
Takehome 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, longcooldown 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 GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7761
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
amh wrote:Dude, you forgot the TL;DR
I called it "TakeHome Message"
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7761
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
theckhd wrote:The difference between these two times is, subtracting the second case from the first:
W(DHB/D0B  DHA/D0A)
Which we can rearrange 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.
WHAT WOULD BEST DESCRIBE YOUR PERSONALITY?
Moonlight Sonata Techno Remix
Scriggle  85 Fire Mage
Fizzmore  81 Mut Rogue
Adorania  80 Disc Priest

Dorvan  Maintankadonor
 Posts: 8462
 Joined: Wed Apr 04, 2007 3:28 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*OtherHaste {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 nonissue, does not change Z.
The only issue now is sub35% spells.
Last edited by Elsie on Thu Mar 05, 2009 2:08 pm, edited 1 time in total.

Elsie  Posts: 3819
 Joined: Sat Jan 12, 2008 11:12 pm
Whoops, yep it should. Let me correct it. Typing all those [ size ] tags must've made me crosseyed.
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 (Z1)(Y1) case (for good reason).
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 (Z1)(Y1) case (for good reason).
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7761
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Return to Advanced Theorycraft and Calculations
Who is online
Users browsing this forum: No registered users and 1 guest