The focus of this post is to determine the DPS loss due to delaying Dark Transformation (DT) by casting Breath of Sindragosa (BoS). There is absolutely going to be math involved (all symbolic, because anything can change in the Beta). There is no real hidden agenda for this derivation other than to have it for when Beta rolls around and we have actual numbers. If BoS adds Shadow Infusion (SI) stacks and procs T75, then this entire post becomes useless.
With that, let’s start from scratch.
The loss from BoS casts comes from the fact that it delays your next DT because BoS does not grant SI stacks, whereas Death Coil (DC) does. Thus, you will need to generate that runic power (RP) all over again in order to gain the proper amount of stacks. This delay wouldn’t be problematic if fights had infinite length, since you would make that lost time up eventually. In any real fight, you will not. This loss isn’t occurring when you already have DT active, obviously. Secondly, if BoS does not interact with T75, then the RP that is spent will not generate any additional runes, which DC normally would. Thus, you lose out on extra rune (and RP) attacks in addition to the DT delay. This loss occurs regardless of whether DT is active or not. Finally, the RP you spent on BoS could have been spent on DC for damage, so if DC does more damage per RP, then you're already losing DPS.
So, moving from there, let’s make some assumptions to simplify the derivation. More may be made later.
1. Our resources do not change dramatically.
2. BoS will proc T75 with no (dis)advantage in RP to rune conversion relative to DC.
3. SD will still be on a PPM system (RPPM doesn’t massively change this).
4. DT is used immediately when available.
5. The duration of each SI stack is equal. That is, if you move from 3 stacks to 5 stacks in 10 seconds, you will be at 3 stacks for 5 seconds, and 4 stacks for 5 seconds (and 0 seconds at 5 stacks due to assumption #4).
First off, the goal is to calculate the damage loss. We will use that damage loss and compare it to the actual damage of BoS to determine if BoS is worth using or not. So, we can get this loss by finding the DPS loss and multiplying it by the delay time.
The DPS loss comes from the ghoul not being empowered by DT for a certain period of time. The ghoul uses Claw and auto-attacks for this duration (ignoring Gnaw for simplicity). So, the damage loss will simply be the DT damage minus the non-DT damage of the ghoul for that delay time. Specifically for clarity, this is purely the loss from the delay, so DC’s damage is not included (yet).
But let’s break Ghoul_DPS down into its contributing parts. Auto-attacks occur on a regular timer, and we know the ghoul’s swing speed and melee haste (H_M). Claw happens based on energy generation, and we also know the base energy regeneration rate (10 energy / sec), which is modified by true haste (H).
where a is the weapon damage coefficient for the strike, and will depend on whether the ghoul is under DT or not.
where b is the weapon damage coefficient for auto-attacks, and will depend on whether the ghoul is under DT or not (should be 1.00 if not in DT).
Now, let’s account for SI. If the ghoul swings 3 times with 3 stacks, and 3 times with 4 stacks, then the damage will obviously look like this:
But what if we go from no stacks to 5 stacks? We need the general formula so we can figure out how many strikes land with each SI stack (strikes were given in the previous equation). Let’s still use 6 swings, and we know that each stack is up for an equal amount of time. We’ve got some formula that looks like this:
So how do we find how many strikes go with each stack? If each stack lasts for an equal amount of time, then each stack has an equal probability to land a strike. So, basically, all of the strikes will be distributed evenly over the number of stacks. That is, v = w = x = y = z = 6 / 5.
How many SI stacks will we need to consider? If N DCs results in DT, then we need to consider N SI stacks (because uptime of 0 stacks is not zero, but uptime on 5th stack is zero). We can also pool DCs before DT fades, so it will be the difference between our pooled amount, P, and the total stacks. Let’s also convert back to DPS instead of using purely damage, since we already know what the formula for DPS is. The SI stacks only end up being a multiplier to that original equation, and also only affect the normal ghoul (non-DT ghoul).
This same multiplier will affect claw as well. For DT, there will not be any SI multiplier. Instead, it will just be the DT multiplier (M_DT), which is constant for every hit.
Now we’ve got the DPS lost, so all we need is the delay time to calculate the actual damage lost.
We know that the delay time is proportional to the RP spent on BoS and how much RP DC costs. Specifically,
where R_T is how many DCs are used per second (DC total rate).
That is, if you spent enough RP to cast 2 DC’s and you use a DC every 5 seconds (DC_T = 1/5), your delay time is 2 / (1/5) = 10 seconds. Let’s actually just say RP_BoS is the amount of RP consumed by a single tick of BoS. This will allow us to express the loss on a per-tick basis. So, we need to find R_T, since the rest are easy. R_T includes DCs that you use rotationally from RP and also those from Sudden Doom (SD), R_RP and R_SD, respectively. That is,
Given SD’s PPM, we can figure out how frequently it should proc. From the PPM formula, finding the probability per hit:
And we know how many times you will swing per minute based on your attack speed:
This results in a proc rate (procs per second, which is where the extra 60 comes from) of
So, now for R_RP. It’s going to be the RP generated per second divided by the cost DC. So how do we get RP per second without simming it (or do we have to sim it)? We know RP is generated by Horn of Winter and rune-based attacks (and AMS, but let’s ignore that). Rune-based attacks are predictable because of your rune regeneration rate. If we’re entering the Beta, then ideally we shouldn’t be GCD-capped. Being GCD-capped at the beginning of the expansion leaves no room for growth, so it’s a pretty reasonable assumption to assume you won’t be GCD-capped. With this assumption, I can invoke an equation for RP generation I made back in the previous Beta (derived here https://drive.google.com/file/d/0BwE...it?usp=sharing). The error from this equation compared to relevant sims is less than 3%. If we wanted to account for AMS, you would simply add it to the RP generation. However, I'll leave it off and simply say that if you use AMS, you will increase R_T (more RP means more DCs per unit time). With some manipulation, we can get the RP per second and divide that by the cost of a DC.
where Yield_T75 is dependent on the T75 choice, and is basically the amount of runes returned per proc.
We’ve got the DPS lost. We’ve got the time delayed per tick. But the loss only happens when you use BoS outside of DT, so we need to find DT uptime (u).
DT uptime is pretty simple if you think about it. DT lasts for a certain duration, t_DT. So, when you use DT, you’ll have it up for that duration. When it expires, you will not have it up for however long it takes you to get N-P stacks of SI, which means the total amount of time that has passed is the duration of DT plus however long it took you to get those stacks. So, if DT lasts 30 seconds, and it takes you 10 seconds to get enough stacks for DT, then your uptime would be 30 / (30 + 10).
But this loss occurs whenever DT is not up, so we need the complementary probability (1-u). This is the probability that you will not have DT up when you use BoS. So, basically, the loss should be the ghoul DPS difference over that delay time multiplied by the probability that you will have actually delayed DT. So, basically we multiply the very first equation by (1-u).
Or, since we care about the loss per tick:
Of course, BoS does damage every tick, so we should really throw that in there, too. We should throw DC’s damage in here as well, since that RP could have been spent on DCs to generate damage as well. If we throw BoS's damage in there, then we're not talking about a loss anymore. We're talking about net damage, so "Damage Loss" becomes "Net Damage." If Net Damage is negative, then we're losing DPS by using BoS. The number of DCs that could have been cast is simply going to be the ratio of RP costs (RP_BoS_tick / Cost_DC).
This is really easy to evaluate with sim data, particularly because you can calculate R_T directly from DC usage. However, we already have a mathematical definition for each of these variables (when we assumed that you are not GCD-capped), so why not take a perfectly nice equation and make it look absolutely awful. In return, we don't need a sim, which is rather nice considering how long it takes to get a sim, but that's really the only nice part about it.
Note that if this is a positive quantity, then you aren't losing any damage.
So how do we use that royal mess? Basically, we can just look at trending. Quoting off values is useless until we have specific values. In that equation, basically you as the player have control over very few of those variables. The rest are defined by the developers.
Net damage per tick is:
-Linearly decreasing as ghoul weapon damage is increased
-Logarithmically increasing (concave down) as haste is increased
-Linearly increasing as BoS's damage is increased (such as by mastery)
-Linearly decreasing as DC's damage is increased (also such as by mastery)
-Logarithmically increasing (concave down) as R_T is increased (aka using AMS)
-Increasing (concave down) as pooling is increased
[edit: H_M was inverted for some reason on SD_PPM. Fixed.
2nd edit: Missed the pretty obvious damage source of DC. Thanks, ryudaraku.]