Rawr.TankDK
Support
- Currently supporting Wow 3.3
- See TankingForumulas for details on how I'm evaluating each subvalue: Suvival, Mitigation, Threat.
Status
Accuracy has been gradually increasing with each new release.
For known issues, please view the Issue Tracker, filter by the TankDK module.
Experimental Switch in Rawr2
- What is this experimental Switch?
- I did some pretty serious changes to the way I calculate Mitigation in recent builds, but did not feel it was ready for prime-time. So I provided a means to enable/disable it in the options. The new way is off by default as you can see in the options.
- What are the differences?
| Current Way | Experimental |
| Equating damage reduction as damage per hit | Equating damage reduction as DPS reduction |
| Incoming Damage evaluated a bit "haphazardly" | Specific procedural evaluation of damage: Crit, then Avoidance, then Armor and damage reduction talents/abilities, then healing. |
| Incoming Crit is averaged over total damage potential received. Meaning Crit damage only evaluates as a percentage increase of incoming damage by whatever the % crit chance may be. | Incoming Crit damage is handled as if it's always part of the equation. And crit damage is mitigated out as a percentage chance of being critted from 100% (400 def skill = 100% crit damage vs 540 def skill = 0% crit damage) |
- What is Additive Mitigation?
- Additive mitigation is only active in the experimental code
- I provide the option of each layer of mitigation will reduce the amount of damage that could be potentially mitigated by the next layer of damage. When looking at the chart above, each of the sections: Crit, Avoidance, DR, Heals, can reduce the damage that the next layer sees. When this is enabled, Avoidance is only helping the damage that isn't Crit damage, Armor & DR only mitigates the damage that makes it through avoidance, etc. When this is disabled, Each mitigation factor is handled as if it's see the full amount of damage at every stage of the process.
- This new way is really doin' a number on my mitigation/avoidance builds. Why does my mitigation change so much when I activate it?
- Yes, which is part of the reason it's not prime time yet. The current implementation is familiar to everyone, and I'm not ready to roll out a drastic model change at this time. Given that there are other large scale changes in the works, we may see a new incarnation of the model that has everything rolled into it.
Current TODOs:
(kind of in order)
- Fix defects
- Integrate the BossHandler class.
- Fix shot rotation/threat modeling through re-work of ability usage.
- Fix/finish talent evaluation so that optimizing for talents produces a result that makes sense.
Recent new model features implemented:
2.3.8:
2.3.7:
RSVs still go hay-wire when using certain blood talents.
- Defect 15829: Armor miscalculated - based on the comments, moving the frost presence application to the end of my accumulate work.
- Defect 14569: Adjusting Survival by providing a more focused means of inputing the kinds of damage seen. This is related to the BossHandler work.
- Defect 15844: Provide a user-checkbox to enable/disable Parry Haste.
- No Defect: Updating some of the tool tips to help with clarification.
- No Defect: Adding some abilities to future migration to the sim model. Updating the calcs to ensure that we're pulling the right data.
2.3.6:
- No Defect: Factor in the DAMAGE procs, not just the healing procs of items. This probably needs to be refactored. Also the specials proc rate for OnMeleeHit was wrong.
- Defect 15682: Add in a Hit Rating option to the Optimizer list.
- No Defect: I had the math all wrong for DW weapon speeds. It was increasing w/ 2 weapons rather than decreasing considering the white hits would occur more frequently rather than less in DW situations than 2H.
- Defect 15212: Refactored ManageRP to just limit based on RP. More work needs to be done to better reveal what kind of values we should be seeing when bringing in Avoidance #s and weapon speed.
- Defect 15671: I had Improved Icy Talons stacking with Normal IcyTalons for the tank's own haste. It works out to only expand the effect from just the tank to the whole raid. This suggests that we still need to find some way to include raid Utility into the value of effects/talents.
- Defect 14553: Attempt to better provide rotations that match the active talents. Only a partial change as I need to do more testing.
- No Defect: Overvalue of things that had stacks & had an ability trigger. The trigger would be infinity if it triggered off of things that were not in the rotation. So now we just make sure to exclude infinite triggers.
- Defect 14553: Change the talent based rotation determination to use HS rather than Bloodgorged to build a blood rotation.
- Defect 15212: the code in the Combat table for RS was totally horked. so I'm ripping it out since I didn't get any satisfactory results at this time. I need to better segment any work that represents an attempt to do optimization for a given ability. That's still a ways off. So for now, RS is purely based on what's in the UI, even if the user enters in more RSs then they could possibly get given the combat situation available.
- Defect 15272: Changed where I'm doing the health calc for the healing talents (Rune Tap & Vampiric Blood) This seems to have settled the RSVs somewhat, but not completely.
- Defect 15732: Experimental mitigation now has expertise involved, but the results are totally weird. I'm not done in there.
- No Defect: Fixed a bug in the way I was handling IBF & the Glyph of IBF
- No Defect: Fixed a bug in Blood Gorged that was not properly giving the bonusdamage part of it's effect.
- No Defect: Pulling out the value of Hysteria. I still want a way to provide value for the utility talents, but for now it will have to wait.
2.3.5:
- No Defect: Implementing HealthRestore & HP5 effects in the model. It's not great, but really I need to figure out what the time frame really looks like for any given value.
- No Defect: Bryntroll, the Bone Arbiter not properly modeled. - Healing not modeled as part of the life stealing.
- Fix for Defect 14840: Fixed parser & internal evaluation of multi-tiered special effects.
- Fix for Defect 15640: Display option values were not all persisting.
- No Defect: Expose experimental switches to play w/ the new workflow - not for everyone.
2.3.4:
2.3.3:
2.3.2:
2.3.1:
- No Defect: Actually remembered to check in the Rune of Nerubian Carapace change.
2.3.0:
- Defect 15229: Survival & Threat weight values = 0 causing all bars to show only mitigation.
2.2.28:
- Defect 14568: Burst & Reaction time charts now update the labels properly.
- Defect 13990: Should be the last of the plugging in of the Rawr3 UI to values in the model. It's a hack, no doubt, but it's better than nothing.
- The first check in of the Base DK Ability class. This is setup for a better handling of rotations, and maybe even a solver that can determine the best rotation/priority, but I'm not going to get ahead of myself just yet.
- Defect 14841: Ebon Plaguebringer wasn't putting the crit bonus in the right field.
- Defect 14527: VB & Glyph of VB changes along w/ some general Talent code clean up.
- No Defect: Tweaked bloodworms a bit.
- Defect 14525: Mark of Blood fixed.
- No Defect: +HealingRecieved has some value now, even though there's no inbound healing value yet.
- No Defect: Imp Blood Presence fixed.
- No Defect: Heart Strike adjusted for 2ndary target threat.
- Defect 14751: RP deficits in rotations caused weird threat numbers.
2.2.27:
2.2.26:
2.2.25:
- Graph of stat Values
- Defect 14581: Glyph of UA fix
- Defect 14400: T9 set bonuses
- Defect 13990: Next step of Rawr3 implementation - still not complete.
- Defect 14503: Narrowed discrepencies with Avoidance numbers. Parry is now within ~0.01% and Dodge is within ~0.04%
2.2.24
- Large refactoring effort to improve accuracy and additional performance optimizations
- Fixed Glyph of Runestrike
- Fixed Expertise based Optimizer options
- Work around for Vampiric Blood horking all calc values.
2.2.23
2.2.22
- Implemented parsing for Sigil of Insolence.
- Implemented some performance optimization in preparation for refactoring required to improve the SpecialEffects handling within the module.
2.2.21
2.2.20
- Fix for a Mitigation bug that wasn't properly handling blanket damage reduction effects (talents)
- Final integration of 3.2.2 changes.
- Initial Implementation of Burst/Reaction Time graphs.
2.2.19
2.2.18
- Implemented Pestilence in shot rotation
- Fixed Improved Icy Touch effects in Mitigation code.
- Adjusted Rotation Viewer layout
- Adjusted Manage RP a bit - needs major re-word to factor in RuneStrike
2.2.17
- Fixed divide by 0 errors
- Wrapped an exception in CombatTable with DEBUG tags.
2.2.16
- Fixed DeathStrike threat values
- Fixed saving whole stats object in the XML therefore bloating the XML
2.2.15
2.2.14
- Implemented most 3.2 changes.
- Fixed some talent integration issues
- Adjusted TankDK health numbers
2.2.13
- Fixed some Divide by 0 errors.
- Removed redundant Expertise Rating math
- Implmented Burst Time & Reaction Time values
- Fixed negative weapon values - specifically dealing with Parry.
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
- Making fixed values of Incoming Damage and Boss Attack Speed & % damage coming from magic.
- Fixed Multi-threaded problems.
- Fixed Diminishing Returns function
- Integrating Expertise Rating into mitigation due to parry haste.
2.2.7
- Formulas and weights on the options pane all re-tuned. See TankingForumulas for details on how I'm evaluating each subvalue: Suvival, Mitigation, Threat.
- Shot rotation implemented
- Fight dynamics improved.
- Dual-Wielding implemented
- Most Talents implemented - if you find something that's not, please let me know.
Known Issues
If you find any problems w/ the model, please be sure to use the Issue Tracker. It is checked regularly, and so if the defect is not found there, please write it up and I'll get to working on it.
Currently targeting Shot rotation work. There are quite a few tweaks and a bit of refactoring that needs to go in to make it work properly.
Special Thanks
- Gildas has provided help in some fixes both in TankDK and in the Base code.