Some tools to help in your gear decisions.
Firstly, I wanted to draw your attention to the BloodSim that Lichloathe has now released, on EJ.
Below is his description of the tool.
Another tool in a similar vein is from pwnwear. Providing during our very comprehensive discussion on avoidance vs mastery stat here in the forums, is Anaroths’ spreadsheet. Further below I have included Anaroth’s description of his personal tool. Anaroth is a pretty solid maths geek.
Third, we have the ever-improving Rawr.TankDK which has just been updated again in Rawr 4.0.14.
It’s now “mostly” cata ready. So the optimizer and reforging suggestions should be getting you good ballpark figures.
This simulator was created during the Cataclysm Beta (with assistance from Communism and Anothriel) with the purpose of comparing the effects of various stat setups on damage, healing and absorption output, as well as such statistics as average downtime and rotational gaps.
Like all simulators, as close a reflection of reality as possible is the primary goal of BloodSim. If, in your use, you find something that needs to be corrected or investigated, please contact me as soon as possible. This also applies to the information in this thread.
BloodSim is available at BloodSim as well as the source code. The most current version of BloodSim and the Required DLLs must both be downloaded in order for BloodSim to run.
As most of these are straightforward and self-explanatory, not all settings will be covered.
- Avoidance: The total amount of combined Dodge, Parry and Miss. This is slated to be changed to use Rating conversions in an upcoming release.
- Diseases / Scarlet Fever: The duration in seconds for diseases / Scarlet Fever. The latter is slated to be removed in an upcoming release.
- Scent / Butchery / BCB: Number of talent points that have been put in Scent of Blood, Butchery or Blood-caked Blade.
- NonArmor DR: The total amount of static damage reduction from non-Armor sources (such as Blade Barrier, Blood Presence and Inspiration).
- RP Generation: The amount of Runic Power generated for Single and Double-Rune cost attacks.
- Refresh Diseases At <: Causes the simulated tank to refresh diseases (if applicable) only when they have reached the specified remaining duration or less.
- Rune Recharge: Total time, in milliseconds, that it takes each Rune to recharge (before Haste).
- Default Priorities: Ignores custom ability priority settings.
- Use Death Runes on HS: Causes the simulated tank to cast Heart Strike when Death Runes are available, instead of saving them for additional Death Strikes.
- Avoid Consecutive DS: Causes the simulated tank to never cast Death Strike back to back unless more than 5 seconds has passed since the last.
Running the Simulation
- Iterations: The number of consecutive fights to simulate.
- Minutes: The length of each fight.
- Show: What will be visible in the Simulation Log when finished. Logs from greater than 25 simulations will automatically be hidden to save processing and load time.
When the simulation has finished, a Graph! window will pop up that graphs some basic information between iterations. This window also contains many statistics about each individual fight, and an average of all fights. This data format can be copied into an Excel friendly format via standard selection and Ctrl+C.
Current statistics that are tracked in output are as follows.
Total number of:
- Death Strike
- Heart Strike
- Rune Strike
- Blood Boil
- RE Procs
- Total Damage Dealt
- Total Damage Taken
- Total Damage Absorbed
- Total Threat Dealt
- Total Healed
- Top 3 gaps in ability usage
- Timestamp for when each gap occurred in the fight
- Total damage dealt by each ability that was used
This is from our very own Anaroth (a proper maths geek):
I promised I’d post some details on the spreadsheet I use for calculating my tanking metrics.
The spreadsheet is here at Google.
If you want to play with different scenarios the you can “make a copy” using from the File menu.
Basically the spreadsheet is setup to model a DK tank under an average physical incoming damage scenario. As such certain factors are incorporated in an average sense. In particular the incoming damage is purely a dps value, there are no individual attacks to consider. The tank is assumed to have blade barrier up 100% of the time, and glyphed VB and DRW are used on cooldown and their effects averaged (So you have an extra 2.67% Parry and 6.77% self healing, although those numbers are easily changed).
Death-strike is assumed to be used every 7.5 seconds (although that is configurable) but it’s effect is calculated on a per second basis. It is assumed that the blood shields don’t overlap and there is no over-healing. Rune Tap is also used on cool-down. It is also assumed that there are no other damage shields applied, as they mess with the DS base value, and that you are taking more damage than the 7% of health minimum value for DS.
Yes that is a rather long list of qualifications and caveats, but it does allow us to compare different stats and situations.
As I have mentioned before, you can under these circumstances view avoidance and the blood shield as damage reductions (like armour). Thus for given stats and incoming dps you can calculate an “average” physical damage multiplier which will be less than 1, and be the number you scale your incoming damage by to produce the final hp lost.
If we start with a baseline gear setup (column B in the spreadsheet), and then modify that setup by adding stats (or perhaps a runeforge), we can calculate the damage multiplier for our new setup and then calculate the “average” damage reduction you gain in the new setup (A 5% DR would be like having an extra buff saying you take 5% less damage).
In my spreadsheet I compare adding 100 itemisation points (ipoints) of four stats. 1 ipoint is 1 of any rating or 1 of agi/str. Some other values found on gear have other conversion rates.
The first is stamina, which adds roughly 27 hp per ipoint. Stamina does nothing for your physical damage reduction, but does
change some of the other metrics I’ll talk about.
The second stat is dodge rating. This changes your avoidance, and has diminishing returns. The model treats parry and dodge as the same, although there maybe some small differences between them in practice (I’m pretty sure you can’t parry without a weapon). In terms of the model adding 100 ipoints of dodge rating will typically provide you with 0.6-0.8% extra Damage Reduction.
The third stat is mastery rating. Within the context of the model 100 ipoints of mastery typically provides you with 0.6-0.8% extra DR. It’s values is usually less than that of dodge rating, however the use of death-strike is very much subject, and it’s value naturally depends greatly on the death-strike rate.
The fourth stat is armour. Extra armour is hard to find on gear or enhancements and the worth of it is actually rather variable. The ipoint value I’m using here is for the trinket slot which is the only place you’ll actually find extra armour on new gear in the game, 1 ipoint is worth 4 points of base armour, and once you add in the various multipliers for the trinket slot that comes out to be about 4.5 final armour. Armour actually seems to be the best stat per 100 ipoints, but like the other stats comes out in the 0.6-0.8% extra DR for most scenarios. That said, because it is only found on trinkets (and they tend to need specific analysis) we can basically ignore it.
Personally I think that mastery and avoidance stats are close enough in this analysis that you’re better off going for mastery over the avoidance ratings. Because it’s very much an active mechanic you should be able to beat the average by using death strikes intelligently.
Some things to note for this build from Shazear, the DK developer:
- Vengeance is currently being evaluated at Max effectiveness. We’re working on a solution for all of the tank models on how we can best and more accurately model Vengeance. So Threat may be a bit higher than you would otherwise expect.
- Blood Shield and DS healing is modeled as best I can w/ the current modeled bosses and rotations. As the rotation code continues to solidify and more bosses are modeled, you will see this get more accurate as well.