Theck's MATLAB TPS analysis  WotLK/3.x
Moderators: Fridmarr, Worldie, Aergis, theckhd
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
tlitp wrote:Berserking/Mongoose(/Blade Ward) are still 1 ppm, not hastenormalized. It's been speculated that what Blizzard actually changed is the proc triggers, the same as in the case of the paladins. Namely, the poison applications are no longer valid triggers for such ppmbased dynamic effects.
Ah, that makes sense. Though I wonder why they messed with rogues at all  presumably it wasn't Byrntoll that was making them OP.
More seriously, I'm guessing that HV applications and poison applications share an attack type, and that attack type was changed due to the Byrntoll proc. The rogue nerf just happens to be collateral damage.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 8000
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
theckhd wrote:Jaesthenis wrote:theckhd wrote:Yes, though Reckoning uptime will still be pretty abysmal.
Even with chill of the throne (who basically increase chance of reckoning proc by 20%) and 1.2 swing timer ?
On 2+ adds, reckoning coupled with SoComm is really amazing :
each reckoning swing proc 2 SoComm
Chill of the throne + 2+ adds ensure a really good uptime
As 2 of 4 bosses available have adds, and the two other have 1.2 swing timer, I was thinking at picking reckoning.
Is the reckoning uptime so low, even with 1.2 swing timer & chill of the throne ?
Yeah. The equations of interest are in this post.theckhd wrote:Reckoning uptime is most easily calculated by figuring out it's downtime, i.e. the chance that Reckoning is not active. That chance is:
 Code: Select all
reck_down = (1  0.02*Reck_Points*(1player_avoidance))^(4*weapon_swing*incoming_attack_rate)
In other words, there's a 0.02*(# of points in Reckoning)*(chance you don't avoid an attack) chance that reckoning will proc on any given attack. There's a 1(that stuff) chance it won't proc, so if you're taking N attacks per second, the chance of not having a proc to refresh it in the time it takes for the effect to expire is (1stuff)^(N * expiration_time)
The expiration time is 4x your weapon swing rate, since you probably won't be using a 2.0+ speed weapon for this.
In that post, I plugged in numbers for anub adds, which is 8 or 16 attacks per second. For this, let's plot uptime for 1 through 5 points in reckoning, and for N=1 to 16. I'll use the following static values:
weapon_swing = 1.3 seconds
player_avoid = 40
You can see that you need to be taking at least 2+ attacks per second and 5/5 Reckoning to even get 50% uptime. It only starts to shine when you're taking 4+ attacks per second. This is possible while tanking 45 adds, but not any currentlyavailable bosses.
Most bosses will still be under 1 attack per second, which means even with 5/5 Reckoning you're looking at an abysmal 20% uptime. Note that this will get worse as your avoidance increases as well.
Here's the mfile in case anyone wants to play with it.
May we investigate this further as this formula does not appear to be correct. It does not take in to account the block value at 5/5 reckoning.
 twilo
 Posts: 4
 Joined: Tue Jan 12, 2010 3:57 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
twilo wrote:May we investigate this further as this formula does not appear to be correct. It does not take in to account the block value at 5/5 reckoning.
Reckoning procs off of blocks at all levels. This fact is already included in the calculation.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 8000
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
theckhd wrote:twilo wrote:May we investigate this further as this formula does not appear to be correct. It does not take in to account the block value at 5/5 reckoning.
Reckoning procs off of blocks at all levels. This fact is already included in the calculation.
http://www.wowhead.com/?spell=20182
Plus the tooltip ingame defer from this assumption.
 twilo
 Posts: 4
 Joined: Tue Jan 12, 2010 3:57 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
Yes, it's a bad wording on the tooltip. It has always proc'd off of blocks if you still took damage. Bosses hit way too hard for us to block the entire hit, so the formula which includes it for all levels is correct.twilo wrote:theckhd wrote:twilo wrote:May we investigate this further as this formula does not appear to be correct. It does not take in to account the block value at 5/5 reckoning.
Reckoning procs off of blocks at all levels. This fact is already included in the calculation.
http://www.wowhead.com/?spell=20182
Plus the tooltip ingame defer from this assumption.
 Fridmarr
 Global Mod
 Posts: 9668
 Joined: Sun Apr 08, 2007 1:03 am
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
Further back in this thread:
WATERBOYsh wrote:Jackinthegreen wrote:In regards to threat, wouldn't Reckoning's last point gain more since it also includes blocks? Given the interactions of Redoubt's proc and Holy Shield combined we'll be blocking about 40% of all melee attacks. 10% of that would be 4% at least, so the last point could be worth at least three of the previous talent points.
Reckoning has always procced on blocks. However, during TBC it didn't proc on a block that negated all damage. This was changed during the beta for wotlk and the wording was changed to reflect what you are talking about. However, ranks 1  4 will still proc on a full block.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 8000
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
thanks for this clarification.
 twilo
 Posts: 4
 Joined: Tue Jan 12, 2010 3:57 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
Hey Theck,
Just wondering if you had any data for glyphed Holy Wrath? I've been using it in place of the Judgement glyph since 3.3 and have been very pleased with the results. It is extremely overpowered on trash pulls, but also works well when you throw it in to the rotation on boss fights in place of consecrate or judgements once in a while.
Also, Im looking forward to the data on Blade Ward enchant.
Keep up the good work,
Freeney (Alliance  Twisting Nether)
Just wondering if you had any data for glyphed Holy Wrath? I've been using it in place of the Judgement glyph since 3.3 and have been very pleased with the results. It is extremely overpowered on trash pulls, but also works well when you throw it in to the rotation on boss fights in place of consecrate or judgements once in a while.
Also, Im looking forward to the data on Blade Ward enchant.
Keep up the good work,
Freeney (Alliance  Twisting Nether)
 Freeney
 Posts: 1
 Joined: Thu Jan 21, 2010 12:39 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
Regarding the discussion about armor values in the last few pages : Blizzard uses a fairly unintuitive system of computing the AC, especially when it comes to the tooltip value. It basically boils down to AC being a linear map of base_AC : AC=base_AC*k1+k2.
From the current armory profile of Theck :
How the armor values are computed :
Gear_armor values come from the base armor of the items in the following slots : helm, shoulder, chest, cloak, wrist, hands, belt, legs, feet and shield. It is then multiplied by a series of factors corresponding to :
 meta
 talents
 forms (druid, dk)
Extra_armor comes from :
 all the other slots (including the weapon, when applicable)
 enchants
 extra armor on the items from the base slots (the belt in Theck's case)
 buffs
 armor procs (in this case the ring)
Note that the tooltip value uses a floor() right after the multiplicative factors are computed. However, the value which is effectively used ingame does not.
Edit :
It does. Typo.
From the current armory profile of Theck :
 Code: Select all
gear_armor=22074
base_agi=90
gear_agi=173
tooltip_armor=25591+885=26836
How the armor values are computed :
 Code: Select all
DA=1205; %devotion aura (stacks with SST and MotW)
iDA=1.5; %improved devotion aura
SST=1150; %stoneskin totem
GT=1.2; %guardian totems
RAW=885; %engonly
VCB_extra=658; %extra armor on belt
MotW_armor=750; %mark of the wild
iMotW=1.4; %improved MotW
FFD=2400; %frostforged defender
extra_armor=DA.*iDA+SST.*GT+RAW+VCB_extra+MotW_armor.*iMotW+FFD;
base_agi=90; %human
gear_agi=173;
MotW_agi=37; %mark of the wild
SoET=155; %strength of earth totem (doesn't stack with HoW)
ET=1.15; %enhancing totems
BoK=1.1; %blessing of kings
total_agi=(base_agi+gear_agi+MotW_agi.*iMotW+SoET.*ET).*BoK;
gear_armor=22074; %base
AED=1.02; %meta
tough_points=5;
toughness=1+0.02.*tough_points;
real_armor=gear_armor*toughness.*AED+extra_armor+2.*total_agi; %buffed
tooltip_armor=floor(gear_armor*toughness.*AED)+VCB_extra+RAW+2.*gear_agi; %unbuffed
Gear_armor values come from the base armor of the items in the following slots : helm, shoulder, chest, cloak, wrist, hands, belt, legs, feet and shield. It is then multiplied by a series of factors corresponding to :
 meta
 talents
 forms (druid, dk)
Extra_armor comes from :
 all the other slots (including the weapon, when applicable)
 enchants
 extra armor on the items from the base slots (the belt in Theck's case)
 buffs
 armor procs (in this case the ring)
Note that the tooltip value uses a floor() right after the multiplicative factors are computed. However, the value which is effectively used ingame does not.
Edit :
Thels wrote:tlitp wrote:Gear_armor values come from the base armor of the items in the following slots : helm, shoulder, chest, wrist, hands, belt, legs, feet and shield.
Does this not include base armor on cloak?
It does. Typo.
Last edited by tlitp on Fri Jan 22, 2010 4:06 am, edited 1 time in total.

tlitp  Posts: 556
 Joined: Mon Jul 27, 2009 3:25 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
tlitp wrote:Gear_armor values come from the base armor of the items in the following slots : helm, shoulder, chest, wrist, hands, belt, legs, feet and shield.
Does this not include base armor on cloak?

Thels  Posts: 1306
 Joined: Tue May 15, 2007 7:30 am
 Location: The Netherlands
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
theckhd wrote:
Ah, that makes sense. Though I wonder why they messed with rogues at all  presumably it wasn't Byrntoll that was making them OP.
More seriously, I'm guessing that HV applications and poison applications share an attack type, and that attack type was changed due to the Byrntoll proc. The rogue nerf just happens to be collateral damage.
No. You're correct that both poison and HV apps share an attack type, but the rogue nerf was deliberate.
While we had Bryntroll, they had Tiny Abomination in a Jar.
A lot more people have Bryntrolls because alot more people are killing Morrowgar than are killing Putricide, and so Bryntroll overpoweredness has gotten a ton more attention is all.
Arkham's Razor: a theory which states the simplest explaination tends to lead to Cthulu.
 Joanadark
 Posts: 3087
 Joined: Fri May 11, 2007 7:09 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
tlitp wrote:Gear_armor values come from the base armor of the items in the following slots : helm, shoulder, chest, cloak, wrist, hands, belt, legs, feet and shield. It is then multiplied by a series of factors corresponding to :
 meta
 talents
 forms (druid, dk)
My assumption then is that the Austere Earthsiege Diamond would be weaker than previously thought...would this make the Effulgent Skyflare Diamond the meta of choice for progression now?
 xstratax
 Maintankadonor
 Posts: 119
 Joined: Fri Aug 14, 2009 1:18 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
The relative efficiency of AED/ESD depends upon three distinct factors :
 gear setup
 raid environment
 damage profile of the encounter
Let's discuss the gear setup presented a few posts above :
Assumptions and working conditions :
 exhaustive raid environment (all buffs are considered available)
 encounter duration > 4 mins, so Indestructible is ignored
 FFD is also ignored
From the TEH thread :
Under the simplifying hypothesis that X is nil as far as the "burst survivability" is concerned :
, where :
Computing the armor values :
Finally, the breakeven point :
Given all the specified conditions, the damage profile should include at least 55% (resistible) magical damage in order to see ESD besting AED.
This kind of computations is quite trivial  it's more interesting/challenging to configure a meaningful damage profile for the encounter at hand.
 gear setup
 raid environment
 damage profile of the encounter
Let's discuss the gear setup presented a few posts above :
 Code: Select all
gear_armor=22074
base_agi=90
gear_agi=173
tooltip_armor=25591+885=26836
Assumptions and working conditions :
 exhaustive raid environment (all buffs are considered available)
 encounter duration > 4 mins, so Indestructible is ignored
 FFD is also ignored
From the TEH thread :
 Code: Select all
(1XY) X Y
TEH = H*D/d = H* + H* + H* (19)
(1Ma)(1Mt) (1Mt) (1Mg)(1Mr)
Under the simplifying hypothesis that X is nil as far as the "burst survivability" is concerned :
 Code: Select all
1y y 1y y
 +  =  + 
(1Ma*)(1Mt) (1Mg)(1Mr) (1Ma)(1Mt) (1Mg)(1Mr)(1ESD)
, where :
 Code: Select all
Ma = min([armor./(armor+16635) 0.75])
Ma* = min([armor*./(armor*+16635) 0.75])
Mt = 0.1421
Mg = 0.1936
Mr = 0.1 (assuming the total resistance is between 128 and 255)
ESD = 0.02
Computing the armor values :
 Code: Select all
DA=1205; %devotion aura (stacks with SST and MotW)
iDA=1.5; %improved devotion aura
SST=1150; %stoneskin totem
GT=1.2; %guardian totems
RAW=885; %engonly
VCB_extra=658; %extra armor on belt
MotW_armor=750; %mark of the wild
iMotW=1.4; %improved MotW
extra_armor=DA.*iDA+SST.*GT+RAW+VCB_extra+MotW_armor.*iMotW;
base_agi=90; %human
gear_agi=173;
MotW_agi=37; %mark of the wild
SoET=155; %strength of earth totem (doesn't stack with HoW)
ET=1.15; %enhancing totems
BoK=1.1; %blessing of kings
total_agi=(base_agi+gear_agi+MotW_agi.*iMotW+SoET.*ET).*BoK;
gear_armor=22074; %base
AED=1.02; %meta
tough_points=5;
toughness=1+0.02.*tough_points;
armor =gear_armor*toughness +extra_armor+2.*total_agi; %buffed
armor*=gear_armor*toughness*AED+extra_armor+2.*total_agi; %buffed
armor = 31146
armor* = 31632
Finally, the breakeven point :
 Code: Select all
(10.1936)(10.1)(1y)+(10.6554)(10.1421)y (10.1936)(10.1)(10.02)(1y)+(10.6518)(10.1421)y
 = 
(10.1936)(10.1)(10.6554)(10.1421) (10.1936)(10.1)(10.02)(10.6518)(10.1421)
y = 0.55
Given all the specified conditions, the damage profile should include at least 55% (resistible) magical damage in order to see ESD besting AED.
This kind of computations is quite trivial  it's more interesting/challenging to configure a meaningful damage profile for the encounter at hand.

tlitp  Posts: 556
 Joined: Mon Jul 27, 2009 3:25 pm
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
Just wondering if you had any data for glyphed Holy Wrath?
i would like that also,seems very useful in ICC.
 sealava
 Posts: 30
 Joined: Wed Dec 31, 2008 8:26 am
Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)
The nice thing with glyph prices dropping is that you can carry around a amsall stack of these and swap your boss glyph for your trash glyph. In my case this means swapping the righteous defense glyph with holy wrath on the first trash packs of ICC and on the stuff before Festergut/Rotface. (For interest my other glyphs are seal of vengence and divine plea).
Holy wrath uses 20% base mana and consecration uses 22% base mana, while I suppose this could possibly offer an alterative in mana tight situations. It might also fill in the space of the judgement not needed to keep up JotJ but that could be risky.
My gut feeling is it would only really be useful in trash when 969 is not so rigidly followed. But here is not the place of gut feelings here is the place of numbers and headaches as someone so kindly put it.
Holy wrath uses 20% base mana and consecration uses 22% base mana, while I suppose this could possibly offer an alterative in mana tight situations. It might also fill in the space of the judgement not needed to keep up JotJ but that could be risky.
My gut feeling is it would only really be useful in trash when 969 is not so rigidly followed. But here is not the place of gut feelings here is the place of numbers and headaches as someone so kindly put it.
CalleanaDarkblade

Calleana  Maintankadonor
 Posts: 99
 Joined: Tue Feb 03, 2009 5:44 am
 Location: Leicester, UK
Return to Advanced Theorycraft and Calculations
Who is online
Users browsing this forum: No registered users and 1 guest