This project is read-only.

TankDK Model changes

Topics: Developer's Corner [Devs Only], Rawr.TankDK
Oct 20, 2011 at 3:44 AM

Want to post about some key changes I just made to the model.  This should manage some issues people were having about extreme swings between all avoidance and all mastery or all stam.

Old way: (see for more info)

4 Categories:

  1. Survival
    - This is the usual "effective health" number.  Health + static damage reduction (Armor, resistances, etc)
  2. Mitigation
    - Armor, Crit reduction, avoidance, heal auto-procs, etc.
  3. Burst
    - On use Trinkets/abilities
    - DS Heals & Blood Shield (affected by avoidance)
  4. Threat
    - Any questions?

New way:

5 Categories:

  1. Survival
    - No change
  2. Mitigation
    - No change
  3. Burst
    - On use Trinkets/abilities
  4. Recovery
    - DS Heals & Blood Shield (optional affected by avoidance (default off))
  5. Threat
    - No change

Burst & Recovery have their own weight options in the options.  This allows you to push/pull these numbers to lean in the direction of your preference.
I changed the affect of avoidance because mastery really matters when you're getting pounded into the ground and avoidance has failed you. 
Additionally, In the very old model Mitigation was affected by incoming damage and was causing problems.  We changed it to be a static value and it resolved many of the problems, so it makes sense to do the same with Recovery. 


Let me know if you have any questions.  I can go into extensive detail. I'll be updating the wiki page when we ship the next release.

Oct 28, 2011 at 7:14 PM


I'm working on providing an option with Burst.  If you don't want to see a separate value of all On-Use abilities, setting Burst Weight to 0 will allow those abilities to be rolled back into the body without any distinction.  The key noticeable change you'll see is that it will change the balance of Dodge to Parry. 

Nov 14, 2011 at 6:14 PM

Now that 4.2.7 is out, Bumping this thread.

Nov 14, 2011 at 11:28 PM

Hello!  It has been a while since I've made myself seen around here.  I have been playing WoW again, but not as intensely; not enough to want to work on a model again.  But I have been using Rawr.  I recently made my DK tank my top-priority alt, so to see work on this model makes me happy!  I took it for a spin today and I have several questions.  I just wanted to say thank you, and that you may be hearing more from me again after you update the model page and I'm still confused :P.

Nov 15, 2011 at 2:09 AM

Welcome.  Let me know what your questions are, and I'll answer them.  I'll have the docs updated by EOD tomorrow.

Nov 15, 2011 at 3:22 AM

My first question is why parry provides a better "burst" score than dodge.  Currently I have more parry than dodge (by more than double), and my trinkets are Bedrock Talisman and Leaden Despair.

Nov 15, 2011 at 9:52 AM

Because Dancing Rune Weapon is a parry based cooldown.  As long as Burst has a value of 0 or 1, then the optimizer will balance for an even amount of dodge and parry.  As Burst > 1, then you will see the optimizer looking to lean more towards parry because of that Burst value.

Nov 15, 2011 at 6:28 PM
Edited Nov 15, 2011 at 8:01 PM

Got it!  So because DRW gives a bunch of parry that does not get lumped into the diminishing returns, it makes parry better than dodge, even though it suffers more diminished returns.  And since the parry we get from swordshattering does the same thing, it also answers why parry would balance out with dodge at a higher rating even without DRW.  (Sorry for being a little noob-ish).  There's still a lot for me to chew on, but between this and just spending more time playing with it I'm understanding more and more.  Thanks for your work, and I look forward to figuring the rest out!

- edit -

Never mind.  I still don't get it.  Why would parry rating be stronger during Dancing Rune Weapon?

Nov 15, 2011 at 10:21 PM

If you have Burst set to 0 or 1, parryrating should optimize towards balancing with dodgerating. 

You will automatically probably have more parry than dodge in the current gear.  Assuming you have things like SwordShattering on your weapon.  However, because of the on-use value of DRW, if burst has a weight of >1 it will artificially inflate the value of parryrating.  That's not what you're looking for hence the default value for Burst should be 1. 

You can remove the Burst evaluation completely by setting it's weight to 0 and then those on-use abilities will be rolled back into their appropriate category.

Nov 15, 2011 at 11:44 PM

I'm sorry, but my question remains: why does DRW, when it is active with a burst rating > 1, increase the value of parry rating?

On a perhaps related note: I notice that the balance between parry and dodge can be shifted if you get them close to each other, then take off Swordshattering.  It's my understanding that Swordshattering does not factor into diminishing returns, so I don't understand why that would happen either.  What am I missing?

Nov 16, 2011 at 5:42 PM
Xemnosyst wrote:

I'm sorry, but my question remains: why does DRW, when it is active with a burst rating > 1, increase the value of parry rating?

For this first question: For any 1 pt of Parry Rating, you gain X overall score value. For Burst, it is the different in score between using the Cool-down and Not using the Cool-down. This means that if normally parry rating gives you x, and you have burst set to x2, then it would be doubling the value of parry rating for that difference. The optimizer knows that change in scores come mostly from rating values rather than raw scores.

On a perhaps related note: I notice that the balance between parry and dodge can be shifted if you get them close to each other, then take off Swordshattering.  It's my understanding that Swordshattering does not factor into diminishing returns, so I don't understand why that would happen either.  What am I missing?

That definitely is odd since it is added in before ratings are calculated. I'll have to look into that.

Nov 16, 2011 at 7:10 PM

OK!  So it's all because of the Bedrock Talisman!  (Not DRW.)  Since it procs dodge rating, dodge will have more diminished returns during burst, so parry will be more favored.  Now it all makes sense!  Ok, on to my next question :).

What's a sensible way to choose the weight for recovery?  I'm sure it shouldn't be so high that armor gets a negative value (because that just seems silly), and I know it should be greater than zero, but that's about all I know :(.  My instinct is to figure out what weight would end up giving me the least damage taken total during a fight, but then it's the same as mitigation, and I don't know how to figure out that weight anyway.  Here's my little case study - let me know what you think of this method.  I notice that Domo favors mastery more than any other fight, so I choose Domo and set recovery such that armor has a just-barely-positive value.  That makes mastery just about double the value of parry & dodge.  Now I switch to Shannox to see the results, and parry/dodge has more than quadruple the value of mastery.  Strength actually has more than double the value of mastery.  It seems a bit odd to me, but maybe that's valid for those fights?

Nov 29, 2011 at 6:54 AM
Xemnosyst wrote:

My instinct is to figure out what weight would end up giving me the least damage taken total during a fight...

I've done some thinking on this, and I'm looking for feedback on what I came up with. I think what I need to calculate is the incoming, un-healed-by-death-strike, melee damage if I had 1 more bonus armor verses the same for 1 more mastery. Then I can make my stat values match that by adjusting the weight of recovery. My gut tells me I should compare mastery against armor instead of dodge or parry, but I couldn't say why. I do the calculations assuming I will always be taking enough damage to make death strike's heal be based on damage taken (instead of 7% of my health).

Do you see any inherent flaw in that technique? Will that really give an accurate weighting of mastery vs. armor for reducing total damage? If not, there's no need to read on; the rest explains how I do the calculations, to see if you can see any mistake(s).

To calculate those values I use this recurrence:

Incoming(0) = 0
Incoming(t) = 100 - ReductionFromArmor - Bubble(t - 1)


Bubble(t) = Heal(t) * MasteryMultiplier
Heal(t) = Incoming(t) * .2 * DeathStrikesPer5Seconds

 I put those in a spreadsheet and have it calculate out to t=50 (enough to be stable to 6 decimal places) and use this as my final un-healed-by-death-strike melee damage:

 Unhealed(50) = Incoming(50) - Heal(50)

 I calculate that 3 times, once for my current stats, once if I had 1 more bonus armor, and once if I had 1 more mastery rating. My final ratio of mastery/armor, then, is

 (Unhealed_current - Unhealed_mastery) / (Unhealed_current - Unhealed_armor)

 Then I adjust the weight of recovery until the ratio in the stat values graph matches.

 Do you see any holes in my logic or my formulas? What's the right number for DeathStrikesPer5Seconds?

Nov 29, 2011 at 4:02 PM

I now see a big hole!  I calculate ratio between mastery and armor on melee damage, but set the ratio in Rawr for mastery and armor on all damage.  What I need is a ratio that I can see easily in Rawr, and can caluclate.  For my second attempt I'm using the stat value for Dodge with and without "Include Avoidance Effects in Recovery Value".  I then use

Incoming(0) = 0
Incoming(t) = 100 - PassiveReduction - Bubble(t - 1)

Where Bubble(t) is the same as above, and:

PassiveReduction = 1 - (1 - Avoidance) * (1 - ArmorReduction)

I calculate that twice, once for my current stats and once if I had 1 more dodge rating.  My ratio of dodge's value before and after considering death strike, then, is:

(PassiveReduction_plus1Dodge - PassiveReduction_current) / (Unhealed_current - Unhealed_plus1Dodge)

Then I adjust the weight of recovery until the penalty that dodge gives it matches that ratio.  This seems to be give fairly consistent results in gear choices between fights, so I'm optimistic this technique is getting close to accurate!  Any thoughts?

Nov 29, 2011 at 4:21 PM

DSp5 is a relatively small number,  Generally it's around 1.  Given a GCD of 1.5 and a perfect situation, you can max at 3.  I could provide the calculated value in the UI if you want it.

The graph of what you're looking for is already available on the DK Options pane.  Using the stat graph, compare just Armor to Mastery.  You can adjust the weight and align the curves as close or as far as you want. Personally, I just use the tier content I'm currently tanking, and generally look for a couple things.  I look for about how close I am to the survival soft-cap.  Under soft cap, it will recommend more Survival stats (stam & armor), over the cap, it will either recommend avoidance or mastery.  Additionally for the Boss Options, I just set to use the Average Boss for that tier.  The exception would be if there's a particular boss that's giving us trouble:  E.G. Rag or Nef, or something like that.

Nov 29, 2011 at 6:04 PM

Sure, seeing average DSp5 sounds great!  And I'm aware that armor and mastery are shown in the stat graph; I'm trying to calculate how close or far I want to align the curves. 

Nov 29, 2011 at 7:49 PM

Adding it to my next DK check in, so hopefully it'll make it into the next build.