Saturday, June 14, 2014

How Theorycrafting Works; A look at the Warlords of Draenor level 100 talents

I've been asked a few times how to math, and how to get started with theorycrafting, and so today we'll be taking an in-depth look at the process. The goal today is to answer the question, "Which level 100 talent should I pick?"

Step 1:
Let's begin with finding out all the information we can. An excellent starting point is the spell data, which we can review over at the wowdb database. Let's copy and paste the 3 talent choices:

Breath of Sindragosa Death Knight - LvL 100 Talent
15 Runic Power, plus 15 per sec
Instant 60 sec cooldown
Requires Death Knight

Continuously deals [ 1 + 39.96% of AP ] Shadowfrost damage every 1 sec to enemies in a cone in front of you within 12 yards, and affects them with Mark of Sindragosa for 6 sec. You will continue breathing until canceled or Runic Power is exhausted.

Mark of Sindragosa causes you to be healed for 5% of spell damage dealt by afflicted enemies.

Defile Death Knight - LvL 100 Talent
1 Unholy 30 yd range
Instant 30 sec cooldown
Requires Death Knight

Defiles the ground targeted by the Death Knight. Every 1 sec, if there are any enemies standing in the Defile, it deals [ 1 + 17.32% of AP ] Shadowfrost damage to them, and grows in area and damage by 2.5%.

Enemies standing in your Defile deal 10% less damage to you.

Replaces Death and Decay.

Necrotic Plague Death Knight - LvL 100 Talent
Requires Death Knight

A powerful disease that deals [ 1 + 4.66% of AP ] Shadowfrost damage per stack every 2 sec for 30 sec. Each time it deals damage, it gains 1 stack, and infects another nearby enemy within 8 yards if possible.

You gain 5 Runic Power whenever a target infected with Necrotic Plague attempts to attack you.

Replaces Blood Plague and Frost Fever, and is applied by any ability which applied either.

Some of this information we already know, but we'll leave it alone for now and deal with it in step 2. Now, in order to determine what the net gain of anything is, we'll need to know what the loss is, so let's go find the spells that these talents will compete with, and copy their spell data. Starting with Breath of Sindragosa, we see that it costs runic power, and will therefore stop us from being able to use our primary rune dump, so let's go find out the spell data for those dumps. 

Death Coil
30 Runic Power 30 yd range (40 for friends)
Requires Death Knight

Blood, Frost:

Fire a blast of unholy energy, causing [ 127.2% of AP ] Shadow damage to an enemy target or healing [ 269.9% of AP ] damage on a friendly Undead target.


Fire a blast of unholy energy, causing [ 152.6% of AP ] Shadow damage to an enemy target or healing [ 269.9% of AP ] damage on a friendly Undead target.

Frost Strike Death Knight - Frost Spec
35 Runic Power Melee range
Requires Melee WeaponRequires Death Knight (Frost)

Instantly strike the enemy, causing 75% weapon damage as Frost damage.

Next we'll see that defile replaces death and decay, and therefore competes with unholy rune spenders. Let's start by assuming that death and decay is worth using, and so all we really need to know to figure out how defile is worth it death and decay. If death and decay is not worth using and defile is, then we'd need to instead calculate the benefit of using defile over SS for unholy, either half a death strike (if it's worth spending runes on it) or a death and decay/pestilence(whichever is better, if it's worth using on a proc of CS). These are a lot of questions, and work that we can defer until later by assuming that death and decay is worth using, like it is now for the most part.

Death and Decay
1 Unholy 30 yd range
Instant 30 sec cooldown
Requires Death Knight

Corrupts the ground targeted by the Death Knight, causing [ 6.93% of AP ] Shadow damage every sec to targets that remain in the area for 10 sec.

Lastly, we have necrotic plague, which replaces diseases, so let's grab the spell data for diseases. The disease tooltip doesn't have an AP value, which we'll need, but the aura does, so let's copy and paste that instead. 

Blood Plague Disease

Suffering [ 19.7% of AP ] Shadow damage per 3 sec.
30 seconds remaining

Frost Fever Disease
Suffering [ 19.7% of AP ] Frost damage every 3 sec.
30 seconds remaining

Step 2:
We now have all the information we need to get our first answer. Theorycrafting and math in general involves a lot of numbers, and even more importantly involves a lot of choosing the right number for the right place. Let's grab all the important looking numbers and take a note of them, so we have them accessible for easy reference. Here is an example of the actual notes I took when doing this on my own:

Death and Decay: 6.93% AP as shadow damage x11. 30 second CD. I've added x11 here, as I happen to know that death and decay ticks 11 times. 
Defile: 17.32% AP as shadowfrost damage x11, multiplied by 5% per hit. 30 second CD. Despite the 2.5% value listed on the tooltip, my request for clarification in the theorycrafting thread led Celestalon, one of the lead wow devs, to share this tidbit of information. So the growth rate has been amended to 5%. I've also assumed that defile has the same number of ticks as death and decay, which may later be proved wrong. 

Hit Damage multiplier
1 1
2 1.05
3 1.1
4 1.15
5 1.2
6 1.25
7 1.3
8 1.35
9 1.4
10 1.45
11 1.5
total: 13.75
Here I list out the damage multiplier on each tick of defile, simply adding 5% each time, starting at 100% damage, followed by 105%, followed by 110%, ect. I then add them all together to get the effective total multiplier for a full defile, which is 13.75. 

Breath of Sindragosa deals 39.96% AP shadowfrost damage per second to a cone in front of you. Costs 15 runic, plus 15 per tick. Procs rune regen talents/SI at proportional rates to primary rune dump. This information is also courtesy of patch notes (can't find a link so have one of Magdalena quoting them) and Celestalon. It basically means that we don't need to worry about lost value from not getting rune regen procs when using BoS. 60 second CD
Death coil deals 152.6% AP as shadow damage to the primary target. 
Frost strike deals 75% weapon damage as frost

Necrotic Plague deals 4.66% of AP as shadowfrost per stack every 2 seconds for 30 seconds. Each time it deals damage, it gains 1 stack and jumps to a new target within 8 yards. Replaces both diseases.
Blood Plague deals 19.7% AP as shadow every 3 seconds
Frost fever deals 19.7% AP as frost every 3 seconds

Step 3:
We create the formulas, or equations, that we'll use to answer our question. 

Breath of Sindragosa:

BoS competes with death coil for unholy. We can see looking at the spell data that BoS deals 39.96% (X) AP damage per tick, and each tick costs 15 runic, plus a getting started cost of 15 per use. We also know that death coil deals 152.6% (Y) AP damage for 30 runic, and dividing that by 2, we find the damage it deals for 15 runic, which is Y/2, or 76.3% AP. Wait a second, death coil deals more damage for the same amount of runic? Why should we pick BoS then? Let's find out exactly how much more damage it deals. 

Here is our general formula, where X is the APCE(attack power coefficient) of BoS, Y is the APCE of DC, T is the number of ticks, N is the number targets, and I is the interval between uses, which will be the cooldown when it's used on cooldown. 

((Breath of Sindragosa Attack Power Coefficient * Number of Targets - Death Coil Attack Power Coefficient/2) * Ticks - Death Coil Attack Power Coefficient/2)/ Time interval = Damage per second, in terms of Attack Power * Mastery

((X*N - Y/2) * T - Y/2)/I = DPS

Let's break it down. Y is the damage that DC does, in terms of AP. If we divide that by 2, we find out what the damage of half a DC is, which happens to cost exactly the same as a BoS tick, 15. If we then subtract that amount from the damage that BoS deals for 15 runic, X* H, we find that X - Y/2 is the damage gained(or lost) per tick. We then multiply this by ticks T to find out the total damage dealt per use. We also need to account for the cost of activating BoS, which is 15 runic, or half a DC, or Y/2 per use, so we subtract that. If we then divide by the interval, we go from damage per use to damage per second. That's really all there is too it. 

Very similar to unholy, but with a few major differences. We still want to take BoS's damage, which hasn't changed (much, I'll get to that in a second), and subtract the damage we would otherwise lose. However, in this case the damage is lost to frost strike instead of death coil, which means we need to do 2 more calculations. Firstly, frost strike damage is in weapon damage instead of AP, so we need to know how they convert. We can find our answers at the WoD patch notes, where we see that "Attack Power now increases Weapon Damage at a rate of 1 DPS per 3.5 Attack Power (up from 1 DPS per 14 Attack Power)." We'll also need to grab the old weapon normalization formula from wowpedia, which is as follows; normalized_damage = base_weapon_damage + (X * Attack Power / 14), where X is 2.4 for 1-handed weapons, and 3.3 for 2-handed weapons. So, let's see the updated formulas:
DW: normalized_damage = 1.5 * (base_weapon_damage + (2.4 * Attack Power / 3.5))
2H: normalized_damage = base_weapon_damage + (3.3 * Attack Power / 3.5)
This translates to a base APCE of 102.857% + 1.5*BWD(Base weapon damage) for all DW strikes, and an APCE of 94.286% + BDW for all 2H strikes. We then multiply that by the FS weapon damage %, which is 75%, to find out what the number is specifically for FS, which ends up being 77.143% + 1.125 * BWD for DW, and 70.714% + 0.75 * BWD for 2H. 

Now that we have translated weapon damage into something we can work with, we have another issue, and that is the cost of FS. Because of improved frost strike, the actual cost is lower than the base cost, which raises the problem we managed to skip over for DC, and that is rune regeneration talents. It seems that FS will have it's base cost changed to 30, so that it can generate rune regeneration talents at an equal rate to death coil, and improved frost presence will be changed to a 10 reduction instead of 15. This basically means that FS will proc rune regeneration talents 50% more "efficiently" than anything else. So for example, if you spent 100 runic on death coil, you would get 100 runic/30 cost *2 charges per use, or 6.6 BT charges. However, if you spent it on frost strike, you would get 100 runic/20 cost * 2 charges per use, or 10 BT charges, which is exactly 50% more. That includes 50% than BoS. So, how do we deal with defining the value of those talents? With a calculation a lot longer than this one is going to end up being. I'm therefore going to leave this up as a challenge to anyone interested in giving some theorycrafting of their own a shot, and for the time being I'll be ignoring the added rune regeneration from using FS over BoS. 

A third factor we need to take into account is rune of razorice, which will give a 15% frost damage bonus to the primary target, but no other targets (generally). This gives us enough to make a new formula!

((Breath of Sindragosa Attack Power Coefficient * (Number of Targets + Razorice bonus) - 4 *Frost Strike Attack Power Coefficient/3) * (Ticks) - 4 * Frost Strike Attack Power Coefficient/3)/ Time interval = Damage per second, in terms of Attack Power * Mastery

((X*(N + .15) - 4Y/3) * (T) - 4Y/3)/I = DPS

And yet another issue arises it's ugly head. We can SOLVE for DPS only if we know all the variables, and one we don't know is base weapon damage. We can update the equation to get around this by taking out the Ys, which contain the BWD, but it isn't pretty. For the time being, it will do. 

((X*N * (T + .15))/I = DPS + (1.15 * 4Y/3 *(T + 1))/I


Luckily for us, defile is easy to understand compared to BoS. As long as we continue to assume you want to be using death and decay, even on single target, the formula for the gain is simply:

Number of Targets * (Defile Attack Power Coefficient * Number of Ticks - Death and Decay Attack Power Coefficient  * Number of Ticks)/ Time interval = Damage per second, in terms of Attack Power * Mastery

N*(X*T - Y*T)/I = DPS

Slightly worse than unholy (Is that a thing? Seems to be), but still not that bad. The main difference for frost is that defile is affected by razorice on the primary target, DnD isn't, and that DnD doesn't benefit from mastery. So we get the slightly adjusted:

((Number of Targets + Razorice bonus) * Defile Attack Power Coefficient * Number of Ticks)/ Time interval = Damage per second, in terms of Attack Power * Mastery + Damage per second, in terms of Attack Power

((N+ 0.15) *X*T)/I = DPS + (Y * N * T)/I

Necrotic Plague:

Let's look at the tooltip for this one, one more time. "Necrotic Plague deals 4.66% of AP as shadowfrost per stack every 2 seconds for 30 seconds. Each time it deals damage, it gains 1 stack and jumps to a new target within 8 yards. Replaces both diseases." The damage it deals would be the following:

Necrotic Plague Attack Power Coefficient * Stack* Number of Targets/ Interval


It replaces base diseases, so we need to subtract the damage they would be doing, which is:

(Blood Plague Attack Power Coefficient * Mastery * Number of Targets + Frost Fever Attack Power Coefficient * Number of Targets)/I

(Y*M*N + Z*N)/I

Which gives us the finished formula of:

(X*S*N)/I - (Y*M*N + Z*N)/I = DPS 

We have another instance of part of the damage not being affected by mastery, so we need to juggle it around so that's outside of the first part. 

(X*S*N)/I - (Y*N)/I = DPS + (Z*N)/I

For once, frost is actually the same as unholy. Oh, wait, nevermind. Razorice creating more work for us again! Man, I'm going to look like such a dumbass when it ends up being not worth using or removed or something. 


(X*S*(N+0.15))/I - (Z*(N+0.15))/I = DPS + (Y*N)/I

Step 4:
The final step, we need to use the formulas to produce some numbers, and then compare numbers together to compare the relative strength of the talents. I've included things like number of targets, number of ticks, and average number of stacks into the formulas, so it should be very easy to tweak them to get whatever result you desire. The goal of this post is to share not the results, but the process. As we go further into warlords, it's inevitable that tuning and mechanics change, rendering any results I might post now irrlevent. However, barring massive reworks, those formulas will continue to work and continue to produce updated results whenever anything changes. If you are curious about the current balance, I challenge you to use them yourself and figure it out, and share your results in the comments! Now, I'm going back to working on Rotationcraft! 


  1. Reading through all of this just makes me that much more appreciative of all you do for us DK's

  2. Agreed. Thanks for everything that you do! As always, your site is a great read.

  3. I could be looking at this wrong, but in the last section for Necrotic Plague, won't it be affected by mastery, for both frost and unholy, since it deals shadowfrost damage?

    1. You are very much correct, as necrotic plague and one disease (FF for frost, BP for unholy) both benefit from mastery, I added them together as like terms and subtracted the disease that doesn't benefit from mastery at the end.

  4. Hey Mend! I've got 2 questions for you, they're irrelevant to this blog but I wanted to post on the most recent one.

    1. I've been told that Unholy is leading atm, eventough Simcraft says diffrently. Is that true?'
    2. I've checked EJ for the Unholy BiS list recently and saw your post, do you have any clue yet on what it's kinda supposed to look like? 4 Set with Crit loaded gear? 2 Set with Crit loaded gear ( like before )?

    Thanks in advance!

    1. The specs are very close, and both unholy and frost excel in different cases and fights. Unholy, when utilizing FB2.0, does slightly more single target damage on shorter fights, while DWF does significantly more burst AE and cleave, to name but a few of those cases. All 3 specs are viable, although I would caution against 2H frost as it's strengths don't make up for it's weaknesses.
      BiS lists, to me, imply a be all end all item, and anything else being inferior and not worth using at all. A more useful collection of information would be a ranking of all available item levels and options for each slot, which is something I'm working on for WoD, but as far as MoP goes I'm done working with BiS lists. 4-set is worth getting at higher ilevels, and you want items with lots of stats and crit on them.

  5. Hey Mende,
    first of all: sry 4 my bad english, i'm from germany. ;)
    So, i think you play the WoW Beta from Wod. I play Unholy DK in the SoO-Content and i'm waiting for the Pre-Patch from WoD - i have not a Beta Key. :(
    My question is: what stats do i need in the pre-patch with LV 90? Is it still Crit > Mastery > Haste? And is a 16 crit gem still better in yellow sockel as a 4 strenght/8crit? My Gear is 588 item-lv and i don't know which items i should change to do the best in the Pre-patch (for the month we play SoO in mythic and for leveling in Wod).
    Thank you for you help.

    1. You can find my current progress on WoD stat weights over at !

    2. Thank you for the Link an the nice Work you do on mmo-champion. ;)

      But it isn't e answer on my question - the results on mmo-champion are with LV 100. I asked you for LV 90 stats with SoO BiS-Gear. I think the stats from Unholy will change with the Item Squish in the pre-patch before the Addon release. I have almost any HC Warforged Item from SoO, but i have no idea which i should take when the pre-patch is online. :( This is the reason why i asked you for the stat weights from LV 90 in SoO Gear. ^^
      Another question is which Rune is the best for Unholy in the pre-patch? Do i wear 2 or 4 peaces of the Tier 16 HC Set or only HC WF Non-Set items in the pre-patch? Which is the best Tier 1 Talent? And what trinket from SoO i should use instead of ''Evil Eye of Galakras'' - the Nerf of this trinket seems really hard.
      I'm so is terrible to have no key :(
      Sorry for the many questions -
      I would be very happy if you can help me a little bit.

    3. The thread is my current progress with simming, and as you can see, I'm not finished yet! We're currently working out bugs and kinks in the sim, and trying to keep up with the constant changes that blizzard keeps making. Even if I did manage to produce some accurate lv 90 stat weights, they would no doubt change prior to launch.

      SimC also runs sims on 7.5 minute fights. Unless you plan on leveling through raiding SoO (which I've tried, and it gives terrible exp per hour), they won't be the same as the "stat weights" for leveling. What stats you pick for the leveling process will, at most, shave a few minutes off the time it takes to hit lv 100.

      I don't have the answers to any of these questions yet. I could make guesses, but they would be just as likely to be wrong as they would be to be right. I also don't really plan on finding many answers to level 90 optimization in WoD, for the reasons outlined above, but you're welcome to look into it if you are curious!