View Single Post
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old August 23rd, 2016, 07:49 PM
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)
Mathias is offline   #10 Reply With Quote