Problem
When Using Spellblade’s ability, Enchanted Blade, she will not consider herself an ally for the boost when the ability is used. This may have to do with Enchanted being removed before the ability takes effect as it is otherwise inconsistent with Grand Inquisitor.
How often does this happen? When did it begin happening?
This has happened to me anytime Spellblade used her ability. Again, I suspect it has to do with when enchanted is removed and when the check is made for the skill.
Steps to make it happen again
Use a team with Spellblade in a battle. Using Elven Bard or another character that can choose which ally to enchant will accelerate this process to select Spellblade although this is not necessary since Spellblade can enchant herself at random.
While Spellblade is enchanted, have her use her ability on a target that cannot die to the damage. The damage of Spellblade’s ability is 1 + Own Magic + (5 x “enchanted allies”). If Spellblade is the only enchanted team member, it should deal 11 damage given a magic stat of 5.
He can’t be his own ally, right?
If I go to a bar with an ally, I have one person with me not two. Otherwise it would state, get drunk boosted by humans in your team. That would consider everyone.
“Ally” or “allies”, whether technically correct or not, in the context of this game, always refers to everyone on the user’s team, including the user themselves. When it doesn’t, it specifies “other allies”.
You are correct that you don’t get the damage boost because enchanted is removed - it is never active during the damage step of the spell. When you cast the spell, before you can even target, you can visibly see enchant get removed, because enchant gets removed when the spell is cast, which happens when the button is first pressed (along with mana being reset to 0, on spell cast traits triggering, etc). THEN targeting happens. THEN the board is frozen, preventing any matches or gem drops until the spell finishes effect processing (not applicable here, but included to demonstrate the order of major steps). THEN damage and other effects in an order determined by the specific spell, in this case, deal damage then enchant a random ally. THEN the board is unfrozen (again, for completeness). Enchant will never be active on the caster when damage calculation occurs because it was removed in a previous main step (the “enchant a random ally” substep of effect processing occurs after damage as well). The same issue occurs with Undine (submerge is also removed on cast) and Penglong. On the flipside, an Arcane troop always gets that +1 magic included in their damage calculation from their own casts.
So is it a bug? Well, it might very well be an unintended consequence of how these things interact, but judging how difficult it seems to have been in the past to shuffle things within substeps, let alone big steps that always happen in a specific order currently like would need to happen to fix this issue plaguing three (two probably not all that much used) troops, I don’t see this as being a high priority fix, if ever. Undine’s recent boost ratio buff might have very well been in part to compensate for this oversight. A compromise/workaround would be a similar boost ratio buff for Spellblade (say, x7) and Penlong (x3 maybe) and possibly updating their descriptions to indicate boosted by other enchanted allies, just to avoid confusion.
The only other solution I can think of is making enchant dispel as soon as the spell is confirmed activated, thus having room for a check between cast and removal that would take into account the enchanted status of the caster.
Enchanted is removed when the spell is cast which is why Spellblade doesn’t count herself as being enchanted, because in order to cast her spell enchanted is removed.
I totally understand that’s where the coding is. It’s just that I find it inconsistent with other spells of similar nature due to the mechanics of what is being checked.
This is consistent with other troop spells that have boosts based on effects which are dispelled on spell casting:
Enchant and Submerge are both removed when spells are cast, so for example Undine also won’t get the boost for himself being submerged when he casts his spell because submerged is dispelled on spell cast.
Grand Inquisitor is different because his spell isn’t boosted by temporary effects which dispel on spell cast, his is boosted by barrier which is only removed when receiving damage, and by Whitehelm allies, which doesn’t change ever.