Changes the spell used for dynamic feedback for a macro. Normally a macro uses the item or spell specified by its commands to provide dynamic feedback when placed on an action button (through the Action APIs, e.g. IsActionUsable()): e.g. if the macro uses a consumable item, the button will show the number of items remaining; if the macro uses an item with a cooldown, the button will show the state of the cooldown. This function allows overriding the item or spell used by the macro with another item -- the given item's state will be used for such feedback instead of the item or spell used by the macro.

See also Macro functions.


SetMacroSpell(index, "spell" [, target]) or SetMacroSpell("name", "spell" [, target])


  • index - Index of a macro (number, macroID)
  • name - Name of a macro (string)
  • spell - Name of a spell to use for the macro (string)
  • target - A unit to use as target of the spell (affects the macro's range indicator) (unitid)