Friday, April 1, 2011

[Bear] The best case for Savage Defense

TL;DR version:
If you take anything from this article, take this bit: to maximize SD uptime make sure that mauls happen on your special attacks' cooldown, so the rotation for multitarget mobs looks like this:
swipe/thrash&maul/swipe/mangle&maul

Obviously you can do demo roar or lacerate or whatever on that mangle bit, but maul is the key thing here. That also means to maximize your SD procs now, you should be doing something like this:
swipe/mangle&maul/thrash/lacerate&maul
Though in practice this doesn't work as you need to have the swipe & thrash right away to get the best threat.

Anyway, onto the article.

Savage defense is getting a nice buff in the 4.1 patch, in case you hadn't heard. It will go from having one charge that is used up regardless of attack strength (more on that in a second) to an absorption shield that will absorb the same amount of damage maximum that it could before, but will not go away with partial hits.


So yay! It's now a fully fledged PW:S that only works on physical attacks! That's awesome, and it fixes bears and makes it just as good as shield block or DK heals or...

Okay, that's not true. Sadly.

As Ahti put it very well on the tanking forums recently:

The problem is that the upper bound on this is set extremely low compared to
blocking (and compared to Blood Shield, I guess, although I'd prefer to stick
with the blocking comparison for simplicity's sake). And many encounters already
have add situations that push past that upper bound.You don't need that many
adds hitting you (and they don't need to be hitting that hard) before you reach
the point where the probability is that every single Savage Defense proc is
consumed before you can possibly generate another one. Past that point, you'll
continue to take more damage, but Savage Defense won't get any better - whereas
for a warrior or paladin, block will scale upwards indefinitely.



Yep. But what is that upwards bound? Let's go with the best case scenario here.

Let's assume that you get an SD proc whenever you can. That means you get one every 2.4 seconds (minus haste) for each autoattack, and you get one every 1.5 seconds for every special attack, and you get one every 3 seconds for every maul. This averages out to a SD proc every 1.03 seconds. Note that this is insanely optimistic - it assumes a crit on each of those attacks AND a SD proc on each crit ,which is only 50% of the time. But again - this is the maximum upper bound you can possibly get.

For ease of computation we'll go with a 20k shield. That means every 1.03 seconds we can absorb 20,000 damage intake before taking any more physical damage. Again, sounds pretty awesome - and then it refreshes magically after that 1.03 seconds later. (note that it doesn't; SD doesn't happen every 1.03 seconds but happens on attack boundaries, so you can get times where you don't have much happening and then times when you have many procs - but 1.03 seconds is the average and will be easy to work with.

Now, let's go comparing to a blocker, who always blocks 30% of all damage. They're block capped, so they will always reduce damage by 30% no matter what.

Where do these things become equivalent? That's pretty easy to figure. It's simply when 20k/1.03 seconds = 30% of incoming DPS. And that turns out to be 64.7k DPS.

This means that whenever you're taking more than 64.7k DPS, no matter what, Savage defense will be worse than block. Of course that changes as you add more SD shielding.

The real trick is that the above is completely insane with respect to the number of expected procs, especially in a single target scenario. For a multitarget you can expect multiple crits per swipe/thrash, so you'll often see a shield every 1.5 seconds. But you'll also be without a swipe/thrash every 4.5 seconds - and you're not guaranteed to get a shield even when you swipe.

Realistically how many shields do bears get? It's tough to say. Another problem is that shields can get overwritten without being used at all, especially on attack boundaries where the normal attack lines up with the special attack. And since Maul always lines up with a special attack, any time you get a crit with the special attack and a shield with it (like with swipe) chances are that you're not going to get two shields worth anything.

Actually, that's a good point: to maximize SD uptime on multimob packs you should always - ALWAYS - time it so that a maul happens when both swipe and thrash are on CD. So it should look a lot like this:
swipe/thrash and maul/swipe/mangle and maul as the rotation for trash.

But realistically you get one every time you swipe or thrash and then one kinda randomly after that. The random part is the most frustrating part; some times shields will be completely wasted as they get refreshed every .6 seconds or so, like this:

[19:23:22.825] Maeltne Mangle Halfus Wyrmbreaker *30730*
[19:23:22.878] Maeltne casts Maul on Halfus Wyrmbreaker
[19:23:23.148] Maeltne's Savage Defense is refreshed by Maeltne
[19:23:23.228] Maeltne Maul Halfus Wyrmbreaker *18089*
[19:23:23.666] Maeltne's Savage Defense is refreshed by Maeltne
(this one is fine, as both the mangle and the maul procced SD)

[19:23:50.678] Maeltne crits Halfus Wyrmbreaker *12134*
[19:23:51.194] Maeltne casts Thrash
[19:23:51.448] Maeltne Thrash Storm Rider *8881*
[19:23:51.448] Maeltne Thrash Nether Scion 4456
[19:23:51.448] Maeltne Thrash Halfus Wyrmbreaker *9167*
[19:23:51.285] Maeltne's Savage Defense is refreshed by Maeltne
[19:23:51.590] Maeltne's Savage Defense is refreshed by Maeltne
[19:23:51.590] Maeltne's Savage Defense is refreshed by Maeltne
(this one's more frustrating, as that second SD proc just goes to waste)
All those refreshes are basically wasted here.

Ugh, this is making me mad about SD all over again. This is also why it's much more important to look at SD uptime and not number of SD procs when doing SD analysis. Or if you like, just look at the amount of damage SD absorbed.
Anyway - the important thing to note is that while having partial SD absorbs is nice, it doesn't fix a lot of the issues with SD. SD still doesn't scale infinitely like block does, so at some points it simply will be worse than block for mitigation of damage (like on heroic Nefarian currently). At other points it will be better. Sometimes it (like WotLK-era block) will be WAY better than avoidance or partial blocks, as it will reduce far more than 30%; a great example of this is when you can assume you'll get a SD shield every 1.5 seconds and you won't get physically attacked for more than your shield strength, you'll be effectively invulnerable during this time. When 4.1 hits, try out going to Kara and seeing how silly it is. My gut feeling is that you'll be able to do most trash that doesn't have heavy magical components without losing almost any health.
This, among other things, makes old-world content far easier. 15k shields every 1.5 seconds when you're taking 15k damage every 1.5 seconds sounds a lot like most heroics from before and some raid content. This wasn't nearly as good when one hit removed the shield and then the rest piled on (though with latency and the spell reflect bug, that wasn't always the case and often many attacks got absorbed), but now it should be significantly better.
But for current heroics and raids, it doesn't help a lot. The cases where you are going to get a shield and the shield would have been not used up AND would not be refreshed before being used up are small in raids. Most multimob scenarios in raids have mobs hitting for 10-12k each, and while it adds a bit more value here it doesn't add so much as you could reasonably expect to have a shield up fairly quickly. On mobs that hit for more than the shield strength anyway (Mal adds, as an example) this change does literally nothing for you.

7 comments:

ThRiNiDiR said...

Hey Kalon,

Always a pleasure reading your posts. Never was any good at number crunching, but I try to stay in touch with the theorycrafting you and other dedicated bears produce.

An extra explanation on the AoE rotation, if you would (got confused by all the slashes and &). If I got it right it should look something like this:
1.swipe
2.thrash&maul (possibly macroed?)
3.swipe
4.mangle&maul (possibly macroed?)
(repeat the cycle)

How about single target rotation? Trash on cooldown and Swipe as filler instead of lacerate?

Thanks for taking the time

Ohken said...

If swipe hits multiple targets and crits, does your SD increase for each target struck?

If it did, then it would keep on scaling to larger numbers of mobs. It wouldn't scale to larger individual mobs, but that's a different story.

Kalon said...

ThRiNiDiR - yeah, that's right. The rotation would be
swipe
thrash & maul
swipe
Mangle & maul

This doesn't quite work as a castsequence because ideally you want to do the maul second, not first - and as far as I know there's no way to do multiple things at the same time in a castsequence with 'filler'. In other words you'd want ideally to do this:

/castsequence swipe,thrash,swipe,mangle
/castsequence none,maul,none,maul
as a macro. But 'none' isn't an option for that. And you don't want to necessarily do 'maul,maul,maul, maul' either, as that'll od the maul with the swipes. Nor do you want to change it to start with thrash and go to mangle, as you'll need a ton of rage to do that regularly.

Probably could do it with a button click macro (where you say to click this button as part of the castsequence) and then macro thrash/maul and mangle/maul together. That would likely work.

On single target, thrash still rocks on CD. Swipe isn't as good as lacerate - yet - but it will get there sometime in 4.2, assuming nothing changes.

Ohken - that's the real rub. That would make bears kind of insane for multiple mobs even if it stacked just a little bit; it's very easy to get a ton of SD procs quickly. But for single targets it really wouldn't help that much. Note that it would help some on single targets; in the example I gave Maeltne had a number of 'refresh SD" when he was only tanking one mob, so that would help there.

The problem is that you're still dealing with an ability that has nothing to do with damage taken. So again it will either be not good enough (because it doesn't prevent enough damage) or too good (because it blocks way more than block does). It would at least make me less frustrated with it :)

nica@stormscale said...

@Kal

Awesome find, and interpretation, albeit a bit depressing to see some of the luster of the 4.1 SD changes taken away.

As for the macro, would this work, or am I living in the past?

/cast Thrash
/cast !Maul

Jon said...

Since Maul is off the GCD you could actually do:

/castsequence Swipe(Bear Form),Thrash,Maul,Swipe(Bear Form),Magle,Maul

Keep in mind this works well if you're getting hit pretty hard but may not work so well in say a heroic (rage starved)

Ohken said...

There is some hope Blizzard will change SD to stack. They have already made that exact change for DKs. It used to be that new blood shields would eradicate the previous one, but now they add on to any shield already there.

Surely they don't think the non-stacking makes for a fun game mechanic.

Wenselaas said...

Is there any gain from "staggering" maul from our specials? What I mean is using Maul maybe half a second after thrash/mangle? That way wouldn't you avoid extra SD from maul that wouldn't stack with the ones from thrash. If you're getting hit often enough and hard enough where SD is consumed near instantaneously, I feel that waiting a tiny bit before using Maul could create an opportunity for more SD procs (which would then be consumed by the time the GCD was up and you could hit swipe again).