Useful macros for shamans

Anti-Spell Combo
This combo takes advantage of the fact that Wind Shear is not only on a different cooldown to Shocks, but also circumvents global cooldown. Using this macro will both interrupt the target's casting, and cast Purge on them.

/stopcasting /cast Wind Shear /cast Purge

One Button Weapon Enchants
Shamans use a lot of action bar space for all of their self-enchants. This macro combines all four weapon enchants into a single button that heaves thus when you click it:
 * 1) No Modifier: Windfury Weapon
 * 2) Alt: Rockbiter Weapon
 * 3) Ctrl: Flametongue Weapon
 * 4) Shift: Frostbrand Weapon

/use [nomod] Windfury Weapon; [mod:alt] Rockbiter Weapon; [mod:ctrl] Flametongue Weapon; [mod:shift] Frostbrand Weapon
 * 1) showtooltip

Naturally, spells can be changed around depending on what enchant you like to use. To conserve space in the macro, you don't need the Windfury option until level 30, and at that point you will want to remove Rockbiter from the macro.

One Button Harm or Heal
This simple macro combines a damage-dealing spell with a healing spell. It will never give you an error message from casting a spell on the wrong target, it saves space on your action bar, and gives you access to two spells at once.

/cast [harm] Lightning Bolt; [help] Healing Wave

You can pair damage dealing spells with healing spells however you want. I prefer to match similar spells together to make it easier to use. This example pairs Lightning Bolt with Healing Wave due to their similar cast times. Another example would be Chain Lightning and Chain Heal which share similar cast times, cooldown, and impact multiple targets.

Depending on your spec and role in a party or raid, you may want the macro to display a tooltip. For example, a healer may want to check how much healing his spell does. You can add the showtooltip command to display the healing spell during a mouseover, like this:

/cast [harm, nodead] Lightning Bolt; [help, nodead] [@player] Healing Wave
 * 1) showtooltip Healing Wave

You could remover the Healing Wave from the #showtooltip and the tooltip would change depending on your target, if you have the icon set to the ? then the icon will change to match the tooltip.

To advance this extremely helpful macro even further:

/cast [mod:alt, @player] Healing Wave; [help, nodead] Healing Wave; [harm, nodead] Lightning Bolt; [@player] Healing Wave
 * 1) showtooltip

Holding the ALT key (standard for self-casting) will make you cast a heal on yourself. When targeting a friendly target, you will cast a heal. When targeting a harmful target, you will cast a harmful spell, and finally, if you are targeting nothing, you will heal yourself.

By default, the icon will change depending on who you're targeting unless you specify which tooltip you would like to show. In this macro, you will always see Lesser Healing Wave unless you're targeting a harmful target.

This macro could be further expanded to:

/cast [nocombat, dead, help] Ancestral Spirit; [mod:alt, @player] [help, nodead] Healing Wave; [harm, nodead] Lightning Bolt; [@player] Healing Wave
 * 1) showtooltip

This will now resurect a dead friendly target if you are out of combat, if you are in combat or the target is alive or not friendly, the macro will move on to casting the appropriate spell depending on the target.

One Button Fire totem and Nova
To put a fire totem* and are use a nova on it afterwards unsing only one button, you can use any of these options:

Option 1: Use the macro holding a specific key (in this case shift**) to set the totem, and continue clicking it (withouth the shift key) to make it explode as many times as you want (or as long as the totem lasts).

/cast [modifier:shift] Magma Totem(Rank 5), Fire Nova(Rank 7)
 * 1) showtooltip Fire Nova(Rank 7)

Option 2: Set the totem the first time you use the macro and nova the next times. With this option you don´t need to use the modifier key at all but has been added at the end of the macro in order to allow to place another totem while in combat (in case you need to move it or the old one runs out).

/castsequence reset=combat/20 Magma Totem(Rank 5), Fire Nova(Rank 7) /cast [modifier:shift]Magma Totem(Rank 5)
 * 1) showtooltip Fire Nova(Rank 7)

* Of course, feel free to change the "Magma Totem" with your prefered fire totem!

''** Using a key (ctrl, shift, alt..) is easier if you have added the macro to a key binding, however if you normally use the mouse to click the macro, you can also use the option [button:2] instead. In this case you would put the totem when you left-click the macro, and nova when you right-click it.''

Mount Or Wolf
This macro will put you on your mount if you're out of combat, and shift you into Ghost Wolf when in combat. You can also right-click on the macro to put yourself in Ghost Wolf form without being necessarily in combat.

/stopcasting /cast [stance][combat,nomounted][button:2] Ghost Wolf;Mount Name /dismount [mounted]
 * 1) showtooltip

Of course, you can also add the flyable option, to choose your flying mount in case it is possible to use it. This way you have only one button to any of the travelling options:

/cast [combat,nomounted][modifier:shift] Ghost Wolf;[flyable] Swift Red Wind Rider; Black War Raptor /dismount [mounted]
 * 1) showtooltip

Shaman Travel Macro
This is a macro I adapted from a similar druid travel macro now that Ghost Wolf is usable indoors. /stopcasting /cast [swimming] Water Walking; /cast [indoors] Ghost Wolf; /cast [flyable,nocombat] Flying Mount Name; /cast [combat,outdoors] Ghost Wolf; /use [nocombat,outdoors,noswimming,noflyable] Land Mount Name; /dismount [mounted]

Reincarnation
If you would like to keep track of your Reincarnation cooldown and how many Ankhs you have left you can use this:


 * 1) showtooltip Reincarnation

Shock Cycling
This macro is designed to economise bar space. Use this if you find you open with Flame Shock, and use Earth Shock as a follow-up before Flame Shock's DoT has passed.

/castsequence reset=combat/target/12 Flame Shock, Earth Shock /startattack [harm]
 * 1) Showtooltip

The macro will cast Flame Shock on the target, then start you fighting the target. When your next shock is available, the macro will cast Earth Shock, unless Flame Shock's DoT has completed. The macro will also reset if you drop out of combat, or change targets. Note that as you advance, and the cooldown on your Shocks becomes low enough thanks to Reverberation and Glyphs, you can add a third shock into the sequence.

This is good for all three specs of shamies (even healers when there no healing to do). A little bit of damage from you may make the change from a wipe to a clean kill.

PvE Burst
/use 13 /use 10 /cast Elemental Mastery /cast Lightning Bolt
 * 1) showtooltip Elemental Mastery

All cooldowns except Bloodlust.

Focus Interupt
/dismount /stopcasting /cast [target=focus, exists] Wind Shear /cast Wind Shear /cast Lightning Bolt
 * 1) showtooltip Wind Shear

Interupts spell cast of focused enemy, interupts spell cast of current target if no enemy is focused. Since Wind Shear is off the GCD, casting Lightning Bolt in the same macro minimizes dps loss. Outside of combat, the macro serves as a dismount button.

Aerial Combat
/dismount /use 15 /use 10 /cast Blood Fury /castsequence reset=60 Elemental Mastery, Flame Shock, Lava Burst, Thunderstorm
 * 1) showtooltip Elemental Mastery

Must have parachute. Fly 10 yards above hovering target and spam macro. 4 piece Tier 10 greatly improves the effect.

Totems
Simple all in one Totem Macro. Calls Call of the Elements when nothing is pressed, Call of the Spirits when you hold down shift, Call of the Ancestors when you hold down control and finally Totemic Recall when you hold down alt. Saves you much space on your bars =). /cast [nomod] Call of the Elements; [mod:shift] Call of the Spirits; [mod:ctrl] Call of the Ancestors; [mod:alt] Totemic Recall;
 * 1) showtooltip

Counter
Counters in the following priority: First your focus target, else your target and third your targets target (nice in assist situations). /stopcasting /cast [target=focus, harm] Wind Shear; [target=target, harm] Wind Shear; Wind Shear; [target=targettarget, harm] Wind Shear
 * 1) showtooltip Wind Shear

Magma Totem / Fire Nova
Casts a Magma Totem when you hold down shift, else casts Fire Nova. /use [modifier:shift] Magma Totem; Fire Nova;
 * 1) showtooltip

Lightning Bolt / Greater Healing Wave
Casts Greater Healing Wave on yourself without changing targets while you hold down control or when you have no target at all or target is friendly, else it casts Lightning Bolt. /cast [mod:ctrl, @player] Greater Healing Wave; [help, nodead] Greater Healing Wave; [harm, nodead] Lightning Bolt; [@player] Greater Healing Wave
 * 1) showtooltip

Failsafe Autoattacking
Many enhancement shamans use Stormstrike as an opening move, but if Stormstrike is on cooldown, the shaman may find themselves standing around dumbly without attacking. This macro uses /startattack to fix that. /cast Stormstrike /startattack [harm]
 * 1) showtooltip

Shamans who use a shock spell as an opening move may also find this macro useful, as spells do not activate autoattack.

Shamanistic Rage and Trinket
This macro is designed for those situations when you're surprised and need a burst - both offensive and defensive - to get back into the fight. This requires an at-use Attack Power boosting trinket.

/use (trinket that you have equipped) ex. Platinum Disks of Battle /cast Shamanistic Rage

Tauren characters have an additional option in that their warstomp racial ability doesn't trigger global cooldown. This means they can add it to the macro - though, because it is channeled slightly, it needs to be put last.

/use (trinket that you have equipped) ex. Platinum Disks of Battle /cast Shamanistic Rage /cast Warstomp

Note that Blood Fury can also be used instead of Warstomp, or Blessing of the Naaru.

Easy Shields
This macro allows you to pick your shield using modifiers. Hold shift to cast Water Shield, or use it without holding additional keys for Lightning Shield. Makes shield management a bit easier and saves space on the action bar.

/cast [nomodifier] Lightning Shield; [modifier:shift] Water Shield;

If you use the Looking for Dungeon tool while questing this could be useful.

/cast [group:party/raid] [mod:shift] Water Shield; [] Lightning Shield;
 * 1) showtooltip

Enhancement Rebuff Both Weapons

 * Warning: This information may be out of date. Specifically, you cannot assign a target for self-enchants any longer.

If you want a combined macro to rebuff both weapons then use:

/castsequence reset=5 Windfury Weapon, Flametongue Weapon; /castsequence reset=5 16, 17;
 * 1) showtooltip

However that requires you to rebuff in quick succession and will fail if the main hand is buffed but the off hand isn't. If you prefer a safer option then go with two macros :

/cast Windfury Weapon /use 16
 * 1) showtooltip

for main hand and

/cast Flametongue Weapon /use 17
 * 1) showtooltip

for off-hand.

Or, you could get REALLY simple and use only a single macro, as follows: /stopcasting /cast [button:1] Windfury Weapon /use 16 /cast [button:2] Flametongue Weapon /use 17
 * 1) showtooltip

This macro casts Windfury Weapon on your Main Hand weapon when you left click, and cast Flametongue Weapon on your Offhand when you right click it. I elected to add /stopcasting to the macro so there will be no "Another action currently in progress" errors, but feel free to leave it off.

Cure or purge?
/cast [@mouseover,help] Cleanse Spirit ; [@mouseover,harm][harm,nodead] Purge ; [help,nodead] Cleanse Spirit
 * 1) showtooltip

This macro is designed to purge and cleanse a target with one key; it is not 100% reliable (for example, if the target is under a Paladin's Divine Shield, the shield will confuse the macro, failing to cleanse the target of a poison.

Modifier-less, One button Multi-targeting heal macro
This macro requires no extra buttons or modifier keys to be pushed in order to operate, only the normal mouse pointer you would use to click on the intended target and the single button you would use to cast the heal normally. This macro puts the heals on an extended priority list that allows you to work different healing assignments with ease. It attempts the following in order, moving to the next if one it is unable to preform the previous action.

How it is used. This macro is exceptionally useful in boss fights where tanks are swapped regularly, allowing you to target the enemy NPC and directly heal who it is targeting. It also lets you quickly heal or cure other players without having to drop your current target, simply by mousing over their avatar or name plate and tapping the hotbar key. The use of this macro assumes and nearly requires that you play selecting targets with your mouse and using the keyboard to cast spells on your hotbar or keybound slots. It may take getting used to, but if used right it can essentially turn you in to a Healbot without any addons.

How it works.
 * At first...
 * 1) It attempts to cast the intended heal on any friendly target your mouse pointer is hovering over (Or if it is hovering over their party/raid icon)
 * 2) * If that fails (IE your pointer is not over a nameplate or friendly avatar) then...
 * 3) It attempts to cast the heal on your current target if it is friendly and alive.
 * 4) * Then if that fails..
 * 5) It attempts to cast the heal on the target of your target if your current target is unfriendly.
 * 6) * And finally...
 * 7) It attempts to cast the heal on yourself if none of the previous conditions are met.

/cast [target=mouseover,help,exists] [target=target,help,nodead] [target=targettarget,help,nodead] [target=player] Healingspell
 * 1) showtooltip Healingspell

This macro can be used with Lesser Healing Wave, Healing Wave, Chain Heal, or any other heal from any other class as well as curative abilities like Cleanse Spirit, Purge, and the like. Just replace 'Healingspell' with the appropriate spell name.

It can be used with the spells of any class. Druid HoTs, Priest shields and Paladin bubbles as well as the poison/disease/magic/curse cleansing abilities of any class. This macro should work with ANY non-hostile spell, and perhaps a few hostile ones as well.

Instant cast, high crit heal
This macro combines a couple of restoration spells to create an 'OH SHIT' heal.

/p Blowing all cooldowns. /cast Nature's Swiftness /cast Tidal Force /cast Healing Wave
 * 1) showtooltip Healing Wave

For those moments when the tank is losing health fast and you don't have time to cast a healing spell, this macro works as well as a paladin's Lay On Hands. Also, if you're in a raid group, replace /p with /ra.