Note: I'll periodically edit these, as I find ways to improve them. Please note that the mount script at the bottom originated when WotLK was new. At that time, Dalaran made it so that simple [flyable] and [noflyable] conditionals would not work; hence the script was needed. It seems that Blizz may have fixed that issue, which makes simpler macros preferable, imo. I think it's still important to leave the script here, for two reasons: One, Blizz may hose up flying in the next expansion again, which might make a similar script a better choice, and two, many people who are interested in macros aren't aware that scripts can be implemented. TL;DR "scripts are nifty."
Note also: These macros are presented from a clicker's perspective. This thread is about promoting the use of macros to assist in gameplay, and shouldn't be used for debating clicking vs. keybinding. Macros can easily be adjusted to accommodate either style of play. If you like a macro I have listed here, but want to see how it would be set up for a particular keybinding setup, please ask, and I'll be happy to convert it.
Windfury or Earthliving on mainhand, Flametongue on offhand
This macro allows a dual-specced enhance shaman to use one button to cast multiple weapon imbues. It's especially helpful, given that you single left click to cast/refresh windfury on your main hand, and single right click to cast/refresh flametongue weapon on your offhand. It also allows you to shift+left click to cast another spell on your main hand. In this example, I've chosen earthliving weapon. An elem offspec would simply change the text to flametongue weapon, on the 2nd line.
Code:
#showtooltip
/use [mod:shift] Earthliving Weapon
/use [mod:shift] 16
/click StaticPopup1Button1
/stopmacro [mod:shift]
/use [nobutton:2] Windfury Weapon; Flametongue Weapon
/use [nobutton:2] 16; 17
/click StaticPopup1Button1
-------------------------------------------------------------------------------
Cast either Lighting, Earth, or Water Sheild on self
This macro, like the one above, helps to free up space on your action bars, by combining all three elemental shields into one button. A shift+left click casts earth shield. A single left click casts lightning shield, and a single right click casts water shield.
Code:
#showtooltip Lightning Shield
/use [mod:shift] Earth Shield
/stopmacro [mod:shift]
/use [nobutton:2] Lightning Shield; Water Shield
-------------------------------------------------------------------------------
Cast Wind Shear on enemy, either by focus or target
The following macro allows a shaman to use a single click, and wind shear an enemy in any one of four targeting conditions. It's especially useful for resto shamans who keep the tank targeted for earth shield refreshes, but still need to keep a boss focused, for interrupts. The macro will interrupt the targeted enemy, based on the following order:
- your focus
- your target
- your focus' target
- your target's target
One function of special importance is the /stopcast. If it weren't there, you'd have to move, in order to stop casting, just to be able to interrupt.
Edit: Removed the extraneous "exists" conditionals, since the "harm" conditional assumes "exists."
Code:
#showtooltip Wind Shear
/stopcasting
/cast [@focus,harm,nodead][@target,harm,nodead][@focustarget,harm,nodead][@targettarget,harm,nodead] Wind Shear
-------------------------------------------------------------------------------
Cast Purge on enemy, either by focus or target
The following macro allows a shaman to use a single click, and purge an enemy in any one of four targeting conditions. It's especially useful for resto shamans who keep the tank targeted for earth shield refreshes, but still need to keep a boss focused, for purging. The macro will purge the targeted enemy, based on the following order:
- your focus
- your target
- your focus' target
- your target's target
One function of special importance is the /stopcast. If it weren't there, you'd have to move, in order to stop casting, just to be able to purge.
Edit: Removed the extraneous "exists" conditionals, since the "harm" conditional assumes "exists."
Code:
#showtooltip Purge
/stopcasting
/cast [@focus,harm,nodead][@target,harm,nodead][@focustarget,harm,nodead][@targettarget,harm,nodead] Purge
-------------------------------------------------------------------------------
Chain Heal self, target, or focus
Sometimes, an enhance shaman finds it convenient to pop an instant heal, either on himself, or on a certain target, during a boss fight. A left click of this macro will cast chain heal normally (self, if no target, otherwise, on the target), and a right click will cast chain heal on the shaman's focus.
Code:
#showtooltip Chain Heal
/stopcasting
/cast [nobutton:2] Chain Heal; [@focus] Chain Heal
-------------------------------------------------------------------------------
Healing Wave on self, target, or focus
Sometimes, an enhance shaman finds it convenient to pop an instant heal, either on himself, or on a certain target, during a boss fight. A left click of this macro will cast healing wave normally (self, if no target, otherwise, on the target), and a right click will cast healing wave on the shaman's focus.
Code:
#showtooltip Healing Wave
/stopcasting
/cast [nobutton:2] Healing Wave; [@focus] Healing Wave
-------------------------------------------------------------------------------
Earth Shield on target or focus
If you find yourself as the only resto shaman in a fight that requires the tanks to swap aggro, this macro may help. A left click casts earth shield on your target, and a right click casts earth shield on your focus.
Code:
#showtooltip Earth Shield
/stopcasting
/cast [nobutton:2] Earth Shield; [@focus] Earth Shield
-------------------------------------------------------------------------------
WotLK mount macro for flying and ground mount
The following macro will allow you to use one button, with a single left click. Depending on what zone you're in, it will make you mount up on either a flying or ground mount. The numbers (6 and 12, in this example) correspond to the way your mounts are numbered. For example, if you're trying to set the macro to use a mount that is in the 3rd spot, on the 4th page, it would be number 39. The first number is your ground mount, and the second number in the macro is the flying mount.
Code:
/script if (((GetZoneText()=="Dalaran") and (GetSubZoneText() ~="Krasus' Landing")) or (GetZoneText()=="Wintergrasp") or not IsFlyableArea()) then CallCompanion("MOUNT",6) else CallCompanion("MOUNT",12) end
/dismount [mounted]
-------------------------------------------------------------------------------
Simpler Ghost Wolf (in combat) and Ground/Flying mount
Working off of the assumption that you don't ever need/want to use Ghost Wolf out of combat (why would you, when you can use your faster ground mount?), this macro will allow a shaman to cast ghost wolf in combat, else will summon the ground mount (if in a non-flyable area), else will summon a flying mount. The stopcasting command is in there a) because I like it, and b) for pvp shamans who need to pop GW and haul butt.
Code:
#showtooltip [combat] Ghost Wolf; Black War Bear
/stopcasting
/use [combat] Ghost Wolf; [noflyable] Black War Bear; [flyable] Cenarion War Hippogryph
/dismount [mounted,noflyable]
-------------------------------------------------------------------------------
Multiple totem drops on one macro button, plus totemic recall
Instead of having to put multiple "Call of the..." totem grouping buttons down, or swapping them out when you pvp, or do faction champs, the following macro will do the following: Call of the Elements on left-click, Call of the Spirits on shift+left-click, Call of the Ancestors on a ctrl+left-click, and totemic recall on a right click.
Code:
#showtooltip [mod:shift] Call of the Spirits; [mod:ctrl] Call of the Ancestors; Call of the Elements
/use [mod:shift] Call of the Spirits; [mod:ctrl] Call of the Ancestors
/stopmacro [mod:shift][mod:ctrl]
/use [nobutton:2] Call of the Elements; Totemic Recall