Yesterday, we were informed of a few hotfixes that were being applied to protection paladins. From the hotfixes blog:
- Mastery: Divine Bulwark now increases Shield of the Righteous’ damage reduction by 0.5% per point, down from 0.75% per point.
- Grand Crusader now also has a 30% chance to trigger its effect from Crusader Strike and Hammer of the Righteous.
- Shield of the Righteous now reduces physical damage taken by 25% (up from 20%).
As I tweeted at the time, these certainly appear to be targeted at “fixing” haste. The logic for why they appear to do that is pretty straightforward.
What Should’ve Happened
If you recall, Grand Crusader originally procced from successful Crusader Strike and Hammer of the Righteous hits. It was later changed to include avoidance (and later to proc only from avoidance) specifically to reduce haste’s value. So this seems like an obvious way to add value back into haste.
Likewise, one of the things we noticed in MoP was that haste got stronger as SotR mitigation increased. When SotR mitigates a large percentage of damage, it ends up being more important to increase the uptime than to further increase the mitigation, favoring haste. In fact, one of the targeted nerfs to haste in MoP patch 5.3.0 was to reduce SotR’s base mitigation from 30% to 25%, which was further nerfed to 20% during WoD beta. So this change makes sense as well – increase SotR’s base mitigation to make it more valuable by default, and reduce mastery’s value by reducing its contribution to SotR. Seems straightforward.
So of course, I expected that when I coded the changes into Simulationcraft (version 603-12) I’d be greeted with stat weights that told me haste was suddenly back in the limelight.
Unfortunately, that isn’t what happened.
What Really Happened
First, for a baseline, I ran a sim with version 603-11 to show how haste was really performing. Here is that simulation, along with the stat weight and scale factor plots it produced:
If you look at the html file, you’ll see that I’m using a fairly default configuration here. Sanctified Wrath, Light’s Hammer, and Holy Shield are chosen as talents, and the gear setup being used is heavily mastery-biased. That heavy mastery bias should help boost haste a little bit. As we can see on the plot though, haste and multistrike are both pretty weak, and performing below versatility, crit, and mastery, with bonus armor being far-and-away the best stat. Also note that since I’m running plots here, I’m only running for ~12k iterations, so the data is a little noisier than a full 25k iteration sim.
If we repeat this with version 630-12, which represents the post-hotfix mechanics, we instead get this:
The first thing you’ll probably notice is that haste is solidly at the back of the pack now. In other words, these changes reduced haste’s value more than they increased it. So much for conventional wisdom! On the other hand, they did successfully weaken mastery – it dropped in value a bit, as evidenced by the lower scale factor and the shallower slope on the scaling plot. It’s still ahead of the other secondaries, but not by as much.
What Went Wrong
First, I obviously went back and double-checked that I had implemented everything properly. But I was disappointed to find that I hadn’t made any mistakes – Grand Crusader was now proccing from Crusader Strike and Hammer of the Righteous, and the mitigation value being calculated for Shield of the Righteous matched what it ought to be based on a hand-calculation. So we can eliminate “programmer error” as the cause of these seemingly-erroneous results.
So what did cause it?
Looking at our assumptions with the benefit of hindsight (and data), it’s clear we overlooked some things. For example, let’s consider the SotR changes. Lowering the mastery contribution certainly weakens mastery, there’s no question about that. At low levels, when you don’t have much mastery, the buff to the base mitigation value of SotR should be more than you lose from the mastery contribution, resulting in a stronger SotR and (in theory) a stronger value for haste. But at higher gear levels, it’s actually a net loss in SotR mitigation, which could cause haste to get even weaker.
To illustrate that, our T17H profile here has about 28% mastery. That contributed 21% mitigation to SotR pre-hotfix for a total of 20% + 21% = 41%. But post-hotfix it only gives 14% mitigation, for a total of 25% + 14% = 39%. As you can see, this makes SotR a little weaker, which subsequently makes haste a little weaker.
Which raises the obvious question, “Exactly how much base mitigation must we add to SotR in order to make haste an attractive stat?” So I took my working copy of the code and tweaked the coefficients a bit to try and find out. Here’s what it looks like if you buff the base value to 30%, and keep the +0.5% per point of mastery:
Still behind. Let’s try buffing it to 35% base:
Nope. Not enough yet. Maybe…. 50%?
Well, that helps… but it’s clearly not enough. 70%?
Success! Well, sort of. Haste isn’t the dump stat anymore, but it’s only tied with crit and versatility and multistrike. To push it up a little further we’d need to do something else, or nerf the other stats somehow. Also note that we’re easily hitting the 80% cap on SotR mitigation here, so mastery’s not giving us any extra mitigation through that vector, meaning that this is its value just due to block and attack power.
What this tells us is that SotR mitigation is a really inefficient way to buff haste’s value. It’s taking extreme amounts of change to get any significant bump in haste’s value. We might be able to get to a good spot if we allowed SotR to mitigate 70%+ baseline and removed the mastery component entirely. You could imagine buffing mastery a bit to compensate by increasing its contribution to block chance. But we’re talking about a pretty extreme changes to how SotR works, which is not something to be done lightly.
I also ran one sim with a base mitigation of 25% and the original 1% per point of mastery, just to see how that changed things. Here’s what that looks like:
Mastery gets inflated a lot in this, of course, but haste still doesn’t really recover. That tells us something else: it’s not just the SotR change keeping haste down. The Grand Crusader change is actually having a negative impact as well.
To figure out why, we just need to consider what adding Grand Crusader procs to Crusader Strike and Hammer of the Righteous accomplishes. No matter what gear you’re wearing, this means more holy power income, and subsequently, more SotR uptime. We assumed that this would logically make haste stronger, as we’re now amplifying our HP income more.
But while this change does make each point of haste give us more HP generation, it also increasing the natural uptime on SotR as well due to the extra Grand Crusader procs. In other words, we simultaneously made haste give us more HP generation per point and removed some of the reason we’d want that HP generation in the first place. As it turns out, the latter is the larger effect.
I should add that talents have some impact on this. Sanctified Wrath gives us extra holy power generation from Holy Wrath, which leaves less room in the rotation to make use of those Avenger’s Shield procs. Switching to Divine Purpose does inflate haste’s value a little more:
But it’s not enough to make it a viable competitor with crit or versatility, let alone mastery. Ironically enough, haste was better off before these hotfixes.
Why Is Haste So Bad?
At this point, it’s worth considering why haste is performing so poorly, especially given how well it performed in Mists. Based on these results, it’s clearly not just a simple issue with Shield of the Righteous or Grand Crusader. So where do we point the finger and place blame? The answer is that it’s complicated. It isn’t just one thing dragging haste down. It’s really a combination of several different effects.
First, there were some changes to the damage model. Mists gave us relatively hard-hitting bosses that could easily kill you in 3-4 seconds if your healer looked away. That has slowed somewhat with Warlords, with bosses being a little more deliberate. Whereas taking two back-to-back melees was a serious danger in Mists, it’s a little less fatal in Warlords, in part because of large increases in baseline effective health. As a result, there’s less emphasis on maximizing the uptime of SotR via haste (and the now-defunct hit and expertise) than there was in Mists.
Mechanics also shoulder some of the blame. Many of the changes to spells in Warlords ended up buffing other stats, either directly or indirectly, without appreciably affecting haste. It’s not hard to come up with some examples of this:
- Improved Block makes mastery more valuable, but has almost no effect on other stats.
- Similarly, Holy Shield buffs mastery, but nothing else (well, crit/ap/etc. for DPS obviously, but we’re just considering defensive value here).
- Mastery now grants attack power – this is a huge change that significantly buffed mastery. It already gave us some solid survivability through more blocks and more Shield of the Righteous mitigation, but now we also get the value of a chunk of attack power with every point of mastery.
- Sacred Shield can now crit and multistrike, and benefits from mastery indirectly through attack power. It had none of those synergies in Mists. In addition, with the absence of huge piles of attack power through Vengeance, the value it grants to haste has diminished. In short, in Mists it gave haste a lot of value and nothing to the other stats; in Warlords it now grants some moderate value to all of the stats.
- Likewise, Seal of Insight now benefits from crit, multistrike, and mastery, unlike in Mists. As with Sacred Shield, this mechanic changed from being a primarily haste-focused effect to something that gives a little value to everything.
That’s a lot of buffing to other stats and a fair bit of nerfing to haste.
But that’s not the worst part, in my opinion. No, in fact, I think the biggest reason haste is weak this expansion is entirely unrelated to class mechanics. It’s actually fairly simple: the rating conversion got nerfed, hard.
Consider that in Mists, it took 425 haste rating to get 1% haste, while it took 600 mastery or crit rating to get 1% of either of those stats. Now, of course, we can’t directly equate 1% haste to 1% mastery and say they’re of equal value. But we can draw inferences from relative worth of 1% mastery and 1% mastery, even if we don’t know exactly what that ratio is.
So let’s assume you have 600 points of stat to allocate. In Mists, this gives us either 1.00% mastery or 1.41% haste. Even if 1% mastery is stronger than 1% haste, we get more haste to work with from that 600 points. In fact, as long as 1% haste is at least 71% as effective as 1% mastery is, the haste “wins” from the point of view of itemization (and thus scale factors).
So in short: because we get a lot more haste percentage than we do mastery percentage from equal amounts of rating, gearing for haste can outperform gearing for mastery, even if 1% mastery is more effective than 1% haste.
Now fast-forward to patch 6.0.2. The rating conversions got squished along with everything else. Haste now took 20 points of rating to produce 1% haste, while mastery took 23 points to produce 1% mastery. If we repeat our thought experiment with 23 rating, we get to choose between 1.00% mastery and 1.15% haste. Even in the absence of mechanics changes, that’s a big nerf to how effective haste can be. Numerically, it dropped to 1.15/1.41 = 0.816, or 81.6% of its pre-squish effectiveness. The rating conversion alone just knocked almost 20% off of haste’s value.
Fast-forward to level 100, and the conversion gets even worse. It takes 100 points of haste rating and 110 points of mastery rating to produce 1% of each, respectively. So if we start with 110 points of rating to allocate, we can have either 1.00% mastery or 1.10% haste. Again, the margin just got slimmer, and haste just got weaker. All told, it’s now giving us 1.10/1.41 = 0.780, or 78% of the amount it did in patch 5.4.8. That’s a pretty substantial nerf to the raw power that haste can produce, and it has nothing to do with mechanics.
Just to see how important that is, let’s look back at the original scale factors we calculated pre-hotfix. The table below contains those scale factors, along with an “adjusted” scale factor for haste. To get that adjusted scale factor, I’ve multiplied it’s scale factor by 1/0.78 = 1.282 to represent the value it would have if the rating conversion (relative to mastery) had been similar to the one in Mists. Note how that changes the results:
|Stat||Scale Factor (pre-hotfix)|
That alone puts haste nearly at the top of the heap. The only thing that still beats it is mastery, which we can attribute to the smorgasbord of buffs it got through mechanics changes. Even without further changes, this would be a better state for haste, and we could start looking into ways to reduce mastery’s overly-high value to put it at it’s rightful(?) place atop our priority list.
But I think this nicely illustrates the point: fixing haste isn’t going to be easy. It’s being kept weak by a slew of changes, both mechanical and “numerical” (in the case of the rating conversion), that have just made all of the other stats better.
Where Do We Go From Here?
I’d be remiss if I didn’t give my own suggestions about how to help fix haste. Though, I’ll give them with an obvious disclaimer: both of these hotfixes were changes that I’ve suggested before as ways to improve haste, and we now see how well that turned out!
First, I think it’s clear that Shield of the Righteous isn’t the answer. Unless the devs are willing to fundamentally change how SotR works, it’s just not an effective way to boost haste relative to the other stats.
A fundamental change, like giving it a very large amount of mitigation with no mastery effect, might work at the expense of mastery. Another even more radical change would be to make haste increase its mitigation directly just like mastery does. For example, maybe it mitigates 20% + 0.5% per point of mastery + 0.5% per 1% haste (or more simply, 20% + half of your mastery percent + half of your haste percent).
Likewise, Grand Crusader might not be the right avenue. Maybe if the avoidance-proc portion was removed it would be less detrimental to haste (and would certainly reduce the value of crit and strength). But I’m not certain of that, and we’ve already seen I was horribly wrong about the CS proc portion of the ability.
Despite being a big portion of haste’s value in Mists, Seal of Insight isn’t a great candidate either. Buffing it would simultaneously buff haste, crit, mastery, and multistrike. However, as with SotR, you could imagine some more radical changes that would shift value out of crit, mastery, and multistrike and into haste. For example, if Seal of Insight healed for a fixed percentage of health rather than being based on attack power and spell power. That would make crit, mastery, multistrike, and versatility irrelevant and thus reduce their scale factors. If the fixed percentage of health was higher than the equivalent amount is right now (after accounting for Resolve), that could be a net gain for haste.
I think the smarter avenue at this point is to try and focus on things that affect only haste, or affect haste more directly than other stats. For example, we’ve already seen that a large part of haste’s value was lost to the rating conversion. A simpler fix would be to modify that rating conversion for prot paladins, either directly in the game data or (more likely) indirectly by increasing the rating boost granted by Sacred Duty. If Sacred Duty suddenly increased haste from gear by 30% rather than 5%, haste would be back in business.
Another route is Sanctity of Battle, since that’s where the bulk of haste’s defensive value comes from. Right now it reduces cooldowns by your haste percentage. If it reduced cooldowns by 1.3% for every 1% haste, that would give haste a large boost, much like a rating conversion change would.
You could imagine adding an entirely new effect. For example, something that procs off of melee hits could selectively add value to haste if done right. However, there are a few issues with this. First, it means designing (and re-balancing around) a new effect. The proc effect itself has to be very specific as well – it can’t benefit from mastery, crit, or multistrike, so it would have to be something like a fixed-percent heal or an armor (not bonus armor) buff. And at this point, we’ve basically come up with a slightly redesigned version of Seal of Insight, so the question becomes “is this significantly different enough to warrant making a separate effect?” Still, a random armor proc from melee hits can only help haste’s value, inelegant as it might be.
If we’re going for new effects, though, I think we’re more likely to get something useful if we think about it from a different perspective. Earlier, we discussed the slew of changes that made mastery so much stronger this expansion. Arguably the biggest factor is that it now grants attack power. In other words, we took a stat that was (relatively) weak and added value to it by piggybacking another stat onto it. Riposte does exactly the same thing for crit, in fact. It takes crit, which is weak for survivability on its own, and bolts on a bunch of value due to avoidance.
It isn’t hard to think up ways to do this for haste. The simplest example, perhaps, is to blatantly copy Riposte. Riposte gives you 1 parry rating for every point of crit rating (from gear, anyway, let’s ignore the current issue with buffs). The new “Divine Riposte” could give you 1 point of dodge rating for every point of haste rating. This should give haste extra value without tweaking much in the way of mechanics, and without significantly altering the value of other stats.
There are any number of ways to do this, in varying degrees from “ok I’ll buy that” to “completely breaks immersion.” “Momentum – increases your armor (or bonus armor) by a percent equal to your haste” is on the more logical end. “Shake it Off – reduces the damage you take by half of your haste percentage” is a little less defensible (though obviously, quite effective!). If you want to go to the extreme end of the crazy train, you could tack haste’s effect on to Shining Protector (what sense does that even make?) or cause it to increase your stamina (because sprinting is exactly like long-distance running…).
In any event, my point is that I think the solution to our haste “problem” lies not in a raw mechanics change, but in a subtle, “tack some extra value on to haste” change.
Of course, we should also talk about the elephant in the room. Is the problem that haste is bad, or is the problem that our attunement says we should like haste? Maybe we’re looking at this in entirely the wrong way.
Why not change our attunement to mastery and be done with it? It’s clearly the dominant stat with the current mechanics. We’re going to extreme lengths here to try and shift value around to make haste better to match our attunement, potentially causing a lot of collateral damage in the process. It might just be easier to switch our attunement, not to mention less disruptive. Plus, many of us remember the days of Cataclysm when we loved mastery to death, so it’s not like we don’t have a precedent for being a mastery spec.
I think this highlights one of the problems of the attunement system, which is something I pointed out in several conversations during beta. The attunement system puts an additional (and in my opinion unnecessary) constraint on class design. You might have a great set of mechanics cooked up for a class, only to find that it shifts their stat priority and makes their attunement “wrong.”
This is problematic even for the simple case of a DPS class. I say “simple” because DPS is a fairly robust metric – easy to calculate, easy to test, and fairly reliable. But even within DPS, we find that the effects of crit, haste, and mastery (and other stats) are multiplicative. In other words, let’s say haste, mastery, and crit are perfectly balanced when you have 0% of each, such that each gives exactly the same amount of DPS. If you stack 20% haste (and no mastery or crit), you will find that mastery and crit are now stronger than haste, and this will be reflected in scale factors. Likewise, if you stacked 20% crit, mastery and haste would be the strong stats.
The details vary from class to class due to mechanics, but in the most basic model you would want an equal mix of haste, mastery, and crit (by percent, of course, not rating). This isn’t news to anybody who’s theorycrafted a DPS class. If you played Retribution in Mists at all, you may have heard the advice “stack haste to 40%, then crit/mastery” – this was the reason for that advice. Stack enough haste, and you make crit and mastery strong enough to overtake it.
Which means that no matter what, at some point your attunement “advice” is going to be wrong. Especially if you start with very close stat weights, which was the stated intent this expansion.
Now consider how much harder your job gets as a designer if you want to do this for tank classes. First of all, how do you even decide which stat is strong? We looked only at TMI here, but we could have considered DTPS or DPS. Which is correct? Or do we look at a mix? If so, what mix?
Furthermore, TMI is a fairly arbitrary metric, all told. You could devise a different metric for measuring smoothness and get slightly different results. In fact, you see this if you change the window size on TMI; the default TMI with a 6-second window (aka TMI-6) may give you different results than a TMI-4 or TMI-8 measurement. Which is correct?
There’s no good answer to that question, which is one reason I was skeptical of the attunement system for tanks. If they had designed the class such that haste is our best DTPS stat but horrible for TMI, and TMI turned out to be the more relevant metric for tanking in the first tier, then the majority of the community would be ignoring that attunement anyway.
And then there’s the question of tank balance – will we keep up with other tanks if they’re getting 5% more of their favorite stat and we’re trying to get rid of as much of our attuned stat as possible? Of course, the other tanks could have exactly the same problem….
I think what we have here is a prime example of where the attunement system goes wrong. Instead of just developing cool mechanics and letting the stats fall where they may, it’s acting as a constraint. Instead of just making sure that play is fluid and mechanics are solid, we’re tweaking things in an attempt to satisfy this “haste>all” edict. It’s worth pausing to reflect on whether this is a smart idea or not before proceeding with further changes.
This is one reason I wouldn’t mind a bit if the attunement system disappeared in the next context patch. I get the point – to guide newer or inexperienced players. But I think that it’s more likely to end up being a trap than a help. I’d rather see the system removed and a small bit of text added to the “Core Abilities” tab of the spellbook. Something like, “As a protection paladin, you benefit greatly from Strength, Stamina, and
HasteMastery.” That way, it can be updated based on how the stats shake out rather than acting as a constraint on design.
As usual, there are limitations. I’ve only simmed a small subset of the possibilities, particularly choice of talents (Holy Shield, Sanctified Wrath) and gear (mastery-heavy). It’s always possible (if unlikely) that in a different gear set or talent configuration, haste gained some ground. I’d love to be able to sim a larger swath of configurations, but there’s only so much CPU time available, and it’s the night before Thanksgiving, and I’d rather be playing the expansion than simming it at the moment.
It’s also possible that I’ve missed something, which is why I try to provide as much of the data as I can. If you see an egregious error or something that looks fishy, please don’t hesitate to write a comment and ask about it. The goal of this blog was never “Theck tells you how it is and shouldn’t be questioned.” It has always been an independent place for me to host my work so that it can be subject to peer review and community discussion.