The Creamy GUI Center: Macro Mania

Each week Matthew Porter contributes The Creamy GUI Center, a column aimed at helping you enhance your WoW experience by offering an in depth guide to addons, macros and other tools we use to play WoW, along with commentary on issues that affect how we all play.
Welcome addon-aholics to this week's The Creamy GUI Center. I appologize for being a day later than usual, but this week's topic was quite the under taking. I wanted to do a little something different this week. I've been giving a lot of attention to addons as they are the main focus of my column, but they aren't the only focus. Inspired by this week's Big Red Kitty, let's take a look at macros. We'll learn how to write them, their limitations, and how they make your WoW career easier.
Macros 101
A macro is made up of slash commands and they make tasks easier by doing several of these commands with one button click. With some exceptions, these commands behave exactly as if you had typed them into the chat window. Blizzard provides two different "banks" of macro slots, 18 for general purpose macros that are shared by all your toons, and 18 macro slots for each toon independently. Macros are limited to 255 characters including spaces. Originally the thought behind this was Blizzard intend to store macros on the servers some day and that by putting a limit on how big a macro could get there would be less of a chance for exploitation. While macros can execute multiple slash commands, they are limited to executing ONE spell or ability per button press (With one exception discussed below). When WoW 2.0 went live the macro system was changed dramatically; Blizzard halted macros that they felt automated game play too much, such as macros that pick the appropriate rank of a heal spell to top off the target with minimal over heal. However, Blizzard added many new commands and variables to make new macros that are still extremely useful.
Making a Macro
Now that we know what a macro can do and their limitations, let's get down to business. To access the macro banks type /macro in the chat box. You'll see a window with two tabs, general and character macros, with 18 macro bank slots. Pick if you want the macro to be usable by all your characters or just the one you're currently playing, next we select an empty slot and a window pops up where we can type in the macro's name and select an icon. There's a special question mark icon that will automatically pick the icon that matches the abilities you type into a macro. After you select the icon you want you begin writing the macro itself. Finally you drag the macro to an action bar just like an ability from your spellbook.
I could include a complete guide to writing macros, however there are already a few excellent guides that do as good or better job than I ever could. Check out these great resources.
- Official World of Warcraft UI and Macros Forum (look for the pinned macro topics at the top, thanks to Cogwheel for his contributions)
The Question Everyone Asks
Ahh, the issue that always arises with macros, if you can perform more than one ability per button click. The answer... sort of! Oh how wonderfully confusing. Let's explain. First off the bad news; you will never be able to perform more than one ability from your spellbook with only one button press... with one small caveat. If the ability has no effect on universal cooldown then you can combine it with an ability that does by using the /stopcasting command. For example the Druid talent Nature's Swiftness has no effect on universal cooldown, so it can be used in the same macro as a heal to make an instant cast healing spell with only one button click. This also works with items like trinkets that add to spell power or attack power to make one button that uses the item and casts a spell or do an ability.
The other unique macro command I feel is worth highlighting is the /castsequence command. This special macro command replaces the /cast command and allows you to define a sequence of spells to be cast. The limiting factor is that each spell requires its own button push, so the game won't automatically start casting the next spell until you press the button again. Also the game has no idea if a spell in the sequence was resisted or not, so if and then statements aren't possible. The /castsequence command has a special modifier telling the macro when to reset the sequence, such as at the end of combat, after X amount of seconds have gone by, or when you change your target.
Examples of macros using /stopcasting and /castsequence are given below and in the resource links above.
General Macros
Here are some macros practically everyone can find handy. However, only you know what works best for your style of play, so use these as a jumping off point in creating your own. Each macro is highlighted in itialics, and should be copied precisely as is.
/use Conjured Crystal Water
/use Conjured Cinnamon Roll
/use Conjured Cinnamon Roll
A simple macro to eat and drink with one click. Change the items to what you use regularly.
/use [flyable] Ebon Gryphon; Stormpike Battle Charger
This macro will use your flying mount if it's usable, otherwise it'll use your normal mount. Be sure to change the mounts to the ones you use.
#showtooltip Remove Lesser Curse
/cast [target=mouseover] Remove Lesser Curse
This macro allows you to decurse someone without having to target them. Hover your mouse cursor over the target's unit frame and hit the macro. This makes for fast decursing when used with party and raid frames. Remember to change Remove Lesser Curse to the spell of your choice. This macro can also be used for healing and buffing.
/use [modifier:alt,target=player] Heavy Runecloth Bandage
/use [modifier:ctrl,target=pet] Heavy Runecloth Bandage
/use [help] Heavy Runecloth Bandage
Click the macro with alt to bandage yourself, with ctrl to bandage your pet, or with no modifier to select the target to bandage with your cursor.
#showtooltip Frostbolt
/stopmacro [help,noexists,dead]
/cast [button:1] Frostbolt
/use [button:2,exists,nodead] 13
/stopcasting [button:2]
/cast [button:2] Frostbolt
This is one of my favorite macros that can be adapted to any class. We all have trinkets with a clicky effect and this macro makes it super easy to use them. Click the macro like normal to do the chosen ability like always. Right click the macro to use your top trinket and immediately begin doing the ability all with the same click. What makes this so nice is the macro won't use your trinket if you don't have a valid target. No more accidently using your trinket on a bad target, or wasting precious time with 2 buttons. This macro uses the top trinket slot, to use the bottom change the use 13 line to 14. Also be sure to change the modifier and spell/ability name to whatever works best for you.
Macros by Class
One of the things I like best about WoW is how diverse the classes are. As such, it would be really hard to make a list of macros encompassing all classes and circumstance in which they would be used. However I wanted to list several for each class as a jumping off point. Use these as a template for your own.
Druid
/cast Nature's Swiftness
/stopcasting
/cast [target=player] Healing Touch
One button to use Nature's Swiftness and cast Healing Touch. Change or omit the [target=player] to your heal someone other than yourself.
/cancelform
/dismount
/cast [swimming,nostance]Aquatic Form; [nostance,nocombat,noswimming,flyable]Flight Form; [noswimming,nostance]Travel Form
An all-terrain travel form macro. When executed this will shapeshift you out of your current form if you're in one, dismount you if you are mounted, and then use the appropriate travel form depending if you're swimming, can fly, or in combat.
Hunter
/cast [modifier:alt] Revive Pet; [target=pet,dead] Revive Pet; [nopet] Call Pet; [nocombat] Feed Pet; Mend Pet
/use [nocombat] <food item>
All in one Revive/Call/Mend/Feed pet button. This will revive the pet if it's dead, call the pet if not summoned, mend the pet in combat, or feed the pet out of combat. One caveat, if you're reviving the pet and its corpse has already disappeared or is out of range, you'll need to also press alt.
#showtooltip Hunter's Mark
/cast Hunter's Mark
/petattack [target=pettarget,noexists]
/petfollow [target=pettarget,exists]
This macro will send the pet in and cast Hunter's Mark at the same time, but if pressed once more will halt your pet from attacking. Really useful to stop your pet from attacking a target.
/cast [noactionbar:1] Aspect of the Hawk; [noactionbar:2] Aspect of the Monkey
/swapactionbar 1 2
This macro will swap between a melee and a range actionbar and cast Aspect of the Monkey for melee or Aspect of the Hawk for range. In this example the melee spells are on actionbar 2 and the range spells on actionbar 1.
Mage
#show Light Feather
/dismount
/cast Slow Fall
Will dismount you and cast Slow Fall, useful when running off cliffs. Will also show how many Light Feathers you have on the button's icon.
/focus [button:1,harm] target
/cast [button:3, target=focus,harm] Polymorph: Turtle; [button:1] Polymorph: Turtle
/stopmacro [button:1,button:3]
/clearfocus [button:2]
This is a pretty complex Polymorph macro using the focus command. On normal click it will cast Polymoph and make the target your focus, allowing you to change targets. When middle-clicked the macro will cast Polymorph on your focus without changing your primary target. Finally when right click'd it will clear your focus. Remember to change the Polymorph spell to the one you like best. Also, I'm big on using my mouse, so I choose mouse buttons as my modifiers. Keyboarders out there will want to change the modifiers to shift/ctrl/alt.
Paladin
#showtooltip
/cast [target=mouseover,help,exists,nodead] Righteous Defense; [target=target,help,exists,nodead] Righteous Defense; [target=targettarget,harm,exists,nodead] Righteous Defense;
This one will cast Righteous Defense on your target if it is friendly, on your target's target if your target is an enemy, or on the target your mouse cursor is over.
#showtooltip
/castsequence [harm] reset=30/combat/target/shift Seal of Light, Judgement
Will cast Seal of Light with the first press, and Judge the seal with the second. The sequence is reset when you change targets, press shift, combat ends, or 30 seconds go by.
Priest
/cast [button:2] Prayer of Fortitude; Power Word: Fortitude
Casts single target buff, or group buff with right click. This can be tailored for any buff with single or group versions.
/cast [target=mouseover,exists,help,nodead] Renew; [target=mouseover,exists,harm,nodead] Shadow Word: Pain; [help,nodead] Renew;
[harm,nodead] Shadow Word: Pain; [target=player] Renew
This macro casts either Renew (friendly) or Shadow Word: Pain (hostile) on whoever is hovering under your mouse that exists and is not dead. If you're not hovering, it does either Renew (friendly) or Shadow Word: Pain (hostile) on your selected target that is not dead. If all of the above are false, you will Renew yourself.
Rogue
/cast [nostealth] stealth
/cast [stealth] cheap shot
/cast [combat] Hemorrhage
This will stealth you, use Cheap Shot if you're steathed, or Hemorrhage if you're in combat. Change out the abilities to suit your own.
/cast Gouge
/stopcasting
/use [target=player] Netherweave Bandage
Will Gouge your target and immediately Bandage yourself. Be warned however if Gouge fails you will still start to Bandage yourself.
Shaman
#showtooltip
/cast [Stance:1] Ghost Wolf
/cast [button:2] Ghost wolf
/cast [nomounted,flyable] flying mount name
/use [nomounted,outdoors] standard mount name
/cast [combat,nomounted,outdoors] Ghost Wolf
/dismount
This macro will use the flying mount if you can or regular mount otherwise. If you're in combat you'll shapheshift to Ghost Wolf form. Press again to dismount or shapeshift back. You can also right click the macro to cast Ghost Wolf directly. Remember to edit in the names of your mounts.
#showtooltip Windfury Weapon
/cast [equipped:shields/two-hand] Windfury Weapon
/stopmacro [equipped:shields/two-hand]
/castsequence Windfury Weapon(Rank 5), Windfury Weapon
This will cast Windfury on your main hand and stop if you have a two-hander or shield equipped, otherwise on the next press it will cast Windfury on your off-hand. Remember to change Windfury to your favorite weapon enchant on the off-chance you use something different.
Warlock
/cast [pet:voidwalker, nocombat] Consume Shadows; [pet:voidwalker, combat] Sacrifice; [pet:Felhunter] Devour Magic; [pet:succubus] Seduction
With a Voidwalker out this will use Consume Shadows out of combat or Sacrifice in combat, Devour Magic with a Felhunter out, and finally Seduce your target with a Succubus out.
/castsequence reset=15/combat/target Corruption, Curse of Agony, Siphon Life, Immolate, Shoot
This is a dot sequence macro ending with shooting your wand. The sequence resets in 15 seconds,
when you change your target, or combat ends. Be sure to change the spells around to an order you prefer and ditch Siphon Life if you're not spec'd for it.
Warrior
/cast [nocombat,stance:1] Charge; [combat,nostance:3] Berserker Stance; [nocombat,nostance:1] Battle Stance; [combat,stance:3] Intercept
Charge the target when not in combat, or Intercept the target when in combat and switch to the appropriate stance.
/script CancelPlayerBuff("Blessing of Salvation")
/cast charge
/stopcasting
/cast defensive stance
/stopcasting
/cast bloodrage
Charge a mob for extra rage, then switch to Defensive Stance and use Bloodrage for even more rage. As an added bonus this macro removes Salvation.
Whew, That's a lot to Take In
Whelp that wraps up our look at macros. I hope this wasn't information overload. When I began learning macros it seemed daunting, almost like learning a mini programming language, but the effort was really worth it. I'm sure I'm leaving out great macros I'm not aware of since I don't play every class (yet :P). I encourage you all to experiment and find macros that work for you. I've also found that you can sometimes cut back on the amount of addons you use by replacing them with macros that accomplish the same task. I invite you all to share your macro creations in the comments section. Thanks for reading!
Matthew will continue finding new ways to enhance WoW's game play in the hopes of helping you enjoy your WoW time even more.
Filed under: How-tos, Features, Guides, The Creamy GUI Center






Reader Comments (Page 1 of 2)
Omegi Jun 15th 2007 2:15PM
I can see where a /castsequence command would be useful for arena staging. At least from a mages standpoint.
I got bored last night and decided to make a 3 minute mage macro.
/dismount
/cast (Trinket Name)
/cast Arcane Power
/cast Presence of Mind
/cast Pyroblast RankX
That's as close as I can get it from the top of my head. Either way if you want to duplicate it you can just shift click on the spell in your spell book and it will link it into the macro properly so you won't misspell it. You can do the same for trinkets too.
This macro turned out to be a lot of fun when flying around Halaa.
Tinwhisker Jun 15th 2007 2:42PM
You really should mention /focus in all this. On my rogue, my sap macro sets up a bunch of stuff including a focus target for blind (should I need it).
I'm a bit of a macro junkie. My UI is mostly default but I use every available macro slot.
The whole key to getting good macros is that they take some of the mistakes out of your playing if you can anticipate what you'll need.
Here's a good example of what I mean (Warrior):
/cast [target=targettarget,help] Intervene
When that cheeky mage pulls agro you can intervene without changing targets from the mob (and potentially targetting the wrong party member).
SgtPepper Jun 15th 2007 2:43PM
Thank you, thank you, thank you for this new feature! I love learning to understand the subtle undercoatings of WoW's nice little extra's. Much appreciated =)
superbeef Jun 15th 2007 2:48PM
More please. More everything. More class macros, more explanation, more macro mania.
By the way, congratulations of being easily the best pickup WoWInsider got in the last batch. You're easily the most knowledable and one of the best written. Not that I don't appreciate the others, but they're heavily out done by your epic knowledge and sheer amount of useful information.
Lori Jun 15th 2007 3:19PM
Is there any chance of getting a UI/Macro discussion on ICftB web site where we can get continuing Macro help?
I would like a macro that finds a mob type (felhound), I guess sets focus to it, casts banish, then goes to MT target but this doesn't seem to be the place to really discuss stuff.
And macros are just like a language. One I don't know the syntax for and haven't been able to find a good place to learn it.
Nemphis Jun 15th 2007 3:51PM
@#5
As far I know, you can NOT search targets by type (Felhound, Warrior, Mage, Rogue, Giant, etc...), so a macro to do such is not feasible. Best you could do is set MT to focus and use a /cast [mouseover] lead in for the banishment with a follow up of either /target focus or /targetlasttarget.
For all:
Some mount names and trinket names can get pretty long and thus if you have a really complex macro for mounting or nuking you will easily run out of space to write everything. Way around this? Thanks to the good developers that listen in the Macro/UI forums, we now have the "Item:" For example /use Item:xxxxx (replace xxxxx with the item number [easily found using most item database addons]) and viola, you have replace a 20+ character word with 11 characters and thus more room for more macro goodness.
And before I forget
@#1
You want a super nuke, here you go:
/cast Presence of Mind
/stopcasting
/cast Arcane Power
/stopcasting
/cast item:29179 [
Nemphis Jun 15th 2007 3:52PM
And before I forget
@#1
You want a super nuke, here you go:
/cast Presence of Mind
/stopcasting
/cast Arcane Power
/stopcasting
/cast item:29179 [
Nemphis Jun 15th 2007 3:54PM
ARRG... it did like the less then character I had after the /cast item: making it look like an arrow.
You want a super nuke, here you go:
/cast Presence of Mind
/stopcasting
/cast Arcane Power
/stopcasting
/cast item:29179 [-- one of my power trinkets]
/stopcasting
/cast Pyroblast(Rank 10)
Thats a one click, one kill for most clothies (it crit hit for up to 6-7k when I was specc'd arcane/fire). First, PoM starts, then AP and the trinket go off at once and finally the Pyroblast of doom is let loose. (you can NOT be moving for all this to work in 1 click, but I am sure you can hold still for a half a second in order to click it.)
Tinwhisker Jun 15th 2007 4:32PM
@6 Here's a CC macro that I wrote to take care of all that:
/clearfocus [target=focus,dead]; [target=focus,noexist]; [modifier:ctrl]
/focus [nocombat]; [modifier:ctrl]
/script SetRaidTarget("focus",2);
/stopmacro [nocombat,nomodifier:ctrl]
/cast [target=target,modifier:ctrl] Snowball; [target=focus,exist] Snowball
Select your target before combat and macro.
To pull (out of combat CC), target and hit Ctrl-macro.
To Sheep/Sleep/Banish (in combat CC), hit .
To re-Sheep/Sleep/Banish, hit macro.
To pick up a new CC target in combat, target and hit Ctrl-macro
At any point it's just macro to CC or Ctrl-macro to pull or pick up a new target.
Tinwhisker Jun 15th 2007 4:36PM
I should also say that you never need to switch off your main DPS target to do anything but pick pu a new focus/CC target.
As my main is a rogue I macro lots of things to a focus target so I don't lose combo points on my main target.
Dryssa Jun 15th 2007 4:41PM
I noticed a few things you messed up on.
"/use [modifier:alt,target=player] Heavy Runecloth Bandage
/use [modifier:ctrl,target=pet] Heavy Runecloth Bandage
/use [help] Heavy Runecloth Bandage"
That macro can be easily condensed into one line. With Patch 2.1, multiple conditional statements can be used for one ability, and it will be used on the first one evaulated as true. So this macro would become:
/use [modifier:alt,target=player] [modifier:ctrl,target=pet] [help] Heavy Runecloth Bandage
Also, in the Mage section, you write "#show Light Feather" in order to display the number of Light Feathers you have. However, patch 2.1 also made this feature the default for all spells with reagants, and there's also the option to dismount automatically when you cast a spell. The basic Slow Fall spell itself will suffice now; no macro is required.
Lori Jun 15th 2007 4:47PM
@Nemphis It is possible to target a perticular mob type. /target felhound will do that. The problem comes about with particulars like dead ones or live ones and all the other stuff.
To be specific, I have gone to Gruul with my lock and was supposed to banish the one dudes summond felhound. I had a lot of trouble targeting the felhound to banish it and then doing something else usefull. It is crowded there. I did create a macro to target and banish a felhound, but testing the macro, I found it liked to target dead felhounds. Searcing for macro ifno, I found macros with arguments like "nodead" but I don't know macro syntax and haven't been able to find anywhere that explains it well.
Nemphis Jun 15th 2007 5:08PM
@12:
Is the name of the mob "Felhound" or is it something different? If it is, then sure, your macro of /target felhound will work no problems. What about your personal Felhound? Does it target him(her?) Probably not, as it has a specific name, it belongs to the generic family of Felhounds, but is not called "Felhound".
Having not yet been to Gruul's lair I can not personally test this, but I do know, when PvPing I canNOT use:
/target rogue
/cast Polymorph
and expect it to target and sheep that rogue picking on my mage buddies. Then I would love for someone to prove me wrong on this as it would open the doors for a lot of exploitation.
Bryne Jun 15th 2007 6:09PM
This would be a great place for you to also let people about the performance bug that affects users of conditional macros currently:
https://forums.worldofwarcraft.com/thread.html?topicId=108244826&postId=1104831192&sid=1#722
Zareena Jun 16th 2007 3:12PM
Wowwiki has a lot of great macros at http://www.wowwiki.com/Useful_macros. You can click on the links on the right for class specific ones also.
Daverick Jun 15th 2007 11:54PM
I really liked your Macros! Keep 'em coming! And more Warlock macros, please! Your column inspired me to make a 'one click' Amplify curse and Curse of Doom (as Amp. Curse isn't on global cooldown, I don't think...) and whenever I want to use CoD I always want it amplified anyway. :P Reckon someone could come up with something? I don't know if you'd need to make sure that it will still cast CoD if Amp. Curse is not up, otherwise you'd only be able to use the macro the first time during a boss fight... and then every 3 minutes, whereas CoD is on a 1m cooldown... hmm...
Pastykins Jun 22nd 2007 6:59AM
Another helpful macro for rogues that you didn't mention is a picpocket macro. Something like this for example:
/cast Pickpocket
/stopcasting
/cast Cheapshot
You can use whatever opener you like for the last part, but be sure to replace it every time you get a new rank of whatever opener you're using. The really nice thing about this macro is that if you use it on every mob you kill, you can get junkboxes really easily, which can allow to not have to farm those chests in whatever areas. You also get a little extra coin, and maybe a world drop or two.
Merus Jun 22nd 2007 6:59AM
I've always wondered if it's possible to use an ability and say something randomly from a pre-determined list. I've always liked the cast-and-say-you're-casting macros, but I've hated how spammy they get.
Medros Jun 22nd 2007 6:57AM
So I was looking at the mount macro, and it looks awesome, but I have a couple questions.
1) What if the land mount is one that is casted, like the Felstead or Charger?
2) Would the following work even with flight form/swift flight form?:
/cancelform
/use [flyable] Ebon Gryphon; Stormpike Battle Charger
Thanks for the advice.
Prester John Jun 22nd 2007 6:57AM
"1) What if the land mount is one that is casted, like the Felstead or Charger?
2) Would the following work even with flight form/swift flight form?:
/cancelform
/use [flyable] Ebon Gryphon; Stormpike Battle Charger
"
(1) /cast and /use are interchangeable. You can /use a spell; you can /cast an item.
(2) I don't see why not.