Macros take advantage what is known as a scripting language to accomplish some unique custom commands. Basically, the slash commands (/wave or /cast Blink) are the same you have grown accustomed to using for chat and emotes. This scripting language can be called programming lite, sounding more like the spoken word than programming syntax. It could be compared to telling someone to go get a cup of coffee, rather than telling them to stand up, turn left, take 3 steps forward, turn right, step over the cat, and so on.
Before one begins writing macros, it is important to understand what a macro can and cannot do. Here are some tidbits that you should know:
- Execute multiple commands at once, granted they do not trigger the Global cooldown (GCD)
- Step through a sequence of spells, abilities and other commands
- Make 'smart' decisions about a target's status and act appropriately
- Equip items
- Use items
- Cast spells
- Trigger abilities
- Store targets as your focus
- Facilitate an entire spell sequence with one click (as opposed to clicking one button more than once)
- Wait for the GCD to expire and move forward independently
- Play your character for you
For the sake of clarity, I will review the spell sequence functionality. Your macro could step you through a sequence of spells like Pyroblast
and Fire Blast
, requiring that you click the macro's button each time the Global cooldown resets. However, the same macro could not cast Pyroblast, wait for the GCD to expire, cast Fireball, wait for GCD, cast Scorch and so on.
Now that you know some fundamentals about macros, stay tuned for the next installment where I'll go into some basic commands and simple macros to get you started.
For those of you who simply cannot wait, Blizzard's official Macro Guide
is a great place to start learning more about the power of macros. Also, thanks to Arturis, who pointed out some older macro-related stories here at WoW Insider. David
's piece on using macros to manage your focus
's piece on Mage macros
s piece on Rogue macros
are great resources we already have. Note that with recent patches, the /stopcasting slash command is no longer necessary.