Taking a look at Soul Capacitor

I was glancing through the heroic HFC rankings today, and went to see why Asterixz put up such a great log on Iron Reaver. Right away Spirit Eruption jumps out at you – that’s an agi trinket! Obviously the result was good for him, but is Soul Capacitor actually a good choice, with Agility not increasing AP for mistweavers?

First, let’s figure out the effect of Soul Capacitor. This is actually pretty straightforward for MW – with 1.0PPM, and the mythic version doing a 135.42% explosion of your damage over 10 seconds, the math is easy. 10/60*0.3542= .0590333, or a 6% damage increase.

For a quick sanity check against the log, his explosions were 2.07m off 1.53m absorbed damage, for an extra 540k damage. He did 4.88m total damage, so the extra damage was 4.88/(4.88-.54), or 13%! This seems like a big difference from the expected damage increase, but that didn’t take into account a couple things. First, Asterixz did a great job of bursting during the Soul Cap procs, especially getting Touch of Death off in the second one (the Touch of Death alone increased his damage by 179k damage, or 4% – a huge chunk of that 13%). Secondarily, and much less important, was the fight length.

Let’s now take a look at some other trinkets, to see how they compare. The easiest way I could think of was to take my sheet with the BiS list, which includes the Iron Reaver Piston. With everything equipped, I come out with 51018.32 DPS over 3 minutes on 1 target with Zen Sphere. Subtracting the stats from Iron Reaver Piston, that goes down to 47284.29. That means that the Iron Reaver Piston is a 7.9% damage increase – higher than the average Soul Capacitor increase, but less than Asterixz’s great usage.

How about IG? Well, a significant part of IG’s value is in the spirit, but for fights as short as 4 minutes, the spirit you have from the legendary ring covers all your mana needs, with Zen Sphere (with Chi Burst, that goes down to just over 3 minutes). Even with the Spirit doing nothing, though, adding back IRP and subtracting IG gives DPS of 47667.87, for a damage added of 7.03% – still more than the average Soul Capacitor.

What did we learn from all this? Well, in a long fight, Soul Capacitor is probably not better than IG or IRP. However, in a short fight, it might edge ahead, depending how well the procs line up with your burst periods. If you’re going for a #1 parse, it’s certainly the trinket that can get you the best overall results when it lines up well.


Looking at Swing Reset math

I’ve been looking for a while at a way to calculate the actual amount of reduced autoattacks due to swing resets. Despite mastery spawns and Expel Harm being fixed with 6.2, Surging Mists still resets the swing timer. I’m pretty sure this is by design, for a couple reasons. First, it wasn’t changed when the other two were. Second, I checked on a Shaman, and with 5-stack Maelstrom Weapon (the same as 5-stack Vital Mists, basically), Lightning Bolt and Chain Lightning don’t reset the swing timer, but Healing Surge does. In the combat log (link), too, you can see that it shows up differently: the heal has a “begins casting” line, which is probably what resets the swing timer.

Anyway, with only Surging Mists left to reset the swing timer, I thought it wouldn’t be too hard to see how many swings you actually lose over the long term. I started by figuring out how many autoattack swings I’d take per Surging Mists cast, and then thought it’d be straightforward to figure out a formula from there. (As a side note, this isn’t perfect, because Surging Mists casts aren’t perfectly regular due to your t30, power strikes, etc, but it’s not a huge deal I think). However, I got stuck there. I wasn’t sure how to look at it from a probability standpoint, specifically because a reset doesn’t just remove a swing, it instead delays the next and all subsequent swings.

I returned to the tried-and-true method I used for Tiger Strikes, writing a sim. You can see the code here (link). For this sim, you input your swing timer and resets per second, then it spits out how many swings you’d have if there was no reset, and how many swings actually go off. Then you can divide the second by the first to find the impact of the lost swings. I was expecting to find that the longer your swing timer is, the worse resetting is for you, since you can push the next attack back further. For shorter casts, each reset would add less time, so it wouldn’t be as bad. That’s not what I found.

Looking at my stats first, I ran it with a 1.508 swing timer and .1126 resets per second. I got 84.9% of swings going off. Then I checked what would happen if I instead had a 2 second swing timer. This time, the numbers came out to 90.1% of swings. I had to go to bed at that point, but today I ran some more tests, because two data points is too few. I today checked a 1s swing timer and .1126 resets per second, and to my surprise, that was also 90%. Now, I’m just really confused and not sure where to go from here. Any thoughts?

Tentative 6.2 BiS list

This list makes a couple assumptions, primarily among them that they don’t fix the legendary rings such that we can use the int DPS one. If we can use the DPS one, that would likely mean a trinket change as well. It also assumes a fight length of 5 minutes – you may want to swap trinkets for fight length, dropping spirit for shorter and adding spirit for longer.

Head: Hood of Unknowable Secrets (Xhul’horac)
Neck: Choker of Forbidden Indulgence (Gorefiend)
Shoulder: Mantle of the Somber Gaze (Operator Thogar)
Back: Cloak of Hideous Unity (Fel Lord Zakuun)
Chest: Vest of the Somber Gaze (Flamebender Ka’graz)
Wrist: Bloodcult Bracers (Kilrogg Deadeye)
Hand: Fistwraps of the Hurricane’s Eye (Socrethar the Eternal)
Waist: Flayed Demonskin Belt (Hellfire Citadel Trash)
Leg: Legwraps of the Hurricane’s Eye (Gorefiend)
Feet: Jungle Assassin’s Footpads (Hellfire Citadel Trash)
Ring: Seal of the Traitorous Councilor (Socrethar the Eternal)
Ring: Etheralus, the Eternal Reward (Legendary Questline)
Trinket: Intuition’s Gift (Kilrogg Deadeye)
Trinket: Iron Reaver Piston (Iron Reaver)
Weapon: Edict of Argus (Archimonde)

Some notes: Gavel of the Eredar + Gibbering Madness is virtually equal to Edict of Argus – use whichever you can get. The 715 ring with the int proc is better than the legendary ring until around ilvl 765.

Stat Weights – PoM DPS Stamina

Wow, this one is super super easy! Stamina affects your DPS through one spell only – Touch of Death. Also, in WoD, you have no base health, only stamina*60. Don’t forget to add in the raid buff  – 10% stamina. To get Touch of Death damage, we’ll multiply that health by a further 1.2, to account for Fortifying Brew. For the Stamina scaling, you can then just look at your current Touch of Death damage, your Touch of Death damage if you had 110 extra stamina, divide the second by the first, multiply that by the portion of your overall damage that Touch of Death is, and then multiply by 100 to convert it to percent. That’s it, and (with the mastery bug being fixed in the current PTR build), that finishes our stat weights!

Stat Weights – PoM DPS Weapon Damage

Thankfully after the last few posts, weapon damage is fairly straightforward. Unlike most classes who have melee damage as a significant portion of their damage, crane stance actually has a fair bit of damage that is not affected by weapon  damage. Those spells that do scale are as follows: special attacks (Jab, Expel Harm, Rising Sun Kick, Blackout Kick, and Tiger Palm), and melee attacks. What we need to do is see what portion of our damage is those abilities, and then how much they increase when you increase weapon damage.

Looking at the formulas for these attacks, the main drivers of their scaling are weapon damage and attack power. While melee damage has its own ratio, luckily, all of the special attacks share the same ratio of scaling as each other, with their damage differentiated by an overall multiplier. This means that we can add all those together and look at their scaling, then take melee attacks separately.

Once we’ve figured out what portion of our damage is special attacks, and what portion is melee, then we start the scaling. I increased weapon damage by 11 for my scaling because it is a pretty reasonable amount, and multiplies easily for the final stat weight. I just plugged weapon damage+11 into the formulas (I used Jab for the special, but since they all scale the same, you can use any), divide that new damage by the original damage, and subtract 1 to find out the fraction of additional damage that special and melee gain. Then you can multiply those individually to their respective damage fractions, and add them together to find the overall damage increase fraction. Finally you multiply by 100 to get a percentage increase in damage, and then multiply that number by 10 to get to the crit equivalency, since 110/11=10.

Stat Weights – PoM DPS Haste

Multistrike started to get a little complicated with the Jade Mists aspect, but overall it’s almost simple compared to haste. Much as in the last post, the math formulas get way too long to all type out and look neat in this space. If you want to follow along, go ahead over to the spreadsheet link on the right and make a copy for yourself to play around with.

Haste has 4 major effects: it lowers GCD/cast time, increases melee attack speed, increases DoT/HoT tick speed, and increases the proc rate of your RPPM trinkets. In crane stance, we don’t have any casts longer than the GCD except for possible mana tea channels, so the GCD decrease matters but not cast time. The primary effect of this is the increased number of special attacks you can perform, with a secondary effect of more mana being spent. Melee attack speed obviously applies. Our only periodic damage is Zen Sphere and Xuen’s Tiger Lightning, neither of which is affected by haste, so that part does not change anything.

The most annoying part is in calculating the effect of the increased proc rate of RPPM trinkets, particularly when one of them has a haste proc. I chose not to go into the recursive stuff and just compare the haste rates without the haste procs for your overall average haste, which leaves haste a tiny bit lower than it maybe should be, but overall should not make a huge difference. In my specific case I think it meant that I averaged about 5 additional haste from my haste proc going off more often.

With that in mind, we can start calculating how much of an overall increase in DPS you get from haste. I chose to add 90 haste to the base because that’s 1% by direct conversion, which would be easy to convert to crit equivalence later. Don’t forget that you need to multiply in the raid buff, which is uniquely multiplicative among raid buffs. Also, add in the extra haste from your haste proc trinket going off more, if necessary. The first part is the easiest – just see how many autoattacks you’ll have with the new haste and subtract the amount of autoattacks you currently do, then multiply by the average autoattack damage. Then, do the same thing with Xuen’s autoattacks.

Next, you have to take into account the reduced GCD. This means you get more GCDs in each 8 second period, returning to our Jade Mists calculation. Depending on your multistrike level, this could either go into partial RSK cycles or partial BoK cycles, so you consume as much RSK cycles as you can before putting the leftover globals into partial BoK cycles. You then convert those cycles into damage, just like in the Jade Mists calcs.

Then, you can add in the bonus from any non-haste RPPM procs going off more often. In this situation you don’t have to worry about recursive effects, so you can use post-proc average haste, see how much that increases the proc uptimes, and then multiply the additional stats you get out of it by their stat weights and add that in.

Finally, you have to worry about the additional mana usage with the lowered GCD, which converts to extra special attacks. This extra mana usage means you’ll need to spend additional time drinking (unless your spirit is high enough or the fight is short enough), so you take the portion of the fight you currently drink, the portion of the fight you’d drink with the extra haste, and use those to figure out what % of the fight you’re actually DPSing compared to the baseline. Then you use the new as a percentage of the old, and take that as a multiplier for your haste factor.

At this point we need to take a quick sidebar to establish mana tea drinking time. For this you need to factor in your spirit level, your haste level, and the fight length. Unless you’re using CJL or massive RJW uptime, you’re never going to run out of mana tea stacks, so that’s not a concern. Instead, you see how fast you’ll run out of your mana buffer, which is your base mana (160,000 for everyone except gnomes, who get a bit more). You do this by calculating your base regen, adding in passive spirit regen, and then finding out how much mana you spend per second. You take the difference, which is your mana deficit per second, and divide the buffer by it to find out how long you could go without drinking. Then, for the rest of the fight, you need to sustain yourself. You figure out how much mana you get from tea per second using your spirit value, determine how long it would take to use that mana, and from there you can find out what percentage of the post-buffer fight you need to drink. Convert that to seconds, take it out of the entire fight, and you have your overall % of time drinking. Finally I should note here that this is the only part of the spreadsheet that currently includes bloodlust as part of its calculations – it assumes a 40 second period where you have lust in the fight, and re-calculates the mana per second you spend in that time.

After that, all that remains is to factor in the increased tiger strikes uptime due to higher haste. Going back to the same simulations we ran for multistrike at various levels, I’m estimating that haste is about 80% as effective as multistrike at increasing tiger strikes uptime. Since that was 10% for multistrike, we can just add in 8% of multistrike’s stat weight at the end.

So, we take everything we have so far – the added damage due to extra globals, extra autoattacks (for you and xuen), and extra points for RPPM increase, and add those together. Then you multiply by your mana tea adjustment multiplier. Finally, you multiply that all by 110/90, to give your crit equivalency points, and then add in your tiger strikes increase. Simple, right?

Finishing PoM DPS Multistrike: Jade Mists

When we last left off with the stat weight posts, we were partially done with Multistrike as a stat weight. We’d taken into account the base damage increase from MS, the increased tiger strikes uptime, and the 5% bonus to MS from gear you get thanks to Jade Mists. Then I got stuck when I tried to figure out the contribution that Jade Mists’ other function, which is a chance equal to your multistrike to reset the charge of Rising Sun Kick when you use it (this can’t chain – if you reset on one RSK, the “bonus” RSK can’t proc another reset).

We’d gotten as far as to figure out the spare globals in a base 8 second cycle, but that was about it. I believe I’ve finally figured out the missing link from there. Based on the amount of spare globals and your effective multistrike%, you can figure out how much of the spare global(s) goes to using up RSK resets, and how many are used for BoK. This is the first post I have where the math gets too complicated to write out full equations in the post, so mosey on over to the spell data spreadsheet and make a copy if you want to follow along and play around with the numbers.

Quick intro to the spreadsheet here – the first tab is mostly for entering your stats, talents, food buff options, and estimated Tiger Strikes uptime (using the sim currently, haven’t implemented the formula that Geodew came up with and I’m trying to verify). The second tab takes your stats and the spell formulas and translates it into actual damage per cast numbers. One thing to note is that crit, multistrike, and versatility don’t currently affect any of those DPC numbers, and really are only currently factored in for the final stat weights and the DPS guess on the first sheet, right above the laundry list of things I still need to add in to the sheet. PoM DPS tab is the one we’re primarily going to use here, where I’ve tried to encapsulate an 8 second cycle, matching the natural RSK recharge. The fourth tab is for the future!

So, returning to the Jade Mists issue. A1:B12 roughly cover the same information we had in the last Multistrike post. Row 13 is the first small difference – where we left off, we just divided the leftover globals by 3 to see how much of a Jab-Jab-(spender) cycle we had available, but that didn’t account for the fact that the cycle is not exactly that, because of Vital Mists and tier 17 2pc. Columns E-K account for that cycle. I made the decision to waste a stack of Vital Mists here. The 1 chi you spend on TP to get an even 5-stack of VM is used up in what I’ve termed the “maintenance” engine, so the extra RSK/BoKs don’t have a TP to match, meaning you’re going up to 6 stacks instead of 5 before using the Surging. With t17p2, you don’t take up a full 3 globals on the non-maint cycle.

Once you have the amount of free globals, you apportion that to as many RSK cycles you can, and fill the rest with BoK cycles. Then you can add up all the damage you do, throwing in average Xuen damage, and reducing the AA damage to factor in the swing timer resets. These adjustments are currently crude estimates, but I pulled the numbers I used from some Gruul logs, so they shouldn’t be too bad. Once you have the damage you do in an 8 second cycle, then our goal is to see how an increase in multistrike converts to the overall damage increase, and turn that into a stat weight.

The way I approached this was to see how much multistrike would be needed to increase the damage in a given 8-second period by 1%, by converting some of that BoK cycle filler into RSK cycles. This is rows 23 down to 34. What it comes down to is a simple system of equations:
(RSK cyc dmg)*(RSK cycles)+(BoK cyc dmg)*(BoK cycles)+(maint dmg)=(current 8s dmg*1.01)
(BoK cycles)=(spare cycles based on free GCDs)-(RSK cycles)

You plug in the numbers from above and then use some middle-school algebra to solve for RSK cycles. Calling back from above, this mirrors the multistrike%, so you know how much effective multistrike you need to gain. You can cut out 10% because we earlier estimated that multistrike has about a 10% bonus on itself through additional Tiger Strikes uptime, and another 5% thanks to the Jade Mists’s multiplier on gear. Finally, you multiply by 100 to convert it to an actual percentage and then 66 to convert that percentage to rating.

Finally, you need to convert that so we can add it into the stat weight. Remember that what we have calculated today is the additional multistrike rating needed to get a 1% overall DPS gain through Jade Mists’s RSK resets. Now if you remember all the way back to the beginning of the series, we followed Geodew in defining crit as the baseline, with its weight being 1.0 before diminishing returns. In his stat weight post he says this essentially means that 110 rating = 1% hps gained. Multistrike’s base weight is also 1.0, because despite requiring 66 rating for 1%ms, 110 rating is the same gain as 110 crit due to the different mechanics. So, with that in mind, we can divide 110 by the multistrike rating we need for 1% gain to figure out the factor we put into the stat weight. Finally, while all previous factors have been multiplicative on the weights, I believe this one should be additive, because it’s a separate mechanic from the normal diminishing returns/stat bonuses.