To that end, there have been many easy-to-use tools developed in order to simplify the aspects of theorycrafting into a practical application that players can use. Things such as Rawr or Simcraft have become a very popular source of information regarding theoretical data and how it can be used within the game, giving access to information such as talent spec choices and gearing upgrades. Even still, such programs are not without their flaws, and often the theoretical mechanics used by such programs can be rather confusing to follow. It's my wish to bring theorycrafting to the general population in a different approach. Instead of merely tossing out information at random with the hopes that someone out there will grasp the concept, I wish for people to understand the basics that fuel theorycrafting by presenting it in such a way that is easy to understand.
To that end, I wish to present the theory behind the mathematical calculations for spellpower. How does spellpower scaling function? What effect does the stat really have for increasing a player's power? Why does spellpower behave the way that it does? These are all questions that form the basic principles behind theorycrafting, and it is the allure of figuring such things out that draws people to theorycrafting. As the game becomes more accessible to more people, so too should the theory that drives it.
How spellpower functions
Spellpower functions on a rather simple, if somewhat hidden, concept known as spellpower coefficients. Spellpower coefficients are a function of every spell in the game that determines the actual gain that each ability gains per point of spellpower. In the most basic form, coefficients are rather easy to figure out. Barring a few exceptions, a spell's coefficient can be discovered using a few simple formulae. For any spell that deals damage and has a cast time, the formula is merely cast time/3.5. 3.5 is the normalization factor for spell cast time; any spell that has a cast time of 3.5 will have a coefficient of 1 (or notated as 100%).
The scaling of this function is limited to 1.5 and 7 seconds. Any spell that has a cast time lower than 1.5 seconds, such as an instant spell, is normalized at the 1.5-second mark (giving it a 42.86% coefficient), while any spell with a cast time above 7 seconds is normalized at the 7-second mark (giving it a 376% coefficient). Channeled spells also fall into the category of direct damage spells such as this and use the same formula; in place of cast time, however, they use channel duration. There are a few exceptions to this rule with the spells Soul Fire for warlocks and Pyroblast for mages. Soul Fire has its coefficient set to 115%, while Pyroblast also has its coefficient set to 115% with an additional 5% added on to the DoT effect. The channeled Drain Soul is also an exception, having its coefficient set to 214.3%.
When it comes to damage over time spells (DoTs), the cast time is not used in calculating out the spellpower coefficient. Instead, the coefficient is based on a function of the duration of the effect itself. For DoTs, the normalization point is set to 15 seconds, making the formula DoT duration/15. Unlike direct damage spells, there is currently no known cap on how high a DoT's coefficient can scale based upon duration. In this situation, a DoT with a 15-second duration would have a 100% coefficient. As with direct damage spells, there are a few spells which are exceptions to the rules. First is Shadow Word: Pain, which has a coefficient of 110% (instead of 120%). Curse of Agony is locked at 120%, and Curse of Doom is locked at 200%.
Next in the list are hybrid spells, or spells that deal both direct damage and damage over time. This is where the math begins to get a little bit more tricky. First, you have to look at each portion of the spell independently. Take the cast time of the ability and treat it as you would any normal direct damage spell by dividing it by 3.5. Then, take the duration of the DoT effect and treat it independently, dividing the duration by 15. To get the coefficient of the direct damage effect, follow this formula:
Coefficient = (Normal Direct Damage Coefficient)² / ((Normal Direct Damage Coefficient) + (Normal DoT Coefficient))
For example, let us say we have a spell with a 1.5-second cast time and a 15-second duration. This means that the normal direct damage coefficient is 0.4286 (1.5 / 3.5) and the normal DoT coefficient is 1 (15 / 15.) Plugging that into the above formula, we would end up with: Coefficient = (0.4286)² / (0.4286 + 1) or Coefficient = 0.1837 / 1.4286, which results in 0.1286 -- written as a 12.86% coefficient.
For the DoT portion of the spell, use the same formula, merely replacing the first normal direct damage coefficient with the normal DoT coefficient, so that the formula looks like this:
Coefficient = (Normal DoT Coefficient)² / ((Normal Direct Damage Coefficient) + (Normal DoT Coefficient))
Once you calculate the coefficient for both the direct damage portion and the DoT portion, add both values together in order to get the spell's total coefficient. As always, there are a few exceptions to the rule. First is Immolate, which has an equal 20%/20% split between the direct damage and the DoT. The other is Holy Fire, which has a coefficient of 57.5% for the direct damage and 18.5% for the DoT.
One important thing to note is that a spell's cast time, when calculating a coefficient, is based on untalented values. Talents such as Starlight Wrath that reduce the base cast time of a spell do not reduce the spell's coefficient. Spells will still retain the same spellpower coefficient, regardless of how fast any talents or haste makes the spell actually cast.