Vezax doesn't parry haste either.
The DK tank site: pwnwear.com.
Yep, I see your point here. I was just trying to figure out if anyone had already gathered all the results somewhere, since it would be great input for all of us working our way through HMs.
Maintankadin • View topic - Comprehensive List of Bosses With Parry Haste Enabled
This seems to be the best list of parry hasting bosses that I've seen. Obviously there's still a few blanks to be filled in. But I would expect the twins and anub to have parry haste enabled.
Nice post indeed, ty. I'll try to get some interesting data on Anub & Algalon the next time I get to tank them.
Not sure when Tuffmuffin, but we proved he didn't parry-haste in a thread here (it was originally about DW DK tanking but ended up showing no parry-haste on him, quite interesting).
The DK tank site: pwnwear.com.
That being said - while expertise is 70%ish as effective as dodge in terms of reducing damage, it is exactly similar to dodge in that it doesn't remove worst-case scenarios and is unreliable (at least until you get a ton of it).
That it tends to not be a factor on the fights that hit the hardest from a melee perspective also kinda sucks for it to be stacked. Thorim's especially annoying in that even if you personally stack all the expertise you can, the other tanks are still likely going to parry gib you when they're not tanking.
a solution would be to stop attacking at all if you have to stand in front of a parry-boss (unfortunatly my old ulduar logs are lost so I can't confirm that Thorim has the parry flag on, but we will visit ulduar again in the near future so a complete list will be availible soon)
I have written a short spreadsheet where you can tweak in your stats and the weaponspeed of the boss and get out the damageavoidance from expertise vs dodge. As I thought the numbers are higher for Warriors then Paladins, for my gear Expertise is 34% more usefull than dodge. The spreadsheet may be used by any class, they only differ in the constands used for diminised avoidance and the number of parriable attacks.
Plugging a warrior's attacks per second into my calculation, I actually get that it's less effective for warriors than for paladins. It's coming out to around 62% effectiveness for warriors, compared to 80-85% effectiveness for paladins.
Just to check, I put the dodge/ parry/defense ratings and agility from my simulation into your spreadsheet, and it's giving a negative number for damage reduction per dodge gem. It looks like the agility is hardcoded on the 'numbers' page rather than referenced from the 'Front' page.
I'm trying to track down the errors in your spreadsheet right now. One I can see right off the bat is that it won't work properly for paladins, since it's not including Holy Vengeance applications.
jep agi was hardcoded (shame on me) should be fixed now
as for palas... I am not quite comfortable with their mechanics, but couldn't you plug in the holy vengeance into number of parriable attacks/min?
No, because Holy Vengeance applications occur with every weapon swing and every Hammer of the Righteous (HotR). The ones from HotR can be added statically in the fashion you suggest, but the ones that proc from unavoided melee attacks will scale with parryhaste.
In the MATLAB code that I'm using, this is how I calculate the base player attack speed for each class:
based on the suggestion that a warrior makes 33 parry-able attacks per minute.Code:if class=='paladin' player_attack_speed=1./((2-boss_avoid./100)./player_swing_speed + (2-boss_avoid./100)./6); elseif class=='warrior' player_attack_speed=1./(1./player_swing_speed + 33/60); end
In addition, I think I've found your error. First, here's what I get from my simulation using:
parry rating = 251
dodge rating = 775
defense rating = 777
agility from gear = 22
player_base_swing_speed=1.2433687 (from your spreadsheet)
I then plugged those values into your spreadsheet with A=33 to see what we get.Code:Arrays tracking values while we iterate the parry-haste coefficients: variable Iteration #1 #2 #3 #4 #5 player_swing_speed 1.2434 1.2073 1.2067 1.2068 1.2068 player_attack_speed 0.73841 0.72555 0.72532 0.72534 0.72534 boss_swing_speed 2 1.907 1.9097 1.9095 1.9095 player_parryhaste 1.0298 1.0304 1.0303 1.0303 1.0303 boss_parryhaste 1.0488 1.0473 1.0474 1.0474 1.0474 variable Iteration #1 #2 #3 #4 #5 redux / exp skill 0.00162512 0.00157703 0.00157971 0.00157954 0.00157955 redux / equiv dodge 0.00249452 0.00249452 0.00249452 0.00249452 0.00249452 redux eff (%) 65.1475 63.2199 63.3272 63.3202 63.3207 # extra attacks 7.31304 7.09665 7.1087 7.10791 7.10797 expertise to rem 1 att 4.10226 4.22735 4.22018 4.22065 4.22062 equiv dodge rating 33.6283 34.6537 34.5949 34.5988 34.5985 equiv dod % post-DR 0.470557 0.484804 0.483988 0.484041 0.484038 equiv # att dodged (vs 0.4) 0.740248 0.761611 0.760387 0.760467 0.760462 # att eff (%) 62.442 60.6905 60.7881 60.7817 60.7822 Final values: player_swing_speed 1.20676 player_attack_speed 0.72534 boss_swing_speed 1.90952 player_parryhaste 1.03033 boss_parryhaste 1.04739 redux / exp skill 0.00157955 redux / equiv dodge 0.00249452 redux eff (%) 63.3207 # extra attacks 7.10797 expertise to rem 1 att 4.22062 equiv dodge rating 34.5985 equiv dod % post-DR 0.484038 equiv # att dodged (vs 0.4) 0.760462 # att eff (%) 60.7822
You calculate "Damage Reduction per expertise gem" properly, though your diff is slightly larger than what I get (~0.0067 rather than 0.00736). However it agrees well enough with what I get if I scale my results up to 20 expertise (0.00157955*20/8.2=0.0039, or 0.39%).
However, when you calculate "Damage reduction per dodge gem," you just calculate the difference in dodge rating, or 0.2806% dodge. That's not the same as damage reduction though.
The damage reduction due to that much dodge is properly calculated as follows:
In other wordsCode:redux_per_equiv_dodge = 1-(1-player_avoid/100-(dodgedr0-dodgedr)/100)/(1-player_avoid/100);
1 - (1-avoid%_after)/(1-avoid%_before)
or, since your spreadsheet has 53.77% base avoidance before the gem:
1-(1-0.5377-0.002806)/(1-0.5377) = 0.0061
Which agrees exactly with what I get when I scale up my value of "redux_per_equivalent_dodge" to 20 dodge rating (0.00249452*20/8.2=0.0061=0.61%)
Thus, the ratio of these works out to around 63%, exactly like my simulation suggests.
TLDR version: Your spreadsheet calculates damage reduction incorrectly for dodge rating, artificially decreasing its value (and thus making expertise look better than it should in comparison).
my bad my bad... one suggestion for your sheet:However, when you calculate "Damage reduction per dodge gem," you just calculate the difference in dodge rating, or 0.2806% dodge. That's not the same as damage reduction though.
player_attack_speed=1./(1./player_swing_speed + 33/60); is not entirly correct, because your auto-hits scale with parry wheras the specials do not: (A2/A3 in the numberspage)
edith sagt: ah you iterated the weaponspeed from the player. however you can solve the two equations for parried-weaponspeed
Last edited by kahalm; 10-26-2009 at 09:21 AM.
No, my code is correct. There's an iterative algorithm in there that adjusts player_swing_speed and player_parryhaste with parry-haste.
That code accurately scales player_swing_speed with parry haste while keeping the static part (33/60 for a warrior, or the HotR term for a paladin) constant.Code:%% Second (and subsequent) Iterations for m=2:5 %player swing player_swing_speed=player_base_swing_speed./player_parryhaste; if class=='paladin' player_attack_speed=1./((2-boss_avoid./100)./player_swing_speed + (2-boss_avoid./100)./6); elseif class=='warrior' player_attack_speed=1./(1./player_swing_speed + 33/60); end %boss swing boss_swing_speed=boss_base_swing_speed./boss_parryhaste; boss_attack_speed=boss_swing_speed; %parryhaste player_parryhaste=1+((player_swing_speed*(player_parry./100)*0.24)./boss_attack_speed); boss_parryhaste=(1+((boss_swing_speed.*(boss_parry./100).*0.24)./player_attack_speed));
If you look at the tables I posted, the algorithm converges for both player_swing_speed and player_attack_speed within just a few iterations. This is much better than you can do for any single formula, and since I assume that Excel is not iterating despite the way you recursively called things in column B on the 'numbers' sheet, your formulas are going to give you values that are "first approximations," equivalent to the first column of my output. That would also explain the discrepancy in the Boss Weapon Speed that I highlighted earlier.
Oh by the way, I realize this is a "warrior" thread, but if anyone has a good estimate of the number of attacks per second for a DK (both base-weapon speed and number of extra parry-able attacks per second due to specials), I'd appreciate it.
The numbers are likely different for 2H vs dual-wield, so I may have to calculate for both.
I think I'll finally have some time to write this up as an article this month (last month was quite busy), so if I get numbers before then, I can include DKs in the analysis.
I think bears should be straightforward as well. They can't parry, but can be parried (I think - correct me on that if I'm wrong). So the same code will work with a slight modification to null out their parry chance.
Regardless, our results agree within 1% or so for the parry-hasted swing speeds, so it's not going to make or break the results.
I'm eagerly anticipating that article Theckhd. I've got a couple of questions regarding what kind of impact different levels of ratings have on the final answer, but you'll probably answer them in your article. I'll have to hold my breath.
Interesting reading! Keep up the good work guys.