Let me write out that script with indentation;
Code:
~ If we're disabled, do nothing
doneif (tagis[Helper.FtDisable] <> 0)
~ All armor - 15% spell failure (we also check for the User.Activation
~ tag, in case the user left this active before purchasing arcane armor
~ mastery).
if (tagis[User.Activation] + field[abilActive].value >= 2) then
foreach pick in hero where "EquipType.Armor"
if (eachpick.field[gIsEquip].value <> 0) then
eachpick.field[arArcFail].value -= field[abValue].value
endif
nexteach
endif
See how the if statements are each matched by an endif? And how the foreach is matched with a nexteach? When you deleted the line that has a test for abilActive, did you also delete the matching endif? Is that what caused the error you're seeing?
Also, the second line;
Code:
doneif (tagis[Helper.FtDisable] <> 0)
That code is feat and trait specific - "FtDisable" means "Feat Disabled"
For a custom ability, use
Code:
doneif (tagis[Helper.SpcDisable] <> 0)