Simulationcraft v530-6

Simcraft version 530-6 was released the other day, and it has a whole host of improvements.  You can get it here.  And you can check out my Getting Started guide here.

Bugfixes and New Features

There have been a number of bugfixes since 530-5.  Here are the ones that apply to all tanking classes:

  • Vengeance calculations revamped to be more accurate
  • Stat weights are now normalized to Stamina for tanks (instead of Strength)
  • Fixed base avoidance for all tanking classes (many were too high)
  • Fixed level-dependent avoidance modifiers to correct dodge/parry/miss calculations (bosses shouldn’t miss us now)
  • Major corrections to attack table calculations, specifically regarding blocks.
  • Implemented an “incoming_damage_X” conditional – more on that shortly
  • New “Health Gains” pie chart show you your healing breakdown from all sources
  • Damage and Healing abilities are now split into separate tables in the Abilities section of the html report
  • Command-line option for TMI bosses
  • Command-line option for disabling external healing for TMI calculations
  • AskMrRobot export link added to scaling section

And of course, there are quite a few paladin-specific changes:

    • Selfless Healer talent implemented
    • Sanctified Wrath’s +20% healing bonus for protection implemented
    • Shield of Glory duration scales properly with holy power spent
    • Holy Prism now triggers its 20-second cooldown and costs mana
    • Pre-combat Sacred Shield casting is now supported
    • Action Priority List improvements
      • Sacred Shield precast before combat
      • Shield of the Righteous now uses a shifting queue (SH1)
      • HotR removed from PTR single-target APL
      • Divine Protection added once again
    • Devotion Aura implemented
    • T16 set bonus detection implemented
    • All PTR changes through build 17252 are implemented

The paladin module should be basically feature-complete for live servers now.

There have also been a lot of fixes to the warrior module.  Below are the ones that apply to protection, most of which have been motivated by Tengenstein‘s feedback.  Two of the other devs (Max and Alex) have been making lots of other changes as well, mostly implementing 5.4 mechanics (which you can enable using the “ptr=1″ option).

  • Fixed several bugs with Impending Victory / Victory Rush and Bloodthirst  heals
  • Fixed a major bug with Shield Barrier that was causing it to ignore AP scaling
  • Second Wind talent implemented
  • Deep Wounds damage calculation fixed

And while I haven’t been keeping careful notes on the DK module, it too has seen fairly significant upgrades, thanks in part to Mendenbarr, who’s been interacting closely with one of the other developers (Navv).

I want to briefly go over some of these changes in a little more detail.


This is a new conditional for the action priority list that lets you use abilities after taking spike damage.  For example, the line


will use Shield of the Righteous if you’ve taken more than 30% of your health worth of damage in the last 1.5 seconds.  The time X can be specified in seconds or milliseconds, but has to be an integer.  In other words, incoming_damage_5s and incoming_damage_5000ms both work and will give the identical results, but incoming_damage_4.5s will not. If you want to use fractions of a second, you need to specify in milliseconds (i.e. 4500ms for 4.5 seconds).

The new default action priority list for Protection uses this condition on Sacred Shield to produce the SH1 shifting queue we’ve been using in the MATLAB simulations.

Improved Reporting

The first thing you might notice is that damage and healing spells now each have their own table in the Abilities section. This should make it a lot easier to read, especially for abilities like Light’s Hammer or Holy Prism that do both simultaneously.  It should also be easier to detect bugs, like an ability incorrectly doing damage rather than healing.

Damaging and healing abilities are now in two separate tables in version 530-6.

Damaging and healing abilities are now in two separate tables in version 530-6.

There’s also a new pie chart in the report that shows your health gains. This chart will show healing received and absorption effects consumed from all sources, including external healers. So not only can you see your own healing breakdown, you can also see how it changes when you add a healer.

530-6 Health Gains Pie Chart

The new “Health Gains” pie chart shows you how much healing you received from each source.

Finally, when you simulate stat weights the report will include a link to AskMrRobot that will automatically load your character from the armory and import the stat weights that SimC has generated for the spec that you simmed. This should make it much easier to go back and forth between the two tools to fine-tune optimizations. For example, I’ll often optimize my Ret spec in AMR, then copy the new gear setup into SimC and simulate stat weights. Then I’d transfer those new stat weights back into AMR by hand and re-run the optimization, and repeat the process. This link saves the hand-copying so that each step is only a few clicks.

TMI Options

To make it easier to perform standardized TMI measures, I’ve added a command-line option for TMI bosses. The option tmi_boss=T15H will automatically load the T15H standard TMI boss as your enemy. Just swap T15H with T15N or T15LFR to change which boss you’re up against.

In addition, there are two new options for calculating TMI while healers are present.  The player option tmi_self_only=1 will ignore heals and absorbs from external sources while calculating your TMI, so you can sim with healers and still calculate a non-trivial TMI value.  Note that it will count effects from your own pets (i.e. Bloodworms). The global option tmi_actor_only=1 will enable this mode for all players and bosses in the simulation.

A word of warning: due to the way absorption effects are calculated, this can give some funky results if you have a Disc Priest healing you.  In my own testing, I noticed that often their absorbs would be consumed before Sacred Shield, which can lead to some weird spike behavior.  For example, if several attacks in a row are fully absorbed by Power Word:Shield and other absorption effects, those will be treated as full hits for TMI calculations even if you had an unused Sacred Shield bubble active.  This mode also ignores overhealing, treating all of your Seal of Insight ticks (and all other self-heals) as if they always heal for the full amount.  So don’t be surprised if the results differ when you add a healer, and I’d suggest avoiding the use of Disc Priests.

APL improvements

I’ve made several improvements to the default action priority list. In addition to  implementing the shifting queue, I’ve also set it up to pre-cast Sacred Shield and added Divine Protection back into the rotation. In a later patch I’ll probably add GAnK and Ardent Defender and set up conditionals so that we chain cooldowns intelligently instead of blindly stacking them all at once.

Bug Reports

I think that the prot module is fully-functional for 5.3 mechanics now, but it’s not feasible for me to test every possible combination of glyphs, talents, actions, and gear. So I’m sure there are still bugs, though hopefully far fewer than the previous builds. That’s where you come in. The more people actively using SimC to test their character, the more likely we’ll stumble across those bugs and fix them.

While it’s fine to discuss potential bugs in the comments here, it’s actually far easier for me and the other devs to manage the process of verifying and correcting bugs if they’re submitted through the Issues system.  You’ll need a Google code or Gmail account (I think), but other than that it’s fairly painless. If possible, including the .simc and/or .html files demonstrating the problem is a big help too.

So if you find some spare time this week, please try importing your tank and running some simulations, and let me know if you see anything funny.  I’m sort of curious to see whether warriors and death knights are able to achieve much more competitive TMI scores now that their modules have been improved.

This entry was posted in Simcraft, Simulation, Tanking, Theck's Pounding Headaches and tagged , , , , , , , , , , . Bookmark the permalink.

63 Responses to Simulationcraft v530-6

  1. Trompu says:

    Hi! Thanks for keeping up the good work with this amazing tool =) I used 530-5 to run a few simulations and I have a couple questions.

    1 – I raid 10M normal for the moment, reading the comments on previous posts I understood I should be simming against LFR bosses, is this correct?
    2 – This is my biggest concern, I don’t consider myself that good of a player, I’ve been max level for around three months so I have a lot to learn. So I figured I would change the “player skill” option when simming to see how it turns out, I used the 4 skill levels with everything else untouched and realized that, at lower skill levels, stamina values over haste, and the weights shift favouring haste for higher skill. This actually sounds logical, if you are not skilled enough to avoid damage, you better soak it. So on to my question, what does player skill affect when simming? Do you mess up the rotation? Are you unable to cast SoTR before hard hitting abilities? Do you get distracted by the beatiful flinging lights going around and forget to press buttons?


    • Theck says:

      1) Basically yes. I intend to fine-tune the TMI bosses, and possibly put in 10N, 10H, 25N, 25H versions just for completeness. I just didn’t get to it for 530-6.

      2) Regarding skill:

      skill (scope: character; default: the value of default_skill when the character was created) allows you to specify the player’s skill. A 1.0 skill means a perfect player who never do any mistake. A 0.8 skill means a player who have a 20% chance anytime he should perform an action to think it’s not actually ready and skip to the next action in list, or even the one after (20% chance on every level).

      So it basically simulates poor play on several levels – poor SotR usage (weaker Active Mitigation), poor Holy Power generator usage (screwing up the rotation), poor filler usage (lower DPS). That will obviously make stats that are always-on like Stamina, Dodge, Parry more valuable.

      • bryjoered says:

        YeSSS!!! They finally are nerfing overpowered haste scaling paladins!! hahaha, now you will have to go after dodge and parry like the rest of us :) “Grand Crusader no longer has a chance to activate from Crusader Strike and Hammer of the Righteous, but now has a 30% chance to activate when dodging or parrying a melee attack (up from 12%).”

        • Theck says:

          Two months ago called, it wants its paladin news back. 😛

          In all seriousness though, that’s change will have almost no effect on our stat priorities. It buffs avoidance a bit and nerfs haste slightly, but in both cases it’s only barely enough to be noticeable.

          The 30% nerf to Sacred Shield would have a bigger effect on haste.

          Either way, haste will still be our best stat in 5.4 because of Sanctity of Battle. The fact that they’re itemizing it on our tier suggests that the devs are on-board with it as well.

          • bryjoered says:

            But wouldn’t it now be ideal to get dodge and parry gear and gem reforge for haste as opposed to going for dps plate? That’s the intention I believe no?

          • bryjoered says:

            In all seriousness though paladin’s have it so good, great damage, great mitigation, huge on demand heals, debuff clearing I think that a little nerf here and there would bring them in line with other tanks.

          • Çapncrunch says:

            No, we still likely won’t want dodge/parry gear because they’ll probably still be our worst stats, they just won’t be quite as bad as right now. Haste is so far ahead of dodge/parry right now that there’s really no possible way to make us seek out avoidance gear short of completely taking Sanctity of Battle away from prot. Right now haste is simming in the neighborhood of ~1.00 and avoidance in the neighborhood of ~0.35. Even if haste took a 20% loss (which would be rather large) and avoidance doubled in value (which would be an even bigger change) we’d still be looking at haste ~0.8 and avoidance ~0.7 and haste would still win.

            It’ll probably make pieces such as dodge/exp or parry/mastery a bit more attractive than haste/crit, but haste/hit, haste/exp and haste/mast will probably still be bis. It’ll also make set bonuses more attractive than they were in ToT (especially with those 2 tier pieces with haste on them).

    • Dalmasca says:

      Hey Trompu,

      I’m pleasantly surprised to see a new end-game player utilizing this forum and these tools to improve! Kudos to you! As for the answers to your questions:

      1) I believe the LFR TMI model will still suit your needs, but the 25N model might be a bit closer in swing damage to 10N. Theck will of course know the true answer to this.

      2) The player skill attribute models a player that won’t hit the rotation perfectly. In other words, there is a chance to skip over actions in your priority list at sub-Elite skill level. You are correct that it might be more appropriate to utilize those skill levels if they more closely match your tanking experiences. Over the course of the last few posts, Theck made a really good case for why Stamina is such a good stat for “smoothness” – when all else fails, you still have a massive pool of health to hang on to.

      It sounds like you’re using the model properly, so I’d suggest continuing what you’re doing. 😀

    • Trompu says:

      Thanks for the response, we are currently at 9/12 normal so I decided to take the leap and switch from a heavy mastery gear to control/haste, so I figured I would check simcraft to see what was TMI’s opinion on gear switch (it was huge, like 1/4 of the previous calculation).

      Really useful tool and blog (and it’s little comunity of course), thanks again =)

  2. When one scale factor is positive, the link to AskMrRobot ignore the other stats.

    • Theck says:

      Hm… you’re right, something seems to be causing problems with the link in that situation. Did this happen only for TMI, or for DPS stat weights too?

      • I think it only happen on TMI.
        I think default SimC scales with positive values (No “golf rules”).

        I dont understand why I get negative crit value on tmi.

        Even if crit doesnt help me on damage smoothing. Shouldnt it be 0 value?

        • Theck says:

          The AskMrRobot link is supposed to use the normalized values, which should always be positive (they’re normalized to Stamina, which should never give a negative TMI benefit). Though obviously something isn’t working quite correctly (I guess I only tested it with DPS stat weights? *shrug*).

          You get a negative value (sometimes) with crit because of statistical noise. If you run the same simulation twice, once with +1000 crit and once without, you’ll get pretty much the same TMI value. But maybe the boss got lucky and got one more hit on you in one simulation than the other, which leads to a slight deviation from zero in the overall values.

          Analogy: if you flip a coin 100 times, you expect about 50 heads, but there’s no guarantee that it will be exactly 50. You might flip 100 times and get 49 heads, and then flip another 100 times and get 51 heads. If you compare the two, it looks like there was a net change in the rate at which you got heads, but the reality is that it’s just RNG fluctuations.

        • Theck says:

          I think I found (and fixed) the bug causing the link to be broken. It was happening when the normalization stat was negative, which should generally only happen for TMI and DTPS, but due to a different bug (also fixed) would happen for DPS stat weights for tanks.

          Should be working properly in 530-7, but I’ll make sure to bugtest it a little more thoroughly before that gets released.

  3. Tehpounderer says:

    I’ve been running a lot of prot warrior sims with 530-6, trying to get a feel for how different APLs affect DPS and TMI. I tried to add some abilities that were only used at higher levels of attack power but if=attack_power>???? doesn’t seem to work. Can you shed any light on this?

    • Theck says:

      You want to use if=stat.attack_power>X

      A full list of conditionals can be found on the wiki:

    • Tengenstein says:

      Be careful there’s a couple of larger issues that are rather heavily winging how warrior active mitigation are being weighted in 530-6.

      • Theck says:

        What are those? I think I fixed all of the bugs you and I discussed, but if I missed something please let me know.

        • Tengenstein says:

          I believe both of them have be fixed for the next version, though as i lack the skills to compile my own version directly from the SVN, I’ll have to wait to confirm the fixes have stuck.

          530-6 is still reporting warrior block at >60% unbuffed, devaluing Shield Block. On the other hand Shield Barrier is scaling too well, quite above the 1.8xAP@60 rage

        • Tengenstein says:

          Scratch my previous repsonse, i’m not sure its behaving properly may want to look over not sure if i’ve just got the wrong end of the stick or if something strange is happening.

          • Tehpounderer says:

            Thanks for the tip, Theck. I ran quite a few simulations trying different gearing strategies and different APLs. The best TMI number I could come up with was around 10k with best in slot gear on T15H TMI boss. Are warriors that much more spiky than Paladins? Or is this an artifact of warrior mitigation not being modeled properly in the sim?

            Two final things which I will file as tickets on the simulationcraft project page:

            1) The default APL for warriors tries to cast Shield Block again while the buff is still active. It should be action +=/shield_block,if buff.shield_block.down.

            2) It appears a warrior starts the fight with full rage. I can’t think of a reason for that to be the case. I had to add an initial_rage=0 line.

            Thanks for all your work. Both of you.

          • Theck says:

            I think warriors will have trouble getting their TMI as low as paladins just due to overpowered mechanics (several of which are getting nerfed in 5.4), but it could just be that our APL is a little more refined.

            I also think that the bugs in the warrior module are affecting the results, but I’m not sure in which direction (if Shield Barrier is too strong, for example).

            I believe Shield Block is additive-duration, so it shouldn’t matter whether you recast while it’s up or cast immediately when it falls off.

            Not sure why they start with full rage. We certainly don’t start with full Holy Power.

          • Tengenstein says:

            Theck’s correct about Shieldblock durations being additive, if you cast Sblock whilst you have sblock up you simply increase the duration by 6 seconds; Your first suggestions shouldn’t make a difference.

  4. Schroom says:

    first: amazing work! 😀

    question: does it take into account if one reaches 50% haste to lower it’s value? Or did I get this wrong and haste stays the stongest smothing stat beyond 50% but it only messes up the rotation because of GCD capping.

    • Çapncrunch says:

      I would assume that the model correctly limits the gcd scaling, which will have a natural impact on the calculated TMI values. ie if reaching the gcd cap makes getting haste less effective then the sim will show that and the TMI weights will reflect it, if reaching the gcd cap has little/no actual impact on its effectiveness then the sim reflect that in the TMI weights.

      In other words, the assumption that the 50% soft cap will impact haste’s value is just that, an assumption (with decent basis), but its the sims that are really “the math” that determines if these assumptions are correct or not.

  5. Çapncrunch says:

    So granted I’ve only run 1 sim so far, but mastery still seems to be underforming greatly. On the sim I did mastery’s TMI weight was a piddly 0.3, placing last behind dodge at 0.33 and parry at 0.36. I know you were assuming that implementing the shifting que would result in mastery’s value jumping up, but that doesn’t seem to have happened.

    So should this be interpreted as the shifting que as you attempted to implement it isn’t doing what you’d hope? is mastery perhaps not nearly as good as we’d previously assumed? or is perhaps there a flaw in TMI (or it’s methodology) that’s causing it to be undervalues?

    Maybe it’s a matter of the boss model being used? Mastery’s niche is predictable bursts of damage (haste has this niche as well, but it’s also pretty good for consistent damage), so given that your boss model does nothing but melee and a magical dot, means that there are no predictable bursts of physical damage (heck no true bursts at all, it’s all consistent damage) to focus those bigger SotRs on, so all you’re getting reducing 1 or 2 melee swings by a little bit more and maybe a few blocks (which is basically the same thing) every ~8 seconds.

    Maybe adding some sort of burst to the model (as well as a way to intelligently save/use active mitigation for them) would help bring mastery’s value up to where it probably should be. Even if it was a burst of magical damage, that would still make mitigating a melee swing before/after it more valuable than mitigating a swing that isn’t paired with a burst. And if it was a burst of physical damage that would make mastery even more valuable.

    • Theck says:

      I’m fairly certain the shifting queue is working correctly. You can test it yourself if you like – removing the incoming_damage_1500ms conditional should increase TMI fairly significantly.

      I honestly don’t know why Mastery is performing as poorly as it is. I have a few guesses, but none of them involve the TMI calculation being wrong. Remember that the MATLAB model also had predictable, consistent damage.

      My best guess at this point is that something in SimC differs from my MATLAB simulation. One obvious difference is the inclusion of magical damage (the DoT), which should boost haste and stamina and suppress mastery/dodge/parry, though that’s probably not the sole culprit. I suspect that if you added a large physical burst, and adjusted the APL to time SotR to mitigate it, mastery would fare much better.

      That said, it could be a bug in either model. I’ll have to go through and double-check the block and mastery calculations to make sure it’s not being miscalculated somewhere. It’s also entirely possible that the bug was in my MATLAB code, but at this point I don’t think it’s worth going back and troubleshooting that.

      One thing we can do is try to test more extreme gear sets. For example, we drew our conclusions by comparing a haste-heavy, low-mastery build to a low-haste, mastery-heavy build. It may be that mastery is a weak stat for the former but strong for the latter.

      Another thing is to cross-check your gear against the armory and make sure that the mastery calculations look correct (i.e. make sure that mastery, block chance match).

      • Schroom says:

        I compared my 530-6 sim with my 530-5 sim and mastery is now doing A LOT better. And should be about right now, looking at my results with a logical eye.

      • Çapncrunch says:

        I just meant that since the weights for mastery are (apparently) so different than what we’d expect given your previous models that TMI is based on, that there’s *something* different going on (like my comment about the TMI calculations were more towards the possibility that because you essentially crafted the TMI formula through trial and error (or perhaps “through experimentation” might sound better) adjusting it when the results weren’t what you wanted until you felt it was a suitable approximation of the old method, that maybe it simply isn’t able to evaluate mastery they way you previously would have, and thus requiring additional refinement. it *is* a new metric afterall, I don’t recall how well your original development evaluated mastery in the mastery heavy gearsets).

        Though, now that I think about it, it probably would be a good idea (assuming it’s feasible) to try to implement some amount of predictable burst damage, since that is a fairly staple aspect of most raid encounters and handling them is a key part of tanking (even moreso under the active mitigation paradigm, I’m sure blizz is balancing encounters under the assumption that tanks are using their active mitigation intelligently). Maybe if there was a condition called something like “Burst_in_3″ that the boss turns on just before his burst ability (and then off afterwards), which could be used in the attack priority. Then by setting up the priority list so that it only uses active mitigation when capped on resources or when incoming burst, would simulate saving SotR for the big hit. Sort of the same as what you’re doing with the “incoming_damage” but pro-active instead of re-active. Might seem a little cheap to make the boss tell the model that it’s about to burst, but then again because of things like DBM and BigWigs that’s already reality anyways.

        This is assuming that the boss’ action list is able to affect these types of apl variables (if the issue of lining up the flag change with the given 3 second window is an issue, you could always force it by making the burst into a 3 second dot with a single tick and let that part of the simulation handle the timing.

        On the possibility that mastery’s value is so low because the gearset makes it low, would it be necessary to edit all of the gear/gems/reforging/etc to test a mastery heavy build, or could I simply edit the stat values at the bottom of the import data?

        • Çapncrunch says:

          Well, I did a quick test with a mastery heavy build, just made a generic toon in AMR (the site refused to load my paladin for some reason), with the control/mastery build and took it’s “bis” heroic/thunderforged gearset, I set it to a low stam preference (just to add extra emphasis on mastery), didn’t touch it otherwise, gave me about 5k haste rating and 17k mastery rating, copied the export into SimC and….

          Well, it made mastery finally outperform avoidance, a little, but both stam and haste still dwarfed it:
          stam: 1.00
          mast: 0.45
          parry: 0.37
          dodg: 0.18

          (I didn’t include crit/str/armor since they’re not a normal part of the gear choices as well as to speed up the sim).

          • Theck says:

            That seems pretty consistent with what we saw in the MATLAB sims, I think. The haste set was ~18k haste and 1.5k mastery; the mastery set was 0k haste and 19.5k mastery. And remember, once we added SoI and SS to the simulation, haste consistently outperformed mastery by a decent margin. So it’s not surprising that the gap is a little larger than we thought (and again, we have the DoT included here).

        • Theck says:

          The easiest way is to load your character in AskMrRobot, tweak your gear, and then use their export to generate the Simcraft code. The stat values at the bottom are just informational. They’re all preceeded by a #, which means they’re commented out, so from the point of view of the simulation they’re not even there.

        • Theck says:

          We can just add a special attack that has a cast time (i.e. Talon Rake, Snapping Bite) and use a casting.react conditional.

          • Çapncrunch says:

            I know that you had haste consistently outperforming mastery once SoI was implemented in MATLAB, these results have haste consistently siming 2~3 times better than mastery which seems rather excessive, and mastery performing as poorly as avoidance. And while the addition of the magical damage may have swung things further in haste’s direction, the dot only seems to make up about 6% or so of damage taken in the sim, so it shouldn’t have that significant of an impact, also the magic damage should have hurt dodge/parry just as much as it hurt mastery since they similarly only work against physical attacks.

            I just simmed again with an even more mastery heavy build (551 ilevel, 20226 mastery, only 533 haste rating), against T15H boss, which it should be outgearing, and I got 4561 TMI which seems rather high given how much it should be outgearing it. And as for stat weights:
            haste 1.27
            stam 1.0
            strength 0.68
            parry 0.53
            armor 0.51
            dodge 0.44
            mastery 0.06

            One of the lowest results for mastery yet. (only did 10k iterations for speed reasons, seemed to have unusually high error margins, 0.33~0.38 which seems rather significant and much larger than other error margins I’ve gotten at 10k iterations)

            When I ran the same gearset without upgrades (so like 543 ilevel) I got over 19k TMI which seems to indicate undergeared for heroics, and no significant changes in weights from the above. This almost seems to imply that any gearing strategy other than haste/stam is barely viable to use until you outgear the content by a good margin, which just seems wrong.

            The what this is really starting to tell me is that we can’t really trust the value of mastery until predictable burst is modeled since that’s where mastery’s value truly lies.

          • Theck says:

            I’m not sure that’s a fair conclusion. If mastery’s “true value” was in mitigating large attacks, why did it do so well in the MATLAB model that contained none?

            Mastery has a strong passive component in block, but the active portion has its own diminishing returns. It’s not really surprising to me that it fares so poorly in gear sets where we’re already mitigating 40-50% of a melee with SotR. Those sequences don’t contribute much at all to TMI, so making them smaller is essentially worthless.

            Probably the only part of mastery that’s contributing at our gear level is the block component, simply because of the old Meloree adage: mitigating more attacks for a smaller amount is better than mitigating fewer attacks for a large amount.

          • Çapncrunch says:

            That’s the thing, I don’t know why mastery did so well in MATLAB and so poorly in SimC, but something seems amiss. I mean as you say it WAS doing well in MATLAB, not as good as haste or stam sure, but certainly better than avoidance, yet SimC is consistently valuing mastery on par with avoidance. That’s why I suggested the possibility that maybe something is being lost in the translation from the old MATLAB interpretations and the TMI calculation, the other alternatives is that there’s either something amiss in SimC causing mastery to be undervalued, or there was something amiss in MATLAB and mastery has always been this poor.

            As for why I feel that mastery’s value can’t be fully trusted without modeling burst damage, that’s mainly based on the fact that burst damage, and our ability to manage it, is part of the reality of tanking. You said yourself that if added it would likely increase the value of mastery. So by not modeling it then mastery’s value is going to be different than what it’ll be in reality. The fact that mastery is currently siming poorly isn’t really a part of my reasoning, it’s just what lead me to this line of thinking.

            Although, after taking a closer look at some results for my high-mastery sims, I did notice something that could be amiss. In my build with over 20k mastery, which comes out to 52% block raid buffed, but when I went down and expanded the entry for the boss’s melee attack it shows that I only blocked about 31.6% of attacks (blocked 94.88 attacks out of 299.5 total attacks). While the sim only performed 10k iterations that still seems like a significant deviation from the expected number of blocks.

            While my sim using my actual gear (little over 7k mastery for ~36% block) I blocked about 25% of incoming melees (74.8 out of 299.5) which also seems a bit off, but not as bad as the high mastery build.

            Is it possible that block chance isn’t being applied properly or something?

          • Çapncrunch says:

            Well, I figured I’d try a zero mastery build to see how actual block% vs expected block% (lists my block chance at 26.37%, I blocked 14.6%, still seems rather low). But more interesting, I actually got a decent weight for mastery:

            haste: 1.03
            stam: 1.00
            mastery: 0.75
            strength: 0.56
            armor: 0.54
            parry: 0.42
            dodge: 0.39

            Though also, since this was in all upgraded heroic thunderforged (and high haste) the TMI was a mere 335.9 so stat weights being mostly irrelevant at that point. I also went out of my way to make sure that I had zero mastery rating, resulting in a few unusual gear choices that probably wouldn’t be used even in a low mastery build (ie I didn’t use a 608 cloak since they both have mastery, and used the double avoidance shield since the others have mastery etc).

            So from this it appears that maybe there is some sort of “ideal ratio” between haste and mastery, but it’s so far skewed towards haste that simply having “high haste” isn’t enough to make mastery more valuable, but that you also need very little mastery (apparently less than the 3k rating the raid buss provides, I’ll try running the sim again with the mastery buff off and see what happens). That or it’s just a matter of the natural diminishing returns on block cuts into mastery’s value so severely that once you get a little it’s value plummets.

            I still think it’s unfair to mastery not to model a situation where you can take advantage of the larger SotRs, but at least this result is something.

      • Seal of insight and sacred shield may be the things that make mastery look bad.

        I tried with Seal of truth instead of insight and puts mastery equal to haste on (tmi) scale factors.
        And using Seal of truth and not sacred shield puts mastery ahead.

        But TMI with Seal of truth and no SS, is worse by orders of magnitude.

  6. Darrak says:


    am i doing something wrong or is the TMI value of 150+- normal with this sort of gear?? maybe it’s time to add harder-hiting boss

    • Theck says:

      Yeah, that’s about right given your gear set and ilvl. At 550, you’re outgearing the T15H boss by 15 ilvls, and overall TMI went down when I added the shifting queue and Divine Protection back into the mix. I’m hoping to tweak the bosses for next release to give a clearer spread, so I’ll try to add some T16 test bosses as well.

  7. dloenn says:

    Regarding TMI for other tank classes –

    I ran my mainly LFR geared DK through SimCraft using the new default APL for Blood DKs in 530-6, and the results were slightly odd, to say the least. Against the T15LFR boss, I’m getting a TMI score of ~4200. This seems correct, considering that I’m probably starting to overgear that content a little by now. However, against the T15N boss, I am getting a TMI of ~5600k, and against T15H I am getting over 575M. No, these are not typos, SimCraft really says that my score against those targets is ~5600k (or 5.6 million) against a normal boss, and nearly 600 million against a heroic one. These values seem a bit off the scale, compared to what you have shown in previous posts regarding paladins. What gives?

    If I calculate stat weights, I’m getting a heavy stamina focus against all three targets, with haste and mastery as main secondary stats. This also seems correct, but the focus on stamina seems excessive, with the weights for haste and mastery coming in at roughly 1/4 of the value of stamina.

    Armory for the character used –

    Just my observations for now. This was all done using the standard APL, except for disabled consumables, and all buffs/debuffs enabled. No healers, only one character in the simulation.

    • Theck says:

      The TMI calculation is exponential, so it will quickly balloon up if you’re well below the gear level the boss is tuned for. You’re a pretty good match for the LFR boss, as expected. But you’re really below the gear level of the T15N boss, which is expecting an ilvl around 522.

      The reason stamina is valued so strongly is related to the fact that you can’t survive 3-4 hits from the T15N boss. It’s the age-old “have enough health to survive a few boss attacks” rule-of-thumb.

  8. Dornex says:

    So I’m preparing my paladin for T15 10H and also for the start of T16 in (hopefully) a few weeks, so I’m looking at the T15H settings as a possible stand in for T16 10 N.

    I ran the sim, got a TMI of 20.4k (my ilvl is 528 and I’m using an extreme haste build with very little stam). I took the resulting stat weights, put them into AMR, and exported the new optimization to SimC, simmed…and got a TMI of 23.7k

    50k itterations, elite skill level, everything else is set to defaults.

    Original stats:
    Results: dornex : 242460 dps, 74000 dtps, 20460.0 TMI
    Normalized weights:
    Hit 8.32, Exp 5.97, Sta 1, Haste 0.93, Armor: 0.47, Str: 0.43, Mas: 0.37, Dodge: 0.36, Parry: 0.32

    Export those stats to AMR, re-optimize, export to SimC:
    dornex : 238133 dps, 76772 dtps, 23712.4 TMI
    Hit 7.0, Exp 5.31, Haste 1.21, Sta 1, armor 0.51, str 0.41, dodge 0.34, parry 0.26, master 0.22

    Sorry, not sure how to show you the html results but I have them if there’s somewhere easy for me to post them. I didn’t expect the stat weights to stay the same, but that’s a prettty strong change.

    Shouldn’t reforging following the suggested stat weights strictly improve TMI? No settings changed between the two simulations.

    • Theck says:

      Not necessarily. Remember that stat weights are volatile. When you calculate stat weights for one configuration, they’re only strictly valid for that exact configuration. Local linearity suggests that they’ll be pretty good if you only make minor changes. But once you make big changes, the stat weights may be very different.

      Based on your stat weights and DPS/DTPS, I’m guessing that when you used the first set of stat weights to optimize, it shifted you into more stamina, slightly less haste, and less mastery/str/dodge/parry? That increased your DTPS and lowered your DPS. But it was a large enough change that the haste and stamina weights swapped places. There’s probably a happy medium somewhere between configuration #1 and configuration #2 that gives you the maximum TMI.

      Unfortunately, a tool like AMR is not going to get you there. It’s not sophisticated enough to change the stat weights dynamically as it optimizes. What you’d really need is some combination tool that does both. In theory, SimC can do this with the reforge plots, but I’ve never tried it myself.

      If you want to try it yourself, you could just undo the changes AMR makes a few at a time and re-sim. For example, if AMR tells you to change 6 haste gems for stamina gems, change 3 of them back and try simming again. I’d skip the stat weight calculations for this to save time, as you’re probably just trying to find the right balance of haste and stam anyway.

      • Dornex says:

        Actually, Stam/Haste were so close that it put me into more pure haste gems (right now I’m using a lot of exp/haste gems and haste/stam or haste/hit gems to get socket bonuses). I ended up with a tiny bit more haste,, ~900 more stam, and 2.6% less mastery. Everything else was basically flat.

        The biggest change I noticed is it replaced Dancing Steel with River’s Song, which (along with losing most of my str socket bonuses) I think was the primary DPS loss.

        • Theck says:

          Wait, it shifted you into haste gems and you


          900 stamina? Or lost 900 stamina? If the latter, that explains the TMI loss. If you gained stamina and kept about the same haste, then the TMI loss has to be due to the enchant or the str losses, which is weird.

          Though I haven’t compared enchants yet. Maybe try simming with the second configuration but locking Dancing Steel as the enchant and see if it improves the TMI?

          • Dornex says:

            Haste was worth 0.93, stam was worth 1. So it replaced my JC gems with +480 stam (instead of +480 haste) but everything else went to pure haste (320x.93>240×1, so haste gems worth more than stam gems) and I got exp/hit capped from reforging (which is how I lost a lot of my mastery).

            Exact changes, per AMR:
            Strength: -378
            Stamina: +866
            Mastery: -2/65%
            Exp: +.45% (pushing me over hard cap, which I am not currently)
            Melee Haste: +.48%
            Parry: -.38%
            Dodge: +.26%
            Crit: -.2% (lost a socket bonus)

          • Dornex says:

            Forgot to say below that I’ll be rerunning the sim shortly and will post results. Also, mastery was down 2.65%, not two sixty-fifths of a percent.

            Posting and wiping in LFR on my hunter because tanks don’t see a point in moving Lei Shen = typos.

          • Dornex says:

            Changing nothing but River’s Song to Dancing Steel gave me the following result:

            dornex : 240283 dps, 77299 dtps, 24165.4 TMI
            Hit: 6.45, Exp 4.74, Haste 1.1, Stam 1, Armor .5, Str .45, Parry .32, Mastery .26, Dodge .23

            So River’s Song is showing better survivability than Dancing Steel. No idea where the loss in TMI is coming from. Going to resim everything and see what happens. I feel like something strange happened in here somewhere.

          • Dornex says:

            So I redid the sims, and got results that make a bit more sense.

            I must have made some sort of error importing my armory yesterday, because doing that fresh, i got a TMI of just under 35k (on T15H).

            Dornex : 240154 dps, 74736 dtps, 34966.1 TMI
            Hit 6.32, Exp 4.83, Haste 1.21, Stam 1, Armror 0.46, Str 0.40, Dodge 0.31, Parry 0.31, Mastery 0.26

            Reforging with those stats gives me the following changes:
            Str -315
            Stam – 520
            Hit -0.14% (putting me at 7.49)
            Exp: +0.64% (putting me at 15.21)
            Crit -0.20
            Haste +2.74%
            Parry: -0.32%
            Dodge: +0.26%
            And again, River’s Song replaces Dancing Steel.

            Resim, and I get the following results:
            Dornex : 242537 dps, 73994 dtps, 20189.0 TMI
            With weights of:
            Hit 8.47, Exp 6.41, Haste 1.01, Stam 1, Str 0.48, Armor 0.43, Mastery 0.37, Dodge 0.32, Parry 0.22

            And, just to see what happened, took the above stats (the 20k TMI sim) and reran it after changing the weapon enchant to Dancing Steel, to see what happens.

            Dornex : 244461 dps, 74475 dtps, 20175.4 TMI

            Presumably this is because of the jump in value of Strength from the first version to the next. Still a little worried about my stamina with this itteration (I’d be under 630k unbuffed after the reforge) but it at least gives me an idea of where to start for T16.

  9. Trompu says:

    Hello again, you wanted some “funny results” and I got some for you

    As you can see stamina is coming up positive for me, meaning I have too much stamina?? I tried the same untouched simulation with the prot pally from our guild’s other raiding group (more stamina oriented, probably around 60k more hp than me) and the results were more like what you would expect to see.

    This screws up the normalization to export to AMR and is confusing me, I tried changing talents one at a time on the last three tiers but it kept happening, I got like 8 simulations if you want them, but it’s basically the same for all of them, positive stamina.

    Hope you can come up with something, if you need more data just ask, thanks! =)

    • Dornex says:

      your TMI is so low it’s effectively 0. Basically, for the difficulty you’re simming, any halfway decent healer could keep you up indefinitely. You need to sim a harder level boss.

      • Theck says:

        The sim should still generate relatively accurate stat weights even at low TMI. I’d be willing to bet that the stat weights he’s getting are actually real.

        If I hadn’t looked at the html file, I would have bet that he was using 4-piece, because I ran into a similar problem here:

        However, it looks like he isn’t, so I’m a bit puzzled. I’ll look into it today and see if I can figure out what’s causing it.

      • Theck says:

        After spending most of the morning simming and puzzling over results, I mentioned it to Meloree and he replied with the answer in under 5 minutes. You are indeed hitting a stamina breakpoint. But unlike the discussion I linked, yours isn’t tied to the set bonus. It’s tied to the conditional we added to Shield of the Righteous:


        That last one (incoming_damage_1500ms>=health.max*0.3) is what performs the SH1 shifting queue. I think what’s happening is that you cross a stamina threshold at which the boss’ attack size drops below 30% of your health, so you stop using a shifting queue and start using a “spam at 5 HP” queue.

        Solutions: in this case, I’d just sim against the T15N boss, which doesn’t exhibit this behavior because it hits hard enough that you don’t encounter that threshold. Alternatively, you could remove that conditional or lower the threshold to something smaller, like 0.2.

        Thanks for this, between the set bonus and this discovery, I have a very interesting set of material for a blog post next week.

        • Trompu says:

          Weird things come up when you got lots of players testing lots of setups =)

          So, to sum up, i’ll just test aginst T15N and the problems should be gone, but to get a better understanding of this I got a question; if this happened simming against T15H, that would actually mean you got too much stamina and that you are wasting stats?

          • Meloree says:

            No – it’s important to note that the breakpoints are an artifact of the simulation method, not an indication that adding more stamina is somehow making you less survivable.

            If this happened simming against T15H, you would a) be incredibly overgeared for T15H, since this only happens when bosses hit very weakly relative to your health (very low TMI scores), and it’s liable to go away with future iterations of the sim/APL.

            The “breakpoints” are not real. More stamina never actually makes you squishier.

            “Wasting Stats” on the other hand, is an imprecise question, but if your TMI is really that low, you can probably afford to add more DPS oriented stats (given competent healers, etc. It’s always a given that tank gearing depends on your healers).

          • Theck says:

            Just to clarify what Mel said: the breakpoints can be real, but they’re much less significant in practice than they are in SimC.

            The one you’re encountering is probably not real. In all likelihood, you do not play differently when the boss hits you for 30% of your health than you do when he hits you for 29.5% of your health. But the Sim is capable of discerning that difference and adjusts its playstyle. In this case, the breakpoint is not real – it’s an artifact of the condition we’re using to enforce the SH1 queue. The solution is, generally speaking, to fix that conditional by lowering it slightly (maybe from 0.3 to 0.25) or to sim against a boss that’s more appropriate for your gear level (T15N).

            The breakpoint I encountered in the matinankadin thread *is* real, insofar as if adding 100 stamina pushes you over the point where the tier bonus stops giving you holy power, it really does cut your holy power generation and you’ll get fewer SotRs off.

            However, here too the effect is magnified by the limitations of the simulation. Simcraft treats every boss attack the same, including its damage. That’s causing the breakpoint to be a hard discontinuity.

            In reality, there’s a ~20% variation in auto-attack sizes. If Simcraft modeled that variation, it would smooth out the discontinuity (mathematically: we’d be convolving the function representing TMI as a function of stamina with a distribution function representing the variation in boss attack size). Now that I know what’s happening, I can add this to my list of improvements to make to SimC.

          • Trompu says:

            Thanks for the clarification, I’ve read the maintakadin post a few times (not that easy to understand when english is not your native language xP ) and I see the differences between both “breakpoints”, it’s a really interesting topic so I’m looking forward to your post next week, maybe it will shine a little more light on the matter.

            Thanks to you both again and keep up the great work =)

  10. dedmonwakeen says:

    We can also add a rand() utility to the expression syntax to help smooth discontinuities in the APL output.

  11. How I add healers?

    I tried by marking Actor only-TMI: disabled

    And added(copied from sample profiles warrior protection)
    Priest_Holy_T14H.simc scale_player=0 target=”NameOfTheTank”

    But im not sure if worked well, It make TMI go almos to 0 Value, And all Scale factors around 0.

    • Theck says:

      You added the healer correctly, but got the actor-only option wrong. Setting it to “disabled” means it’s using all healing to calculate TMI, and since your healer is pumping heals on you, your TMI will be very small and just about nothing you do will have a significant effect on it (hence the 0 stat weights).

      You want to set Actor-only TMI to “enabled” so that it only uses your own self-healing to calculate TMI.