This post is going to touch two topics: the impact of a meta gem on balance druids, and some math on the changes to balance now on the PTR.
I went on a run with my new guild last night, and discovered that, while I thought I was solid DPS, I actually suck. a big part of this is gear: most of the epics I’ve picked up have been healer gear, so I’m inundated in spirit and some haste, but little in the way of hit or crit. I also have no meta gem. When I realized that, I became curious to see how much my meta gem choice would add to my DPS, ceteris parabis. Particularly, I wanted to look at the impact of 3% increased crit damage.
Now, balance gets 100% increased crit damage bonus. If I am correct, the 3% from the meta applies to the base crit damage bonus, which now becomes 53%. Then the 100% bonus icnrease applies, taking the total crit damage bonus to 106%, meaning crits do 206% of a normal hit. Typical damage done without the meta by a given crittable balance spell would be (x = damage dealt by spell, crit = increase chance to crit):
(1 – crit) * x + crit * 2 * x
= x – crit * x + 2 * x * crit
= x + crit * x
= x * (1 + crit)
With the meta, that would be:
(1 – crit) * x + crit * (2.06) * x
= x – x * crit + 2.06 * x * crit
= x + 1.06 * x * crit
= x * (1 + 1.06 * crit)
Let’s assume you’re effective crit chance (with raid buffs, etc.) was 50%. Average damage from a cast without the meta would be 1.5 * x vs 1.53 * x with the meta. That’s a 2% damage boost to the spell. Assuming crittable spells constitute say 50% of your damage, and you would see a 1% damage gain for slotting the meta. Assuming you’re dealing 2000 DPS, you’d see a 20 DPS gain. Keep in mind that as effective crit rate grows, so too does the effect of the gem. Also, as the portion of your damage which comes from crittable spells grows, so too does the bonus from the gem. In my case, wrath and starfire combine for about 60% of my damage and my crit rate is about 55%. I’d gain about 1.3% damage, which at 2.3k DPS is about 30 DPS. From one gem.
The incoming patch, 3.1, is changing up Balance druid talents a bit. Faerie Fire duration has been increased to 5 minutes, a minor increase to damage since we won’t be wasting a GCD keeping it up. Starfall’s cooldown is being reduced to 1.5 minutes from 3 minutes, which ought to be a notable DPS increase in the cases we can use it (i.e. when hitting EVERYTHING isn’t bad). Celestial Focus now reduces pushback on Starfire, Hibernate, and Cyclone by 70% which may just make it worthwhile in pvp in cases where pushback is an issue (i.e. lots of aoe damage). The spell haste bonus remains.
The two biggest pve balance changes, though, are the changes to Nature’s Grace and Eclipse. Eclipse now increases wrath damage by 30% when it triggers for wrath. Nature’s Grace, in a pretty sweeping change for a long-standing Balance talent, now increases spell haste by 20% for 3 seconds after any crit.
First, both of these are substantial buffs to wrath. Nature’s Grace has had the effect of pushing wrath’s cast time to 1 second…but pushing the GCD down to 1 second as well. Any additional haste was wasted. I commonly hit a wrath cast under NG now where I have to wait to begin another cast until the GCD finishes. The Eclipse change may just make it worthwhile to spam Starfire to proc wrath rather the current SF->Wrath used in every case.
Well, let’s do some math and see if that’s changed. First, I’d like to look at the impact of the NG change a bit more. Assuming a 20% casting speed increase on a druid with 0 haste. Since all spells cast in the next 3 seconds will receive the same bonus, chain casting 2 spells with a 1.5 second casting time vs. a single 3 second cast time will receive the same bonus. Looking at the 3 second spell, it’ll move to a 3 / 1.2 = 2.5 second cast…precisely the same reduction as NG provided before.
Now, haste reductions are applied as soon as the spell cast is begun. Therefore, if you have any haste at all, you should start another spell within the NG window which will gain the full benefit of the cast speed increase. Since being under the effect of NG implies you have a 20% cast time reduction, you will necessarily start another spell while under the effect of NG. Under the prior example of a 3 second spell, you’d see a full second reduction from 1 NG proc (5 seconds total cast time of two 3 second spells under NG). If you’re casting a 1.5 second spell, you’d see a .75 second flat cast time reduction.
However, this new version of Nature’s Grace is overwritable. That is, let’s say you proc NG. With the current incarnation, it will apply to the next spell cast and that’s it. So if that spell crits, you’ll gain a new NG. When the patch hits, though, if you proc NG and the next spell cast crits…all it will do is refresh NG. Since the spell after that would have gained NG regardless, you lose NG on that spell, but gain it on the next spell. That sounds like a wash to me, making the NG change an overall buff to balance DPS.
We’d like to determine uptime of NG, in this case, to try and pull it into an average haste. Well, the probability it’ll come up is based on the crit chance of a spell cast: on average, it’ll take 1/(crit chance) casts to proc NG. That’s the first bit…the initialization phase. Once initialized, the next number we care about is the probability it’ll fall off. To determine that, we find out how many casts we’ll get while NG is up and divide it by how many casts we need to proc NG, on average, and subtract that from 1. That is, we’ll add up the probability each cast under NG procs NG again, and then see how much is missing to get us to 100%.
However, that naive analysis has a bit of a problem. Let’s take a look at the case of starfire with a 50% crit chance after NG has procced. That would imply that it takes 1/.5 = 2 casts to proc NG, on average. Well, we’ll get 2 starfire casts under NG, which tells us that our uptime will be 100%. Obviously this isn’t going to be the case. In fact, it ought to be relatively far from the case. The actual probability NG will stay up is equal to how many combinations of crits with non-crits we could have. Looking at all the possible NG scenarios, we see that we could restart NG in 3/4 cases: crit->crit, crit->no crit, and no crit->crit. The only way NG does not proc is in the no crit->no crit scenario. What is the average chance that scenario occurs? Well, the chance of a ‘no-crit’ is (1 – crit chance), so the chance of two in a row is (1 – crit chance) * (1 – crit chance) = (1 – crit chance) ^ 2. Looking at the 50% crit chance scenario, we see that the chance of NG falling of is .5 ^ 2 or .25. Therefore, while spam casting starfire with a 50% crit chance, 75% of the time you procced NG, you’d proc it again before it wore off.
What we’re curious about is the full duration of one of these cycles: initialization + NG. Obviously we know the average init time (we figured it out earlier). So the problem is: how long are we in NG? Well, we’ve figured out the chance we’ll exit NG from any cycle. That implies we know the chance we’ll continue the cycle. That allows us to develop this formula:
duration = cycle_chance * (cycle_duration + cycle_chance * (cycle_duration + cycle_chance * (…))). That in turn can be written as a summation:
sum(n=1->infinity)(cycle_chance ^ n * cycle_duration) = cycle_duration * sum(n=1, infinity)(cycle_chance ^ n).
Since cycle_chance is less than 1 (and greater than 0), we know the limit of cycle_chance ^ n approaches 0 as n approaches infinity, which implies this sum has a finite value. Looking at wikipedia for geometric series, we find that:
sum(n=1, infinity)(cycle_chance ^ n) = 1 / (1 – cycle_chance)
So, the total duration of an init+NG cycle is:
(1 / crit_chance) * cast_time + cycle_duration * (1 / (1 – cycle_chance))
= (1 / crit_chance) * cast_time + cycle_duration * (1 / (1 – (1 – (1 – crit_chance) ^ 2)))
= (1 / crit_chance) * cast_time + cycle_duration * (1 / (1 – crit_chance) ^ 2)
cycle_duration is equivalent to the new cast_time * number of casts before NG ends. We really only have two situations to consider, wrath for 3 casts or starfire for 2 casts. Sadly using a more generalized equation falls a part a bit because the number of casts is an integer, while a generalized form here would be a real value, unless we do some rounding…which takes it out of being generalized.
So, let’s look at Starfire with 0 haste and 25% crit
cast_time = 3
cycle_duration = 3 / 1.2 * 2 = 5
so we get
(1 / .25) * 3 + 5 * (1 / (1 – .25) ^ 2)
= 12 + 8.89
= 20.89 average total duration for the cycle.
Of equal interest is how many casts occured during this cycle. We determined the portion of casts for the NG phase by simply substituting casts per cycle for cycle_duration…in this case, 2. In the first term, we can simply remove cast_time to determine how many casts, on average, to initialize NG.
(1 / .25) + 2 * (1 / (1 – .25) ^ 2)
= 4 + 3.56
= 7.56 average casts per cycle. We can use this to determine the average haste Nature’s Grace is adding. Since we’re averaging 7.56 casts per cycle and it’s taking 20.89 seconds, while 7.56 casts would normally take 22.68 seconds, we’re getting an average of 8.6% haste. Obviously as crit chance increases, the equivalent haste also increases.
Let’s now look at unhasted wrath with 25% crit
cast_time = 1.5
cycle_duration = 1.5 / 1.2 * 3 = 3.75
so we get
(1 / .25) * 1.5 + 3.75 * (1 / (1 – .25) ^ 2)
= 6 + 6.67
= 12.67 average total duration for the cycle.
And average casts:
(1 / .25) + 3 * (1 / (1 – .25) ^ 2)
= 4 + 5.34
= 9.34 average casts per cycle. 9.34 wrath casts would normally take 14.01 seconds, so we’ve gained 10.6% haste for wrath. Part of this comes from the first term: wrath takes the same number of casts as strafire, when they have the same crit chance, to proc NG. Since it casts faster, it significantly reduces the time spent in the initialization period. You’ll note that starfire casting actually spends more time under the effect of NG, but not enough to offset the early initial bonus wrath gets. Since the second term of the formula, the one dealing with the NG cycle duration, grows faster than the first, starfire’s longer time in cycle may eventually offset wrath’s lower initialization time.
In fact, we can go ahead and generalize the haste equivalency formula. Let’s first add a bit more generality to the formula for determining total average cast time:
(1 / crit_chance) * cast_time + cycle_duration * (1 / (1 – crit_chance) ^ 2)
= (1 / crit_chance) * cast_time + (cast_time / 1.2 * num_casts) * (1 / (1 – crit_chance) ^ 2)
= cast_time * ((1 / crit_chance) + num_casts / 1.2 * (1 / (1 – crit_chance) ^ 2))
The normal casting time, i.e. without NG, is found by getting the number of casts in that cycle and multiplying it by the cast_time, thus:
cast_time * ((1 / crit_chance) + num_casts * (1 / (1 – crit_chance) ^ 2))
To determine equivalent haste, we simply divide the non-NG term by the NG term:
cast_time * ((1 / crit_chance) + num_casts * (1 / (1 – crit_chance) ^ 2)) / cast_time * ((1 / crit_chance) + num_casts / 1.2 * (1 / (1 – crit_chance) ^ 2))
= ((1 / crit_chance) + num_casts * (1 / (1 – crit_chance) ^ 2)) / ((1 / crit_chance) + num_casts / 1.2 * (1 / (1 – crit_chance) ^ 2))
This, far as I can tell, does not simplify further.
However, we have generalized out any impact from haste on equivalent haste from NG. It doesn’t matter how much haste you have to determine how much you’ll gain from NG
In fact, it depends entirely on crit_chance alone. Let’s go ahead and examine a high crit chance for wrath and SF: 75%
Starfire gains equivalent haste of
((1 / .75) + 2* (1 / (1 – .75) ^ 2)) / ((1 / .75) + 2 / 1.2 * (1 / (1 – .75) ^ 2)
= (1.33 + 32) / (1.33 + 26.72)
= 1.19 = 19% equivalent haste.
((1 / .75) + 3* (1 / (1 – .75) ^ 2)) / ((1 / .75) + 3 / 1.2 * (1 / (1 – .75) ^ 2)
= (1.33 + 48) / (1.33 + 40)
= 1.19 = 19% equivalent haste
If you do the math yourself, you’ll notice that a few significant figures on, wrath had a slightly better equivalent haste value…19.3% v 18.9%. The difference won’t really be noticeable.
So wrath gains more benefit from the new haste than starfire through any conceivable crit chance we might see. Quite a change from how it is now. BTW, the current nature’s grace does take into account haste in addition to crit chance when determining equivalent haste. Calculating current NG is relatively simple: cast time of portion of non-crits + NG cast time of crits. So:
(1 – crit) * (base_cast_time / (1 + haste)) + crit * (base_cast_time – NG) / (1 + haste)
Note that one of the hastes can’t be cancelled out. With 0 haste and 25% crit, the current nature’s grace provides SF an equivalent haste of:
3 / ((1 – .25) * 3 + .25 * (2.5))= 3 / 2.875 = 4.3% It’s much higher for wrath due to it being a flat value…however, wrath receives diminishing returns due to the hard cap of the GCD.
As near as I can tell, the NG change is an all-around buff, particularly for wrath.