In this [Editor's note: not-so-] mini-post, I’d like to explore changes that are being made to Chain Heal in Warlords, and then look closely at the Restoration Shaman level 100 Talent High Tide, specifically a particular aspect of the Talent that came to light via Twitter. (Seriously, if you want to keep up-to-date with WoW stuff, following Twitter is the best way. If you hate social media, or just don’t care for Twitter itself, there’s always Wowhead’s super awesome “Blue Tweet Tracker” to help you stay abreast of new developments.)
But first, a brief aside – based off Twitter chatter, I’m pretty sure Stoove of Icy Veins and the UNconstant blog is working on a full-blown statistical Chain Heal model that will eventually blow all of my very unsophisticated analysis out of the water – something that’ll account for varying damage patterns, varying raid positioning, raid health, and all sorts of goodies. And I’ve been having Haileaus over at The Shadowy Dancer (yes, a Rogue!, but a helpful one … who knew they existed?) work on something for me, as well, though with the limited parameters and naive assumptions I gave him, I very much doubt it’ll be as thorough as Stoove’s.
In no way do I intend to step on either of these bloggers’ toes with this analysis. (And you two, I apologise in advance if you feel that I have, but rest assured that I’ll be linking/updating/writing about your efforts when you have finished them, and will do everything I can, from my limited platform, to make sure you get the recognition you will most definitely deserve!)
I’ve had this topic on my mind ever since I chatted with Celestalon about it the night of the patch note release, and if I didn’t put it down on paper I was going to go frickin’ insane. My curiosity was piqued by Celestalon’s assertion about how High Tide would change our personal Chain Heal targeting algorithm:
Before I can really unpack what this means, I’m going to have to talk with you guys a bit about the way Chain Heal works now and how it is going to function in Warlords, what the High Tide Talent is going to do, and a little bit of statistics. Whee!
Breaking the Chains of Habit
Perhaps the Shaman change I am most excited about in Warlords of Draenor is the return of Chain Heal’s drop-off as it bounces from target to target. It’s another nerf to a class’s ability to deal AoE healing – which I’ll continue to argue is in the general spirit of the overall changes to the healing game – and it’s a welcome one at that!
Right now, we don’t really have to care who we target with our Chain Heal, because it selects its targets very smartly, and every bounce will do the same amount of healing. And because the game’s smart targeting is much faster than our personal reaction time could ever be – and because we have to fight with other smart heals flying around the raid unpredictably – it is very rare that actually using our brains and making a decision about who to Chain Heal is a throughput increase.
I could write a huge rant on this (in fact, I just deleted one), but the important, distilled points are:
- The game selects targets and reacts to incoming random damage faster than we could.
- Because smart heals are flying around all the time in a typical 25-player raid, and damage is often randomised as well, it’s very difficult to predict who will be in need of healing at the end of a Chain Heal cast.
- By casting Chain Heal in advance of damage, we ensure that when the Chain Heal lands, we are healing the three most injured targets in the raid (and whoever we chose to cast it at, who may or may not be injured any longer, even if s/he was at the start of the cast).
- Riptide can only cover a small subset of the raid at any time, so in fights with unpredictable damage elements, it’s essentially random whether the most injured targets have Riptide already.
- If the most injured target in your raid doesn’t have Riptide active, casting Riptide on them instead of Chain Heal may be a throughput loss on that target (the RT initial hit is about half of a non-RT-boosted Chain Heal, and with all those smart heals flying around, you can’t rely much on the RT ticks for effective healing; you need more than 2 fully effective ticks to equal an un-Riptide-empowered Chain Heal, and more than 3 for a Riptide-empowered Chain Heal).
- You may as well cast on a Riptided target whether they need healing or not, because in the worst-case scenario where that player needs no healing, you get 94% of the throughput you would have gotten if you chose an injured, but non-Riptided target. (3.75X vs 4X, where X is the amount of healing CH does to a single player.)
- This all lends to a mindless Chain Heal strategy of: select player(s) to keep Riptide on, use them as Chain Heal turret(s). At worst, this is 75% of the maximum throughput (3.75X compared to 5X) you could otherwise achieve if you engaged your brain and circumstances allowed it; I’d argue that a lot of the time, it’s quite a bit better than that, because of the first two points in this list.
One way the game can create incentives for us to thoughtfully select Chain Heal targets, and occasionally not choose the Riptided players even when they’re on full, is to restore Chain Heal’s drop-off effect. When the game is assigning the second, third, and fourth bounces of our Chain Heal under this model, those heals are smaller than the heal that lands on the target we chose – which means that we are rewarded for choosing intelligently.
This was the case for us pre-5.4, where Chain Heal decreased by 30% each time it jumped to a new target, and I’ll compare the numbers to the ones I calculated above to illustrate how this behaviour encouraged us to think. A fully effective Chain Heal in Throne of Thunder healed for 2.533X, and if it was Riptide-empowered, 3.17X. If that first target didn’t need healing, though, the Riptide-empowered Chain Heal only dealt 1.92X healing – a mere 60% of our maximum throughput and only 75% of our un-empowered Chain Heal. This was a much higher price to pay for wasting that first heal on an uninjured target, and that meant we were much better off with more mindful Riptide placement and more attentive Chain Heal targeting.
Looking ahead to Warlords, there are two changes that are designed to make us choose our initial targets carefully – first, the diminishing heal per bounce is being restored. To make it less painful for us, the drop-off is only 15% instead of the 30% it was pre-5.4, but the drop-off is still there.
Secondly, one of the Draenor leveling perks provides us with a 50% bonus to healing done to the first target of our Chain Heal. This is a huge incentive to ensure that we cast Chain Heal on a player whose health deficit can withstand the entire brunt of the first Chain Heal hit, because we’re not going to get that 50% bonus anywhere else.
So let’s do the math the same way I did before, for 5.4 and pre-5.4 Chain Heal:
- Chain Heal still heals a target for X, so a fully effective Chain Heal in Warlords will heal for 1.5X + 0.85X + 0.852X + 0.853X, or 3.69X.
- If the first target had Riptide, this is increased to 4.61X.
- If the first target had Riptide, but was on full health when Chain Heal landed, they are healed for 1.25*(0.85X + 0.852X + 0.853X), or 2.73X.
- This is less than 60% of our maximum potential throughput, and less than 75% of casting our Chain Heal instead on an un-Riptided player who was injured.
These numbers are pretty close to the pre-5.4 numbers, but obviously larger individually because Chain Heal no longer drops off quite so steeply. (Of course, the size of X in WoD may not match the size of X in Mists, so you can’t go drawing any conclusions about how powerful individual Chain Heal casts are going to be in Warlords based off this analysis.)
The penalty for choosing poorly in Warlords is going to be high – higher than it’s been in MoP. But that means that the reward for choosing well is also high – and this should encourage us to eschew the mindless Chain Heal style of healing even in farm content, which is a change I am going to embrace more fervently than I would hug a bag full of puppies.
(Okay, well. That depends on the fluffiness and cuteness quotients of said puppies. But, I digress…)
High Tide, Slack Tide
Of course, now that I’ve gotten you all excited about how amazing it’s going to be to have a Chain Heal with some fall-off in WoD, I’m going to have to break your hearts.
Sit down, have a cookie. Shall I make you a cup of tea? Would you like one of those fluffy puppies to hold?
The Level 100 Talent High Tide will remove the fall-off from Chain Heal.
So it’ll be just like 5.4 …
Only much, much better, because it also adds up to three bounces to our Chain Heal – bouncing to up to three targets who are affected by Riptide!
Taking this talent has the potential to double the healing dealt by each Chain Heal cast. (I’ll be walking you through this math later.)
Because we are losing the fall-off, but keeping the 50% bonus to the first target, it’s still a bad idea to waste the first Chain Heal hit on a full-health Riptided target, compared to healing a non-Riptided, injured target. But it’s a much less bad idea with this Talent than without – it can range from 67-80% of our maximum throughput, depending on how many Riptides you have out (and why it depends on that, we’ll get into later). At 80% and above, it’s potentially worth it, but that requires the upkeep of 7+ Riptide targets every time you Chain Heal – which clearly mandates the Glyph of Riptide.
Note that I say potentially, when before I was willing to claim that an even larger theoretical throughput loss was worth taking for the convenience of not having to ever engage your brain. “Dayani,” you should be asking me, “what’s up with that?”
Well, what is up with that is that smart heal technology is changing, so smart heals will no longer flock to the most injured player in the raid, but will choose randomly amongst them. This means that all the flying-around smart heals that today are so vexing will be less smart, and players who are heavily injured will no longer be the most prominent recipients of those heals. It will be more likely that the target you started casting Chain Heal on will still be hurt by the time you finish – well, depending of course on the number of smart heals available, their size, and the number of injured targets for them to choose from.
In other words, as smart heals become less smart, your input becomes more important, and this even further minimises the benefit you get from relying on the game to choose targets for you.
I haven’t done a full-blown statistical analysis of this yet, but I suspect that when you combine these effects, the incentive to target Chain Heal on the most injured player will be even higher than I’ve estimated above, whether you take High Tide or not. (In fact, if the damage and healing models are changing so drastically that we are spending a lot of time below full health even outside of burst damage phases, it’s possible that we’ll be just fine casting Riptide before every Chain Heal to ensure we are eking the maximum benefit out of each cast, and all that mathing I did above will simply not be relevant. I’m not sold on this yet, but once I get a better picture of all the changes to come, I’ll revisit this point.)
From the Tide Pool to the Stars
I promise you, I am getting to the point.
Everything you’ve just read has been in the service of establishing that in general, we should want to target our Chain Heals on players who have Riptide active, and who have a health deficit. Targeting an un-Riptided player is only worth doing if you can’t select an appropriate Riptided player. But then Celestalon’s Tweet above – the first one, I mean, about “wanting to target un-Riptided players” – threw me for a loop. Had they in fact created a situation where, with High Tide selected, our usual Chain Heal targeting algorithms would be turned on their head?
To answer this, I had to first unpack a little bit of information about how High Tide works. First, the game will select Chain Heal targets by its usual method – looking for players who are in range of your initial target, and injured. Once those targets are selected, it will then target up to three players with Riptide, preferring injured Riptide targets over non-injured Riptide targets, provided that those players have not already been selected for Chain Heal. In other words, Chain Heal’s usual mechanics can “steal” targets out of your High Tide’s target pool, lowering its effectiveness, if Chain Heal happens to randomly bounce to players with Riptide on them.
For the rest of this post I’m going to call these two targeting mechanisms “usual” and “Tide”. And the targets who are eligible for “usual” targeting will be called the “usual pool”, and the targets who are eligible for “Tide” targeting will be called the “Tide” pool. Hah. That’s a thing! And for the purposes of this discussion, I’m going to ignore the first Chain Heal hit, because you’re choosing it manually, so it is not subject to statistical evaluation – I’m just going to talk about the Chain Heal hits the game chooses for you.
In other words, let’s postulate you are fighting a boss, and you are incredibly good at predicting who will take damage. You throw out only three Riptides on the three players who are most likely to take damage in the next 15 seconds. Only those three players take damage. You cast Chain Heal.
Chain Heal is going to bounce via its usual mechanics to those three players, because they are the only targets in the usual pool. That means that when the Tide mechanic kicks in, the Tide pool is empty, and you will get zero extra bounces. This is what happens when your usual pool equals your Tide pool.
Now let’s increase the number of damaged targets from three, to, say, five. Because you’re amazing, you still have Riptide up on three of them. Chain Heal now has five targets in its usual pool instead of three, and the Tide pool is completely contained within the usual pool. If I’ve done my math right, this works out as:
- A 0% chance that none of Chain Heal’s usual targets will be in the Tide pool, resulting in 3 extra High Tide bounces – there simply aren’t enough un-Riptided targets for this to occur, it’s impossible.
- A 30% chance that one of Chain Heal’s usual targets will be in the Tide pool, resulting in 2 extra High Tide bounces.
- A 60% chance that two of Chain Heal’s usual targets will be in the Tide pool, resulting in 1 extra High Tide bounce.
- A 10% chance that all three of Chain Heal’s usual targets will be in the Tide pool, resulting in 0 extra High Tide bounces.
The extra bounces you get from High Tide can be expressed as a weighted average of these possibilities: 0*3 + 0.3*2 + 0.6*1 + 0.1*0 = 1.2 extra High Tide bounces on average.
There’s a trend here that I don’t have the patience or statistical know-how to illustrate to you, but that should be readily apparent from extrapolating these examples. The efficacy of High Tide depends on the number of Riptides available in the raid and the number of injured targets in the raid, but also on the amount of overlap between the usual pool and the Tide pool.
Now this brings us finally to Celestalon’s tweet. If Chain Heal selecting Riptided targets is “stealing” away from High Tide’s effectiveness, doesn’t this mean that targeting a Riptided player with your Chain Heal is also stealing away from High Tide’s effectiveness?
And that is the question I set out to answer.
The short answer is no. Even if you take High Tide – even if you take Glyph of Riptide – you should still be targeting a Riptided player first.
I’ll start with that very simple example above, where I’ve already worked out the probabilities for each case. We have to now re-introduce one additional variable – whether the previously ignored, initial Chain Heal target had Riptide or not. We’ll now assume that you had two players outside of this 5-person “usual” pool who you were using as Chain Heal turrets – one with Riptide up, and one without – and you were choosing your turret based solely off of which one of them was injured. (Yes, this is a strange assumption, but it’s necessary to do this to keep the same basic statistics as above, and make the example easier for people who are not statistically inclined.)
I’ll call these scenarios “RT bonus” – the scenario in which you chose the Riptided turret – and “no RT bonus” – the scenario in which you chose the non-Riptided turret. In the no-RT bonus trials, I will add one extra High Tide target to the pool, because High Tide will bounce to your Riptided turret as well. This avoids biasing the results.
The basic calculation for how much each Chain Heal will heal for is 1.5+3+n, where n is the number of High Tide-generated extra bounces you get out of the scenario we’re calculating for. In the examples above, n ranges from 0 to 3, with 3 being impossible due to the sample sizes we chose. For the “RT bonus” calculations, the sum 1.5+3+n is multiplied by 1.25 to account for the Riptide bonus. For the “no RT bonus” calculations, n is inflated to 1-4, to account for the extra Riptide target. As above, I calculate the raw healing of each possibility individually, then multiply by the probability of that possibility occuring to achieve an adjusted healing value. The average healing of a Chain Heal with an RT bonus versus no RT bonus is the sum of the adjusted healing values.
Here’s the results, in handy table format:
|High Tide Outcomes: 5 Injured Targets, 3 with Riptide|
|Riptide Bonus||No Riptide Bonus|
|n||p||Raw Healing||Adj Healing||n||p||Raw Healing||Adj Healing|
|Average CH Heal:||7.125||Average CH Heal:||6.7|
This is just for one value of existent Riptides, and for a very strange damage pattern/Riptide configuration. To analyse the full range of possible number of injured targets versus possible number of Riptides on the raid would take me way too much brainpower, and that’s what I’m hoping the computer models being worked on by Stoove and Haileaus will allow us to do in a more efficient manner. But I’m confident that the results are not wildly erratic – that in general, it’s always going to be better to Chain Heal off a Riptided target than to not.
However, I did want to do something at least a little statistically rigorous and examine the effect that the Glyph of Riptide might have on the results. To that aim I did a simple statistical simulation under the following assumptions:
- The whole Mythic raid is stacked, so range is never an issue.
- The entire raid is taking heavy AoE damage, e.g. Megaera’s Rampage phase, so there are plenty of effective Chain Heal and Riptide targets and I don’t have to worry about overhealing.
- The three usual bounces of Chain Heal are thus chosen completely at random from the 19 players eligible to receive them, since they are all injured.
- The 25% Riptide bonus is still in effect.
Fortunately, since High Tide caps out at 3 additional bounces, there was no need to do any analysis beyond 7 Riptides (the maximum number of bounces of Chain Heal under this Talent). All I had to model was the likelihood of the following situations occurring:
- None of the usual Chain Heal bounces target Riptided players
- One of the usual Chain Heal bounces targets a Riptided player
- Two of the usual Chain Heal bounces target a Riptided player
- Three of the usual Chain Heal bounces target a Riptided player
Since I’m pretty bad at thinking about statistics without having some concrete examples in front of me, I had to draw these up and derive equations to describe the probabilities of each situation. Here’s an example for the “RT bonus” data set – those of you more statistically inclined will probably giggle at my brute-force methods or perhaps find some flaws, and I’m way open to being corrected – just leave a comment :)
Once I derived the equations, I was able to do as I did before with the smaller example – identify the amount of healing dealt in each of these situations, modify it by the probability of those situations occurring, and sum the adjusted values to determine an average value for Chain Heals cast at any number of Riptide targets. As before, I modified the “RT bonus” values by 1.25 to indicate the Riptide throughput bonus, and modified the “no RT bonus” values by adding an extra bounce of Chain Heal. Then I plotted the average healing done by High Tide Chain Heals as a function of Riptides active in the raid:
As you can see, there are no situations in this model where targeting a Riptided player is in any way worse than targeting a non-Riptided player. In fact, unless you have zero Riptides active, you should always be targeting a Riptided player. It is always better.
One opinion of mine that I feel this graph bolsters is that Glyph of Riptide ought to be removed. Frankly, it doesn’t play well with three of the new Warlords dynamics: Improved Riptide, the Draenor perk that reduces Riptide’s cooldown; Echo of the Elements, which grants us a no-CD Riptide proc; and High Tide, where equipping Glyph of Riptide more than doubles the output of our Chain Heals, and provides IMO too much synergy with the Talent, making the talent potentially too powerful.
This latter interaction may not be seen by the developers as a problem yet, but I do think it is one – I don’t like when a Talent and a Glyph (or a Talent and another Talent, or a Glyph and another Glyph for that matter) are so intimately linked. And while I haven’t fully analysed the other Talents on this tier yet, just conceptually, if High Tide is balanced against the other two without Glyph of Riptide, then it will be overpowered with Glyph of Riptide, and if it is balanced against the other two with Glyph of Riptide, then it will be underpowered without Glyph of Riptide. I just don’t see a way to solve this conundrum, let alone the Draenor perk and the Echo mechanic, without removing the Glyph.
Of course, we’d want another tool to help us with spread healing – but we could always take High Tide for that, and Rushing Streams is still OP as all get-out.
All ‘Tide Up
So, it wasn’t better to cast Chain Heal on a non-Riptided target when the entire raid is damaged. And it wasn’t better to cast Chain Heal on a non-Riptided target when only a small subset of the raid was damaged. So when is it better to cast Chain Heal on a non-Riptided target?
The answer is still, “if you can’t select an appropriate Riptided target, and you don’t have time to cast Riptide on an appropriate target first”. And as I previously mentioned, that could be entirely eliminated by the new healing model – but I’m skeptical.
However, there’s another way that the balance here could be disturbed – if our Riptide bonus was adjusted downward, to make it less of an incentive to cast Chain Heal on a Riptided target in the first place, our extra High Tide bounces generated by selecting a non-Riptided target could pull that strategy ahead. But just how low would we have to go?
It turns out this depends on the number of Riptides active on the raid. There is no Riptide bonus that could ever make choosing a non-Riptided target do more throughput if you have more than 4 Riptides active on the raid – so basically, the developers are not going to ever be able to counteract the Glyph of Riptide/High Tide synergy by tuning down the Riptide bonus. Well, okay. They could make it a Riptide penalty instead, and that’d do the trick.
But for unglyphed Riptide, the Riptide bonus would have to drop to 5% in order to make it worth casting Chain Heal on a non-Riptided target when you have talented in to High Tide.
And with a bonus that low, what’s the point of having it?
The other possible way they could tune this is by reducing the size of the primary-target bonus, but personally, I think that’s a bad idea. After all, we won’t always have High Tide, and without the 50% primary-target bonus, we’re likely to default back to our target-agnostic, mindless CH spamming ways. The primary-target bonus is great, an excellent way to keep our overall AoE healing in check while still granting us a reward for making intelligent healing decisions.
One conclusion to draw here is that the Riptide bonus could just be removed. I wouldn’t be sad to see it go – the 50% primary-target bonus is sufficient to make us want to be certain we are targeting an injured player. (In this world with no Riptide bonus, but the Draenor perk of 50% primary-target bonus remains, Chain Healing a full-health target results in less than 60% of our Chain Heal’s maximum throughput – still a strong incentive to target the right player.)
Let’s be frank: the Riptide bonus only exists to clear up one major Resto Shaman problem that has existed since the introduction of Riptide-dependent Tidal Waves. A large-format raider does not tend to use Tidal Waves procs, because they cast Riptide on CD to generate stacks, then cast Chain Heal as filler. Chain Heal doesn’t benefit from Tidal Waves, because developers do not want CH to be too strong and put us back into the Wrath healing playstyle of “CH all the things” (*cough*). Chain Heal in fact generates Tidal Waves. So giving it a bonus when used on Riptided players just helps alleviate this conflict.
However, in Warlords, we will presumably have a lot of incentive to use our Tidal Waves charges up, especially early in the expansion when we are still gasping for mana. With AoE healing becoming less prominent, there’s no choice but for single-target healing to become more prominent, and Resto Shamans’ single-target healing kit is going to be the most diverse of any healer because of both spells’ interaction with Tidal Waves. So we don’t really have this tension anymore – we’ll be using those Tidal Waves stacks whether they come from Riptide or Chain Heal – and the Riptide bonus is unnecessary.
And in fact, I’ve always felt that the Riptide/Chain Heal interaction created a new, potentially more annoying conflict. It ties our AoE healing to three ‘pillars’ in the fight – our three Riptide targets – and targets who are Riptided are slightly more likely to be on high health than targets who aren’t Riptided, since being Riptided means you’re receiving heals already. Feeling obligated to cast a single-target heal to power up our AoE also isn’t great (c.f. the removal of Unleash Life’s affect on Healing Rain), and it’s always annoyed me that after casting that Riptide, the target is now a less suitable first-Chain-Heal-hit target. Yeah, I’ve convinced myself – let’s get rid of it :)
With no Riptide bonus to consider, it then becomes viable to cast Chain Heal simply on the most injured target every time. Perhaps this is less nuanced than the developers would like, but I for one think it has plenty of depth. It would also add depth to our High Tide targeting:
If it really is the developers’ intent to make High Tide change our target selection criteria, then I think they’ll have to remove the Riptide bonus.
- Chain Heal will take more thought now, but depending on how the smart healing tech changes pan out, maybe not much more;
- High Tide has the potential to be very powerful, especially with Glyph of Riptide;
- There’s no circumstance under which you should cast Chain Heal on an un-Riptided target with the High Tide Talent (unless we find an outlying scenario between the examples I’ve provided).
- Dayani hates fun and wants the Riptide Glyph and CH bonuses removed :P
We still don’t know how powerful High Tide will be compared to the other two Talents – I’m waiting for confirmation that the data-mined tooltips are somewhat accurate before I start going down that path.
What do you think of High Tide, or Chain Heal’s mechanics in general? Did I get something embarrassingly wrong? Drop me a line and let me know :)