6.2 Tiger Strikes uptime

Update: Geodew has correctly pointed out that because of the low amount of proc events within the duration of the buff, and because you can’t have partial attacks, the Poisson process is not valid. Check back for a corrected post later today. (view the bottom of this post, and the comments, for the conclusion I came to with Hamlet)

As we covered earlier in the 6.2 first look, the structure of Tiger Strikes is changing. It’s losing the ability to proc from multistrikes, but increasing the amount of multistrike it gives when it does proc. So currently, you have a 10% proc chance on all melee attacks and melee multistrikes, and after the patch, it’s merely a 10% proc chance on all melee attacks, but not their multistrikes.

The primary difficulties in theorycrafting the uptime for Tiger Strikes are the fact that it can overlap itself, refreshing the buff instead of stacking or adding time, and the fact that when Tiger Strikes is up, you have a higher chance of further Tiger Strikes chances because of the higher multistrike chance it gives. The 6.2 change removes this second aspect, so all you have to worry about is the overlapping procs.

I was first looking at the effects of weapon speed, haste, and multistrike on Tiger Strikes about two months ago, and ran into all of these same issues. I asked noted WoW theorycrafter Hamlet if he had any tips and he pointed me in the direction of this post, which didn’t quite work out for me because it had the same issues with the multistrike buff. I kept it in the back of my mind, though, and in 6.2, it’ll be perfectly applicable.

If you scroll down to “More Elaborate PPM: Overlaps and Poisson”, this is exactly what we need. Tiger Strikes has a proc chance rather than being PPM, but the PPM isn’t the essential part of the formula anyway. The uptime formula is 1 - e^{-\lambda}, where \lambda is the average procs in the duration of the buff. Then we just have to figure out how many times we attack every 8 seconds (the duration of Tiger Strikes), multiply by .1, and there you have it. The result for \lambda is .1*(8/(Base Weapon Speed/(1+raid buffed haste))), with (1+ raid buffed haste) multiplied by 1.55 if you have a two-hander to account for Way of the Monk. The final formula you have for Tiger Strikes is then

1-e^{-{.1*(8/(BAT/(1+RBH)))}}

We’ll then check this against our sim , which gave us an estimated 46.08% uptime with base attack speed of 1.6 and 1007 haste. That turns into 19.08% raid buffed haste with haste food. Plugging these values in gives us a result of 44.86%, which is close enough for me to breathe a sigh of relief over my sim being mostly accurate.

The section I chose from that post was wrong for these purposes. I missed the most important part: “This is a good model for WoW procs as long as the attack rate is very high compared to the time intervals being examined.” With 3-6 attacks in that 8 second period, that requirement is not met. Instead, we can use the first formula from the appendix, as follows.

{1-(1-P)^N}

In our case, P is the proc chance, 0.1, and N is the number of attacks in the buff period, or how many attacks you can fit into 8 seconds. This is simply 8/(BAT/(1+RBH%/100)). Geodew points out that since attacks are discrete events, you should round down. In our case, with 1007 haste and 250 haste from food, raid buffed haste is 19.665, and base attack speed is 1.9. 8/(1.6/(1+19.665/100))=5.98325, which we truncate to 5. Then you do 1-(1-.1)^5 = .4095, or 40.95%. This is a fair amount lower than the other approximation, which invites further investigation.

If we treat partial attacks as valid, we don’t truncate at all. 1-(1-.1)^5.98325 = .467620, which is 46.76%. This is strikingly close to the simulated result of 46.08%. I’m not saying the sim is perfect, but it does seem curious that the result is so much closer to the non-truncated result. Perhaps treating attacks as discrete is the wrong way to approach it, over long periods of time? Perhaps the sim is way off? I’ll run it again in a few hours when I get home to check the numbers.

Final edit: I got home and ran a longer sim, covering 999,999,999 milliseconds, the equivalent of 277.78 hours. I also made sure to use 250 haste food rather than 200 multistrike food, which I had in an earlier version of the sim. The estimated uptime was 46.76%. I now feel fairly confident in saying treating attacks as discrete events is an incorrect approach.

6.2 First Look, PoM DPS

This was supposed to be a first look, but actually some new changes just came out today so it’s technically a second look. Oh well! Trinkets & set bonuses still haven’t been implemented for crane yet so we’ll just assume they’ll come in later, and skip them for now

Here are the notes that affect PoM DPS:

  • Blackout Kick now deals 5% less damage.
  • Rising Sun Kick (Windwalker, Mistweaver) now deals 5% less damage.
  • Tiger Palm now deals 5% less damage.
  • Tiger Strikes no longer triggers from multistrikes, but now provides a 40% increase to Multistrike chance while active.

The original notes had TP/BoK at -30 with no RSK nerf, which actually would have been nicer for us, but overall, the impact of those is relatively minor, within the scope of RNG margin of error for most fights. On my Gruul kill this week, I had 46.44% RSK damage, 4.11% BoK damage, and 2.49% TP damage. Sum that up to get 53.04, multiply by .05, and overall you’re doing 2.54% less damage after the patch. Not what you want, but not something to be really concerned about.

The Tiger Strikes change is less straightforward. You’ll have less Tiger Strikes uptime, and it’ll no longer scale positively with itself through Multistrike, but the buff is 40% instead of 25% so it should even out somewhat.

Tiger Strikes as-is is somewhat difficult to theorycraft. You have to deal with the fact thata new procs refresh the buff, rather than adding extra duration on to the end (so, if you get a first proc at t=0, another proc at t=4, and no more procs, you’ll have the buff from t=0 to t=12), and doesn’t stack. It also has the complication, currently, that when Tiger Strikes is up, giving you additional multistrike, you have a higher chance to get new procs, because it can proc off of multistrikes. I built a sim to try to estimate expected Tiger Strikes uptime, but it uses absolutely perfect conditions so always will have a higher number than you’ll get in practice, without godly RNG.

Anyway, my sim, with the current formula, and my current unbuffed stats of 1007 haste and 2082 multistrike, with the 1.6 speed Kromog sword, estimates a 69.7% Tiger Strikes uptime, for an effective added multistrike through Tiger Strikes of 17.425%. To match this with the new formula, you’d need 43.5625% uptime. In fact, The modified sim with no multistrikes patch gives an estimated 46.08% uptime, so it should be a slight buff in effective multistrike through Tiger Strikes. This gives effective added multistrike of 18.432, or about 1.% additional multistrike overall. I had about 66% overall multistrike on Gruul, so this would bump it up to 67%, so a tiny 0.6% overall damage increase.

Of course, all that is without factoring in over-capping on multistrike. Unlike Critical Strike, or most classes’ mastery, multistrike has a hard cap at 100%. 2082 multistrike gives you 36.54% raid-buffed multistrike, with non-multistrike food (which is probably advisable, at least with my current stats). A Tiger Strikes proc pushes that up to 76.54%, and then each stack of the Frostwolf weapon enchant proc (up to 2) gives 7.58%, for a max of 91.69%. This still keeps you safe, until you add in trinket procs. The Blackhand Trinket gives a massive amount of multistrike – up to 3840 at the end of a proc for HWF. That’s 58%!!! which obviously puts you way over the cap, with current or post-patch Tiger Strikes. With approximate 40-45% Tiger Strikes uptime, 30% or so weapon enchant uptime (5% or so 2stack), and roughly 20% trinket uptime, the chances of all 3 being up at the same time are low, but it is something to consider when comparing the Blackhand trinket to Oregorger or Darmac.

TL;DR: ~2.5% nerf in overall damage due to TP/RSK/BoK nerfs, 0.6% buff thanks to Tiger Strikes change, and the patch will be hardly noticable thanks to the combination of the two.

edit: I am not a programmer but I set up a github so people should be able to look over my gross Tiger Strikes python sim. Take a look and tell me if you see anything terribly wrong! https://github.com/jordantoine/Tiger-Strikes/blob/master/sim.py

edit2: Geodew correctly points out that crit caps at 100% as well. Of course, you can’t crit on more attacks than you make. I was thinking of crit damage when I put that part in, which is clearly not what crit does.