Shadow Priest Secrets

Formula's used to calculate Shadow Priest Damage


In order to write a program to simulate Shadow Priest play, you must first have the formulas used to calculate the damage each spell will do based on your gear. These formula's have specific coefficients for each spell and must be verified with painstaking target dummy testing. No other method is possible, as bugs are routinely discovered which make any reliance on patch notes or blue posts useless.

Here are the coefficients for our harmful spells.

Spell
Coefficient
 Shadow Word: Pain  0.1830 (per tick)
 Mind Blast  0.4286
 Mind Flay  0.2570
 Mind Sear  0.2861 (per tick)
 Vampiric Touch  0.4000 (per tick)
 Shadow Word: Death  0.4296
 Devouring Plague  0.1850 (per tick)

After many hours of analysis the following formulas were derived:

Mind Blast Damage Formula

Dmg = (AverageBase (1025)+(SpellPower*Misery(1.15)*Coeff(0.4286)))*ShadowForm(1.15)*Darkness(1.1)
CritDMG =  (AverageBase (1025)+(SpellPower*Misery(1.15)*Coeff(0.4286)))*ShadowForm(1.15)*Darkness(1.1)*2*CSD(1.045)
Chaotic Skyflare Diamond (CSD) actually gives 4.5% increased critical strike damage, not 3% due to Shadow Power.
Spell base damage is 997 to 1053

 

Mind Flay Damage Formula

Dmg = (BaseDmg/3 (196)+(SpellPower*Misery(1.15)*Coeff(0.257)))*ShadowForm(1.15)*(1+Darkness(0.1)+TwinDisc(0.05))
CritDMG = (BaseDmg/3(196)+(SpellPwr*Misery(1.15)*Coeff(0.257)))*ShdwFrm(1.15)*(1+Darkness(0.1)+TwinDisc(0.05))*2*CSD(1.045)
Spell base damage is 588 total (196 per tick)

 

Shadow Word: Death Damage Calc

Dmg = (AverageBase (810)+(SpellPower*Coeff(0.4296)))*ShadowForm(1.15)*(1+Darkness(0.1)+TwinDisc(0.05))
CritDMG =  (AverageBase (810)+(SpellPwr*Coeff(0.4296)))*ShdwForm(1.15)*(1+Darkness(0.1)+TwinDisc(0.05))*2*CSD(1.045)
Spell base damage is 750 to 870

 

Vampiric Touch Damage Calc

Dmg = (BaseDmg/5 (170)+(SpellPower*Coeff(0.4)))*ShadowForm(1.15)*Darkness(1.1)
CritDMG =  (BaseDmg/5 (170)+(SpellPower*Coeff(0.4)))*ShadowForm(1.15)*Darkness(1.1)*2*CSD(1.045)
Spell base damage is 850 total. 850 /5 = 170 per tick.

 

Shadow Word Pain Damage Calc

Dmg = (AverageBase (230)+(SpellPower*Coeff(0.183)))*(1+ImpSWP(0.06) +Darkness(0.1)+TwinDisc(0.05))*ShadowForm(1.15)
CritDMG =  (AvgBase (230)+(SpellPwr*Coeff(0.183)))*(1+ImpSWP(0.06)+Darkness(0.1)+TwinDisc(0.05))*ShdwForm(1.15)*2*CSD(1.045)
Spell base damage is 1380 total. 1380 / 6 = 230 per tick.

 

Devouring Plague Damage Calc

Dmg = (BaseDmg/8 (172)+(SpellPwr*Coeff(0.185)))*(1+ImprovedDP(0.15)+Darkness(0.1)+TwinDisc(0.05))*ShadowForm(1.15)
CritDMG =  (BaseDmg/8 (172)+(SpellPwr*Coeff(0.185)))*(1+ImprovedDP(0.15)+Darkness(0.1)+TwinDisc(0.05))*ShdwForm(1.15)*2*CSD(1.045)
Spell base damage is 1376 total. 1376 / 8 = 172 per tick

 

Mind Sear Damage Calc 

Dmg = (AverageBase (220)+(SpellPower*Coeff(0.2861)))*ShadowForm(1.15)*Darkness(1.1)
CritDMG =  (AverageBase (220)+(SpellPower*Coeff(0.2861)))*ShadowForm(1.15)*Darkness(1.1)*2*CSD(1.045)
Spell base damage is 212 to 228

 

Here are some important notes regarding the formulas above.

  1. Misery is a static talent. Only the hit increase is a debuff. Therefore you get the 15% increase from spell power to Mind Blast, Mind Flay, and Mind Sear regardless of whether the target has the Misery debuff. Basically you get this just by buying the talent.
  2. Critical strike damage is always 2x with a proper build. That's the "2" right before CSD in the critical strike formula.
  3. The Chaotic SkyFlare Diamond provides 4.5% bonus damage due to the Shadow Power talent.
  4. You'll notice that some talents add together before being multiplied. Darkness is additive with Twin Disciplines, Improved Shadow Word: Pain and Improved Devouring Plague.
  5. Twin Discipline really does affect Mind Flay even though it is not an instant spell. This was done many patches ago. It was Blizzard's way of throwing us a bone as our DPS was pathetic. At the time, the change made us "pathetic" with a bit more DPS.
  6. Shadow Vulnerability is not shown, but it is always multiplicative with the results of these formulas.
  7. Twisted Faith and the Glyph of Shadow directly affect Spell Power. I have calculated Improved Spirit Tap and Glyph of Shadow uptime using the base gear values on the Evaluating Gear page. These values are used to directly modify the average Spell Power during analysis. In addition, Glyph of Shadow and Twisted Faith are additive before being applied to spell power.

Well -there you have it. Should you want to explore the class or write your own computer analysis software, this section should speed you on your way.

Back to top

 

Casting Lag/Delay (Gap between spells)


First let me explain casting lag. Casting lag includes, but is not limited to, client/server lag. It also includes human key press time. The current 300ms casting lag was tested using a special key logging program and appears reasonable, if a bit optimistic, for tank and spank encounters.

My server ping is generally in the 80ms range (as measured by mousing over the Game Menu button or a mod that gives me a constant display); however, payload packets during normal play run in the 150ms to 500ms range or worse (thank you Blizzard for overloaded servers) and I'm sure you're wondering why I don't post spell cycles for various other casting lag values other than 300ms. Let me explain a few reasons why I didn't do that.

  1. Testing when my client/server lag was as much as 300ms, showed that most of the casting lag variability was due to the sloppy and inaccurate human.
  2. Increasing the casting lag substantially, generates spell cycles with an increasing probability, that during actual play, spells with cool downs will not be ready when you are instructed to use them. This is mainly because human and client/server lag do not remain constant.
  3. If your server ping is substantially higher (more than 500ms), reading a diatribe on increasing DPS is not going to solve what only an ISP change will accomplish.
  4. The spell cycles are mainly for calculating relative stat worth, not for using during actual fights. Although it's cool to use them when you can, generally they are impractical to follow.

Not being satisfied taking an educated guess about casting delays during actual play, I recently (3/9/2010) wrote my own key logger to calculate and log the delta between key presses. I'll post the data I have so far and update this as I record more encounters. So far I have five measurements to report below.

Encounter
Average Casting Delay
Target Dummy 279ms
Saurfang 326ms
Lord Marrowgar 404ms
Lady Deathwhisper 420ms
Rotgut 610ms
Professor Putricide TBD

The encounters above represent different levels of interruptions.

Target dummy - This test was done in a low population city (Thunder Bluff), with near perfect client server lag (60-70ms) and I stopped the moment I fat fingered something with about 100 seconds of total casting. I averaged the gaps between key presses (minus the spell cast time/GCD) to arrive at the 279ms value. This value plus or minus a few milliseconds represents the lower bound of what is possible in game. Any simulation or theorycrafter assuming substantially lower values is modeling nonsense. Substantially lower values can only be created programmatically which is a violation of Blizzard's EULA. Humans just don't function in milliseconds.

Saurfang - Saurfang represents a zero movement encounter with adds. Switching to adds can be done very efficiently in this encounter as it can be done while casts on your current target are in progress. The adds also spawn in front of you at all times, reducing your need to turn, etc. Barring a pure tank and spank fight like Patchwerk, this type of encounter represents the best case practical in game encounter (unless you routinely fight target dummies).

Lord Marrowgar - This encounter is also a low movement fight with a few additional delay creation points. In our guild the ranged DPS with the exception of the hunters stand on his butt to avoid all the fire. This allows you to free cast during his stationary phase. Bone spikes appear within the cone in front of me allowing near instant add switching or none at all as I Mind Sear. Only when a hunter is spiked do I delay further to DPS a player behind me. During Bone Storm, I continue to cast uninterrupted, only if he stops and a fire path is extending towards me, will I move slightly to remain out of the fire. Movement for me during Bone Storm ranges from none, to two or three small (couple yard) adjustments. When Bone Storm ends, I take time to relocate myself on his butt. During the measurement above I was Bone Spiked only once, and I moved only once during the few Bone Storms and at the end of each. If anything, I feel this particular run was a little on the low end of typical disruption as nearly everything went my way. Typically I have slightly more movement during this encounter.

Lady Deathwhisper - This encounter has death and decay, ghosts, add switching and possible possession, all delaying your cast times. During the test above, I was never possessed and spent the majority of my time on the boss.

Rotgut - This encounter requires substantially more movement due to him trying to puke on people and the slime kiting.

Professor Putricide - This encounter represents the upper end of the movement spectrum.

The data being logged requires careful analysis as you must account for periods when bloodlust is up as you have to subtract the spell cast time from the reported deltas. Negative casting gaps (mind flay clips) must be removed entirely. You can download the key logger to try this yourself by clicking Keylogger*. It only logs the keys 0 through 9 and only when they are released. Any numeric keys you press that are non-attack spells must have their delta's summed up to obtain the true delta between each attacking spell. If you use keys other than numbers for casting your attacks, you'll need to write your own program. The Zip file's MD5 hash is: 04EBB1A5900AD5546DD89BC94E20491B

The program creates a comma delimited file of deltas and number keys. The first key release has no delta for obvious reasons, the second key release shows how many milliseconds it's been since the prior number key was released. I implemented a high resolution timer that should be accurate to the nanosecond level on most modern machines. Pressing the start button begins logging to keystrokes.csv. Pressing the button again closes the file and stops key logging. If it can't create keystrokes.csv or it is open by another process (i.e. Excel), the program will crash as I didn't bother doing any error checking -FYI.

*Note: Yes, this _is_ a key logger, some anti-virus software with heuristic AI capabilities which detect a programs behavior's may even alert you that it is logging keys. Take some advice from someone who deals with network and host security issues for a living, if you don't know me, don't download it. To anyone that doesn't personally know me, I should be treated as any other "untrusted" person/source on the Internet.

Back to top


Shadow Word: Death


Since all raiding Shadow Priests have T10 gear bonuses, I have deleted the spell cycles for T9 gear. Since no cycle in the T10-4 table contain any Mind Blast waits or Shadow Word: Deaths, I've removed the comments here regarding SWD. Although it's possible they might appear at haste values above 1500, I did not see the value in calculating cycles above 1500.

Back to top

 

Spell Hit Worth


The evaluation of Spell Hit is a bit interesting. Although it is generally converted to spell power for inclusion, it actually works in reverse. Spell Hit prevents DPS loss rather than truly adding DPS. To calculate the effect of not being hit capped, I have made a special delay called "Miss Delay." Once upon a time, when I was not hit capped, I noticed a distinct "human thinking delay" when spell misses would occur. This only occurred after Mind Flay misses and when you think about our spell rotation, the reason for this becomes apparent.

Here is the reasoning. Generally missing a Shadow Word: Pain (SWP), has no significant impact on DPS as once you do land, it is nearly impossible to miss with enough Mind Flays (MF) to have it fall off. After a Devouring Plague (DP) or Shadow Word: Death (SWD) miss, you have between 1 and 1.5 seconds to decide what the next best spell is due to the Global Cool Down (GCD). After a Mind Blast (MB) miss, you knew when the spell was cast that you can't recast it as it has a cool down. You were already preparing to refresh a DoT or cast Mind Flay, leaving no significant thinking to do after the miss.

Mind Flay is different, after a MF miss, you can recast it, check if MB is ready, refresh a DoT that is falling off, etc. This is the delay I noticed in typical play and therefore added to the program code. When testing under the hit cap to determine the worth of Spell Hit, the program adds the Miss Delay to the casting sequence after any missed Mind Flays. This delay contributes to the DPS loss in a natural way so we can see a more realistic (higher), value of Spell Hit.

With all that being said, my calculated Spell Hit worth is lower than that published elsewhere. I believe this difference may be rooted in the way others are calculating it. I've never looked at the spell casting code for SimulationCraft, but I know it runs for many hours to do thousands of simulated battles, while simulating a full raid worth of characters. The processing time necessary to handle all the various classes, etc, probably leaves less time to get fancy with any specific class's spell rotation. Since my program was specifically designed to optimize the spell cycle, it adapts to spell misses just like a human would. It will not blindly cast the next spell in a set rotation, but evaluates after each cast what spell will provide the most damage. Again, I can't say for sure what others are doing in their code, but I see no reason to believe their Spell Hit value is accurate in practical play.

As an interesting side note, Devouring Plague with the Improved DP talent is a two roll system with regard to misses. If you are not hit capped, you can land with the instant damage, but the DoT part can miss entirely, or you can miss with the instant damage and land the DoT. Shadow Vulnerability only stacks if the DoT part lands. This may also account for differences between theorycrafters if this is not factored in, as a one roll system would penalize the player more for misses.

Finally, let's talk about why we calculate the worth of Spell Hit to begin with. You might say, "Everyone just reaches the hit cap and then ignores it after that, so why do we need to know how much not having it hurts us?" The answer is simple, finding the Best in Slot (BiS) gear, is a trivial matter. Creating the best DPS "outfit" is a bit more complex. I want to wear the "Best Outfit" and don't care how many BiS items I have. To maximize DPS, you want to gain the most hit while sacrificing the least in DPS attributes in each slot. In addition, there have been many times when putting on a piece of +hit gear drops my DPS more than being slightly under the hit cap. The value of Spell Hit on the Evaluating Gear page is what allows us to make that judgment.

Back to top


Haste


As I mentioned on the Evaluating Gear page, Haste's value takes a penalty during typical play. I wanted to provide a few insights into this issue.

First, let me post the actual tank and spank value for haste at a few different casting lag values.

Casting Lag
 
Haste in Pseudo Spell Power
Comments
300ms
=
0.9760
Perfect Tank and spank with no errors by the player
350ms
=
0.9345
 
400ms
=
0.9005
Low end of the normal encounter range.
450ms
=
0.8932
 
500ms
=
0.8394

400ms and above represents stepping out of the fire, changing targets, all the things real players not playing in a fantasy simulation have to do. The most important thing you can get out of the table above is what I stated earlier. Every time you delay casting for any reason, the value of haste goes down. That is why I highly recommend you use a value that is lower than tank and spank perfection as that value is guaranteed to be too high, causing you to select haste gear/gems when critical strike gear/gems would provide more DPS. The value of Haste I posted on the Evaluating Gear page was that of the 400ms test. This is a rough estimate of delays during boss encounters. I think this reduction is extremely conservative and it is likely the casting delay loss is much higher during many encounters. By contrast, the value of Crit is not affected by casting delays.

This is critical when gemming and enchanting gear as all computer simulations overvalue the practical value of haste. It is particularly critical for Shadow Priest's as our haste and critical strike values are so close that the unwashed masses are likely to gem orange haste gems rather than critical strike because WoW players excel at reading some dry statistic out of context and repeating it as Biblical truth for all eternity.

This brings up the issue of where the value of haste comes from in the first place. Please examine the chart below (300ms casting gaps).

 

The value of haste comes directly from the slope of that line. This graph shows the increase in DPS as haste increases. The value I used comes from extrapolating that slope and converting DPS into Spell Power equivalent. This graph shows the perfect tank and spank (300ms casting lag). I should also mention that this graph was generated assuming the player has both the T10 2 set and 4 set bonuses.

I know I shouldn't have to say this but I will anyway. Anyone using the information on this page to infer gear attribute worth by thinking that the values would in any way apply to Mages, Warlocks, Hunters, Death Knights, Paladins, etc. needs their head examined by a team of psychologists in Vienna. The only thing I will say is that for every class there is a conversion factor for each gear attribute, allowing for the creation of a single number representing the gear's DPS potential.

In addition, under no circumstances do DPS classes need to obtain "this" haste value, or have at least "that" much critical strike, to function at high levels. This concept of needing some minimum amount of something comes from heaven knows where, and has no basis in scientific fact. If Blizzard offered me 1 million spell power but told me I couldn't have any haste, Crit or Spell Hit, I'd say, "Thank you." To put it another way, I'm repeatedly asked in game, "Can you look at my gear and tell me if I have enough Crit?" Replace crit with haste or any other attribute, and the question is still unanswerable. The very premise of the question is flawed. It is like asking a man, "When you were pregnant, did you crave Ice cream or Pickles?" The question has no answer as the built in assumption is false. So let me say it again, NO DPS CLASS NEEDS A CERTAIN AMOUNT OF ANYTHING TO "FIX" THEIR DPS. If this is unclear, read and reread the Evaluating Gear page for maximizing your potential damage.

Back to top

 

Gemming Gear


Gemming gear is not a trivial task, but is is often treated that way by many players. Changing one piece of gear may cause me to regem three others in order to maximize DPS. The proper use of socket bonuses and the placement of your minimum two purple gems can add additional spell power to your outfit.

First let's talk Gem colors. Non-Jewelcrafting Shadow Priests will use only three gems.

  1. Runed Cardinal Ruby - 23 Spell Power
  2. Potent Amertrine - 12 + (10 * 0.9200) = 21.20 Spell Power
  3. Purified Dreadstone - 12 + (10 * 0.5787) = 17.787 Spell Power

Placement of the minimum two purple gems should be your greatest concern. If at all possible, put these in a gear piece with a socket bonus of 7 spell power. For example, the T9 chest has a Red and Blue Socket. By using a purple in that item, you gain spell power over using a double red while getting closer to satisfying the Chaotic Skyflare Diamond requirements. A spell power socket bonus of 5 is nearly a wash and is your second best option (17.787 + 5 = 22.787 or a spell power loss of 0.213).

Back to top