Prime's macro guide
Prime8 — Sun, 08/22/2010 - 10:58
Here's a guide I wrote up for a friend not long ago. Most of the examples I used are from my shaman, although there are a couple of druid macros at the end. Recently someone asked for it, so I'm throwing it up here.
Sorry for any problems with formatting.
Primeight's Macro Guide
Shaman Macros:
Macro text is in blue, notes are in green. Any comments which reference max character length can be ignored if you use an addon similar to Macaroon, which extends the maximum character length.
Basic Mouseover Earth Shield Macro:
#showtooltip Earth Shield()
/cast [@mouseover, exists] [] Earth Shield()
() After the spell name forces it to cast the max rank. [] Causes spells to work like normal if the previous condition isn't met. If you have auto-self cast ON in the interface options, this macro will attempt to cast Earth shield on your current mouseover target if it exists (and is helpful), if not will cast on your target (if helpful), if no target or target is harmful, it will cast earth shield on yourself.
Basic Castsequence Macro: - This macro is useful for enhance particularly, but could also be good for elemental (tbh, I don't know) or even dpsing as resto:
#showtooltip
/startattack
/castsequence reset=6 Chain Lightning, Lightning Bolt, Lightning Bolt, Lightning Bolt
All your damaging spells/abilities should include /startattack as the first line, to prevent you from casting the spell then just standing around.
You could also include your trinkets, although if you do that you should clear the error frame to prevent the "item is not ready" spam. Like this:
#showtooltip
/run sfx=GetCVar("Sound_EnableSFX");
/console Sound_EnableSFX 0
/startattack
/use 13
/use 14
/castsequence reset=6 Chain Lightning, Lightning Bolt, Lightning Bolt, Lightning Bolt
/run UIErrorsFrame:Clear()
/run SetCVar("Sound_EnableSFX",sfx);
Interupt Macro:
#showtooltip wind shear
/stopcasting
/cast [harm] [@mouseover] [@target] [@targettarget] wind shear
"Smart" targeting macro. Attempts to cast Wind Shear on your current mouseover target, then your target, then your target's target. You could also change [harm] to [harm, nodead] to prevent the macro from attempting to cast Wind Shear on harmful dead units that your mouse just happens to be hovering over (hasn't been an issue for me, but it couldn't hurt).
Ultimate Purge/Cleanse Macro (broken):
#showtooltip [spec:1] Cleanse Spirit; [spec:2] Cure Toxins
/cast [@mouseover, help] [@target, help] [spec:1] Cleanse Spirit; [spec:2] Cure Toxins
/cast [@mouseover, harm] [@target, harm] Purge
Possible fix**:
#showtooltip [spec:1] Cleanse Spirit; [spec:2] Cure Toxins
/cast [help, nodead] [spec:1, @mouseover] [spec:1, @target] Cleanse Spirit; [spec:2, @mouseover] [spec:2, @target] Cure Toxins
/cast [harm, nodead] [@mouseover] [@target] Purge
**I need to test and fix this macro. It was working pre-3.3. This is the way the macro "should" work and look.
Working (sort of):
#showtooltip
/cast [spec:1, @mouseover, help] [spec:1, @target, help] Cleanse Spirit; [spec:2, @mouseover, help] [spec:2, @target, help] Cure Toxins
/cast [@mouseover, harm, nodead] [@target, harm] Purge
This last one is working, although the showtooltip is a little buggy in that it uses the default "?" when none of the conditions are true. There aren't enough characters available to do it right. It really should be:
#showtooltip [spec:1] Cleanse Spirit; [spec:2] Cure Toxins. Also, does not selfcast (have to mouseover/target yourself).
Oh shit! button:
#showtooltip
/run sfx=GetCVar("Sound_EnableSFX");
/console Sound_EnableSFX 0
/cast nature's swiftness
/cast [@mouseover, exists] [] chain heal
/run UIErrorsFrame:Clear()
/run SetCVar("Sound_EnableSFX",sfx);
Riptide/Gift of the Naaru macro:
#showtooltip Riptide
/run sfx=GetCVar("Sound_EnableSFX");
/console Sound_EnableSFX 0
/cast [@mouseover, exists] [] Gift of the Naaru
/cast [@mouseover, exists] [] Riptide
/run UIErrorsFrame:Clear()
/run SetCVar("Sound_EnableSFX",sfx);
Gift of the Naaru is off the GCD, so I macro it with riptide to use it every cooldown.
Simple Dual Spec Macro: One button Riptide/Gift of the Naaru + Feral Spirit/Spirit Walk
#showtooltip
/cast [spec:2] [nopet] Feral Spirit
/cast [spec:2] [nomodifier] Spirit Walk
/cast [@mouseover, exists] [] Riptide
/cast [@mouseover, exists] [] Gift of the Naaru
This doesn't have anything to clear the "spell is not ready yet" errors. That could be added, although it may push past the max character length.
Stormstrike Macro with trinkets:
#showtooltip stormstrike
/run sfx=GetCVar("Sound_EnableSFX");
/console Sound_EnableSFX 0
/startattack
/use 13
/use 14
/cast [@focustarget, harm] [] stormstrike
/run UIErrorsFrame:Clear()
/run SetCVar("Sound_EnableSFX",sfx);
I used [@focustarget, harm] to identify who the tank is targeting. All you'd have to do is set the tank to your focus, then you will always be attacking the tank's target (need to create macros for other abilities as well). If you don't have a focus, or your focus doesn't have a target, or if your focus' target isn't harmful, then you will attack like normal.
My chain heal macro:
#showtooltip chain heal
/run sfx=GetCVar("Sound_EnableSFX");
/console Sound_EnableSFX 0
/cast Tidal Force
/use 13
/use 14
/cast [@mouseover, exists] [] chain heal
/run UIErrorsFrame:Clear()
/run SetCVar("Sound_EnableSFX",sfx);
Druid Macros:
Combined Growl/Faerie Fire macro: - Attempts to cast growl on your mouseover target, then your current target while in bear form. In Moonkin/Tree/Caster form will attempt to cast Faerie Fire on your mouseover target, then your current target.
Druid Forms are: Caster(0), Bear(1), Aquatic(2), Cat(3), Travel(4), Tree/Moonkin(5, if available), Flight Form(6, or 5 if no tree/moonkin)
#showtooltip
/cast [form:1, @mouseover,harm,nodead] Growl; [form:1 @target] Growl; [form:0/5/4/6, @mouseover,harm,nodead] Faerie Fire; [form:0/5/4/6, @target] Faerie Fire
Casting a spell and marking the target:
#showtooltip
/script SetRaidTarget("playertarget", 8)
/cast Faerie Fire (Feral)
You could use SetRaidTarget("Focus", X) <where X = a number from 0-8>, to mark your focus target. Any valid target variable should work here (focustarget, mouseover, etc. player is you, so your target is playertarget).
Lazy Tank macro:
#showtooltip
/cast !Maul
/castsequence reset=combat/6 Mangle (Bear)(Rank 5),Lacerate(Rank 3),Lacerate(Rank 3)
For whatever reason, this macro is less buggy when the spell ranks are included.


Some of the macros on here
Prime8 — Sat, 10/30/2010 - 09:47Some of the macros on here are less useful/no longer working with the changes in 4.0.1. I'm working on updating it, but finding some weird behaviors.
Where's the macro you were
Scaron — Mon, 09/06/2010 - 14:35Where's the macro you were talking about to me today? That should be up here...more people should know how to do that.
hahah. It didn't totally
Prime8 — Sun, 09/12/2010 - 10:02hahah. It didn't totally work, but here it is:
/me grabs %t by the ears
/stopcasting [channeling]
/cast [nochanneling] Hearthstone
Best used as a male night elf when standing directly in front of someone afk.
Here's an updated version of
Prime8 — Mon, 09/06/2010 - 10:29Double posted
Here's an updated version of
Prime8 — Mon, 09/06/2010 - 10:26Here's an updated version of the random mount macro I posted in another topic. They recently fixed IsFlyableArea (I think 3.3).
/run if (IsMounted()) then Dismount() return end; if (not IsFlyableArea()) then t={1,4} else t={3} end CallCompanion("mount", t[random(#t)])
edit: Link to the original topic with an explanation about how to put your mounts in:
/node/5895
Here's another one I have on
Prime8 — Sun, 08/29/2010 - 00:56Here's another one I have on my druid, its useful for figuring out if I'm at the soft-cap for haste as resto:
/cast Thorns
/script local start, duration, enable = GetActionCooldown(4);DEFAULT_CHAT_FRAME:AddMessage(duration);
I should have updated this
Prime8 — Sun, 08/29/2010 - 00:47I should have updated this before I posted it.
[target=target], [target=mouseover, help], etc can now just be [@target], [@mouseover, help], etc.
edit: updated
The mouseover portion of the
Prime8 — Thu, 08/26/2010 - 18:12The mouseover portion of the riptide dual spec macro is busted, not sure why. I'm working on it.
This mostly works, although
Prime8 — Mon, 09/06/2010 - 10:28This works, although the showtooltip is a bit buggy (in that it doesn't show the tooltip for spirit walk when I'm in spec 2 with my wolves out)**:
#showtooltip
/cast [spec:2,nopet] Feral Spirit
/cast [spec:2,pet] Spirit Walk
/cast [@mouseover,help] [] Riptide
/cast [@mouseover,help] [] Gift of the Naaru.
**Edit: Totally fixed. Just needed to change up the order to get the right tooltip displayed. Doesn't show GotN but I don't care about that one anyway
OOOOOO. So macros is what
Alprazalam — Sun, 08/22/2010 - 17:22OOOOOO. So macros is what lets you do what you do and heal at the same time. Gotcha.
Good Job BTW. Have actually been looking for the macro that disables the "item is not ready yet" macro that also includes the blocking your character from saying 'I can not do that yet' or whatever.