WoW API: CastSpellByName

From AddOn Studio
Jump to navigation Jump to search

WoW API < CastSpellByName

CastSpellByName(spellName{, onSelf});


String - Name of the spell to cast. Rank is optional, if omitted, highest possible is picked automatically.
Boolean - Should the spell be cast on the player (vs target)? If no target exists and the onSelf evaluates to false, cursor is switched to casting mode.


CastSpellByName("Flash Heal(Rank 2)"); -- Cast Flash Heal (Rank 2) on target.
CastSpellByName("Flash Heal"); -- Cast Flash Heal (Highest rank) on target.
CastSpellByName("Flash Heal",1); -- Cast Flash Heal (Highest rank) on self.


To cast spells that contains parentheses in the spell name, such as "Create Healthstone (Major)" and "Faerie Fire (Feral)", it's necessary to either specify rank or add () to the end of the spell name, like:

CastSpellByName("Faerie Fire (Feral)()");

You might encounter difficulties when using this on a localized version of WoW.

  • See the Unicode part of the Localization HOWTO for more details about editing a source file containing localized strings.
  • This problem does only appear when working with Lua source files. When you're using macros, inside the WoW client, it should work in unicode directly.
  • You can still use this function outside of secure code to open trade skill windows and to summon non-combat pets and mounts.