How Spell Piercing works
Spell Piercing doesn't add a flat amount of damage. Each hit rolls a step: +0%,
+10%, +20%, and at high values +30%. In the combat log the
bonus shows up as a negative resisted number.
- Debuffs like Curse of the Elements lower the target's resistance, but never below 0. A debuff that would take it lower adds nothing.
- Spell Piercing comes off what's left. Once it passes 0, the rest turns into bonus damage. Against a target with no resistance, all of it is bonus.
- The average share is R / (|R| + 9 × your level), where R is the resistance after debuffs minus your piercing. A positive share is resisted damage, a negative one is bonus damage.
- Up to an average of 10%, each hit lands on 0, 10 or 20% at 1 − 7.5a, 5a and 2.5a. Past 10%, every 10% step within 20 points of the average can come up, at 0.5 − 2.5 × its distance from the average.
The share depends on your level, not the target's, so the same piercing is worth less as you level. Holy has no resistance in Forever and takes no piercing.
Hit types
- Direct or channel: rolls the full share. Channel ticks such as Mind Flay count here.
- DoT tick: the sim rolls a tenth of the share. Logs show partial resists on ticks at about a tenth. No bonus from piercing has shown up on a tick yet.
- Binary: spells with an effect besides damage, such as Frostbolt's slow. The average share is the chance to resist the whole spell, and one that lands still rolls its damage like a direct hit.
What the logs show
- 15 piercing at around level 22, almost 3,000 hits: +10% came up exactly twice as often as +20%, for an average bonus of 7.5%. Every school takes it, and crits roll the same as normal hits.
- A Fireball log with more piercing shows the +30% step once the average passes 10%.
- No bonus has shown up on DoT ticks in more than 1,000 ticks from a caster with 7 piercing.
- A caster with 1 piercing got no bonus in 1,791 hits, where the formula expects a few percent.
- The 9 × level constant is fitted to logs from levels 20 to 30. Above that the numbers are the model's prediction until someone logs it.