Once upon a time in Heroes of the Storm, Spell Power was Spell Power. Then the devs apparently decided they didn't like some of the implications of the implementation they had, and reworked most Spell Power effects to not actually be Spell Power. (Or more accurately, to not be AbilityPower) This reworking was implemented inconsistently in several senses, and so in the game's current state there are still effects that use true Spell Power when they're not supposed to, effects that are 'fake' Spell Power but are genuinely indistinguishable for player purposes, and cases where the implementation is meaningfully incorrect in a way that impacts the value of Talents and the like.

Before explaining 'true' Spell Power, I need to explain 'fake' Spell Power. When correctly implemented, 'fake' Spell Power looks like this:


<HealDealtAdditiveMultiplier index="Life" value="0.1" />
<HealDealtAdditiveMultiplier index="Shields" value="0.1" />
<DamageDealtFraction index="Ability" value="0.1" />

This chunk of code says that the effect adds 10% of the base values when the affected unit attempts to restore regular HP, when it generates Shield HP, and when it does Spell damage. This is the current intended state for how Spell Power modifiers ought to work, but various individual effects only apply a Damage Dealt modifier (Because whoever wrote the code incorrectly believed this non-healing Hero doesn't need code for modifying Healing Dealt), which matters because Hearthing is a universal Ability that heals the user and is in fact affected by Healing Dealt modifiers. (Except on Deathwing, where it doesn't heal) Individual Heroes often have or had further reasons for it to be an incorrect decision: for example, Li-Ming spent a long time with her Glass Cannon Talent only modifying Damage Dealt, which was incorrect because her Dominance Talent heals her and Healing Dealt modifiers do in fact affect even percentage heals, and similarly her Diamond Skin Talent generates Shield HP and Shielding Dealt affects even percentage-based Shield HP effects, and so even aside Hearthing she was missing out on Spell Power benefits she was supposed to have.

So what's 'true' Spell Power? Well, I alluded to this earlier, but in the code it's labeled
AbilityPower, a fact that still comes up even with 'fake' Spell Power as such effects will still use the AbilityPower label for, among other things, the purpose of communicating that an affected unit's summary should change their displayed Spell Power. 'True' Spell Power does all the above things (Change Ability damage, change healing throughput, change Shielding throughput) plus one more:

It gets dynamically passed to summoned units.

That might not be clear enough on its own, so let's cover a concrete example.

As of this writing Nazeebo is a Hero with two-and-a-half unit summoning effects (Zombie Wall, Gargantuan) who has a Talent implemented as 'fake' Spell Power (Thing of the Deep) and another Talent implemented as 'true' Spell Power. (Soul Harvest) If he summons Zombie Wall while he has +10 Spell Power from Thing of the Deep, his Zombies are unchanged. If he summons Zombie Wall while he has +35 Spell Power from Soul Harvest, his Zombies themselves get +35 Spell Power and so add 35% of their base damage to their Basic Attacks. (Since, like most summons, their Basic Attacks do Spell damage, not Physical damage)

Furthermore, I specified that such modifiers are 'dynamically' passed on to summons. If Nazeebo uses Soul Harvest, then summons Zombie Wall a couple seconds before Soul Harvest times out, his Zombies will initially have boosted damage, and then lose it when Soul Harvest times out. By the same token, he could summon Zombie Wall before using Soul Harvest and the Zombies would start out with no Spell Power and abruptly gain Spell Power upon activating Soul Harvest.

This whole thing is an aspect of modern Heroes of the Storm design I have mixed feelings about. On the one hand, summons dynamically updating their strength alongside their originator certainly feels weird, and I don't think I'd like it if summons 'locked in' whatever Spell Power modifier their originator had at the moment of summoning. This latter scenario would have a bunch of odd implications as far as emphasizing timing of summons, and create balance headaches anytime a summon had a much longer maximum timer than a given Spell Power boost; you'd have Ana Nano Boost Kerrigan for 8 seconds, only for Kerrigan to summon her Ultralisk and noticeably benefit from Nano Boost for 20 seconds.

But even aside how the switch to 'fake' Spell Power has not been implemented with perfect consistency itself, there's several issues regarding intuitiveness, clarity, and design coherency with the new approach.

First of all, what even counts as a summon? Nazeebo's Abilities all involve the creation of entities within the game world that move about; why should a player expect Thing of the Deep to boost the bites of Corpse Spiders but not boost the swipes of Zombie Wall? In practice the dividing line seems to largely work out to 'can you click a thing and get the Target Info Panel to pop up or not': if the answer is 'yes', then probably it won't be affected by 'fake' Spell Power, where if the answer is 'no' it probably will be affected by 'fake' Spell Power. And I'm saying 'probably' because it's not actually consistent; Murky's Pufferfish involves a clickable unit with HP that delivers damage, and it will increase its damage if Murky is affected by 'fake' Spell Power like his Living the Dream Talent.

Similarly, the game isn't perfectly consistent on this topic on other layers. Thing of the Deep won't boost a Gargantuan... if I restrict my definition of boosting to 'exactly the Gargantuan's Basic Attacks'. The Gargantuan does some damage when initially summoned, which is boosted by Thing of the Deep, and Nazeebo can manually order the Gargantuan to Stomp, which also has its damage boosted by Thing of the Deep. Apparently those are considered to be sourced from Nazeebo himself, not from the Gargantuan. This isn't the only example of this type of behavior: Zagara's Infested Drop sources the drop-in damage to Zagara and so is boosted if she gets a 'fake' Spell Power boost, vs the resulting Roachlings not being boosted by 'fake' Spell Power effects on her. This type of thing is actually surprisingly common when you consider summons aren't actually a strongly widespread mechanic.

I'm also unsure what the 'design function' is really meant to be here. I said it 'feels' weird for summons to dynamically change their performance with their summoner, but while this is true, it's just a slightly-more-intrusive aspect of a general bit of strangeness to Heroes of the Storm: all effects that can apply damage several seconds past initial usage have the potential to suddenly have their effectiveness jump up or down because their source had its performance modified. Why is it okay for Lunara to poison someone for 9 seconds or Deathwing to set the ground on fire with Cataclysm for up to 9 seconds or Ragnaros to toss out a Lava Wave that takes over a dozen seconds to travel down its lane and these all dynamically update their damage, but Zagara tossing out a Hunter-Killer for 8 seconds needs to have stable damage?

I'm not necessarily saying I think the devs ought to revert to using true Spell Power everywhere, but I do have to wonder what the thought process for cutting out summons was.

------------------------------------------------------------

Next time, we

See you in the Nexus.