In 9.2.5 Blizzard introduced a bug where the Self Cast Key
interferes with @unit
(mouseover, focus, etc.) and @cursor
macros. If you want to use those types of macros, you need to change your Self Cast Key
to None
.
If you want more info, or to encourage Blizz to fix the bug, please see this thread:
General Macro Templates
Dragonriding Mount Macro
#showtooltip
/cast [advflyable] DRAGONRIDING_MOUNT; [flyable] FLYING_MOUNT; GROUND_MOUNT
/dismount [mounted]
Known Macro
With the addition of the known
condition you can now filter macro logic by spell name or spell id.
#showtooltip
/cast [known:SPELL1] SPELL1; [known:123456] SPELL2
Base Healing Macro
Alt: Self Cast
Mouseover Friend: Cast on Mouseover
Target Friend: Cast on Target
Target Enemy Targeting Friend: Cast on Enemy’s Target
Default casting behavior. This condition also serves to generate the correct tooltip.
#showtooltip
/cast [mod:alt,@player] [@mouseover,help,nodead] [help] [@targettarget,help,nodead] [] SPELL
Basic Helpful Mouseover Macro
Cast a helpful spell prioritizing mouseover.
#showtooltip
/cast [mod:alt,@player] [@mouseover,help,nodead] [] SPELL
Basic Harmful Mouseover Macro
Cast a harmful spell prioritizing mouseover.
#showtooltip
/cast [@mouseover,harm,nodead] [] SPELL
Basic Reaction Neutral Mouseover Macro
Cast a spell that can target both friends and enemies, prioritizing mouseover (Penance, Holy Shock, Shadowstep etc.)
#showtooltip
/cast [mod:alt,@player] [@mouseover,exists,nodead] [] SPELL
Basic Help/Harm Macro
This will cast one spell when mousing over or targeting a friend and another when mousing over or targeting an enemy.
#showtooltip
/cast [mod:alt,@player] [@mouseover,help,nodead] HELP_SPELL; [@mouseover,harm,nodead] [harm] HARM_SPELL; HELP_SPELL
Variant: HARM_SPELL as Default
#showtooltip
/cast [mod:alt,@player] HELP_SPELL; [@mouseover,harm,nodead] HARM_SPELL;[@mouseover,help,nodead] [help] HELP_SPELL; HARM_SPELL
Multi-modifier Mouseover Macro
Example of how to include multiple spells, differentiated by modifier, including mouseover. Trim it down and change exists
to help
or harm
depending on what you’re actually using it for.
#showtooltip
/cast [mod:ctrl,@mouseover,exists,nodead] [mod:ctrl] CTRL_SPELL; [mod:shift,@mouseover,exists,nodead] [mod:shift] SHIFT_SPELL; [mod:alt,@mouseover,exists,nodead] [mod:alt] ALT_SPELL; [@mouseover,exists,nodead] [] SPELL
Basic Reticle Macro
Alt: Cast at Player
Combat: Cast at Cursor
Default: Display Reticle
#showtooltip
/cast [mod:alt,@player] [@cursor,combat] [] SPELL
Nochanneling Macro
Prevent casting when CHANNELING SPELL is channeling.
#showtooltip
/stopmacro [channeling:CHANNELING SPELL]
/cast SPELL
Prevent casting when ANY SPELL is channeling.
#showtooltip
/stopmacro [channeling]
/cast SPELL
Stopcasting Macro
Cancels your currently queued spell and interrupts your current cast so you can cast a priority spell. Note: this functionality is automatically baked into all interrupts. Also, this is really only useful for cancelling spells with a cast time > 1 GCD OR if you’re cancelling so you can cast a spell that’s off the GCD.
#showtooltip
/cqs
/stopcasting
/cast SPELL
Cancelaura Macro
Useful for things like Levitate, Ice Block, Spectral Sight where you want to be able to toggle them on and off with a single key.
#showtooltip
/cancelaura BUFF
/cast SPELL
Conditional Focus Cast
Shift: Clear Focus
Alt: Set/Cast on Focus
Default: Cast on Target
#showtooltip
/focus [mod:alt,@focus,dead] [mod:alt,@focus,noexists]
/clearfocus [@focus,dead] [mod:alt,@focus,noexists] [mod:shift]
/cast [mod:alt,@focus,exists] [] SPELL
Offensive Macro for Healers
This macro is for healers who want to dps without switching to enemy targets. Basically allows you to dps while having fiendly players targeted or moused over.
Mouseover Enemy: Cast on Mouseover
Target Enemy: Cast on Target
Mouseover Friend Targeting Enemy: Cast on Friend’s Target
Target Friend Targeting Enemy: Cast on Friend’s Target
Default casting behavior. This condition also serves to generate the correct tooltip.
#showtooltip
/cast [@mouseover,harm,nodead] [harm] [@mouseovertarget,harm,nodead] [@targettarget,harm,nodead] [] SPELL
CVar Toggle
Macro for toggling a 0/1 CVar on and off. Replace CVAR_NAME
with the CVar you want to toggle.
/run local k,v = "CVAR_NAME" v = C_CVar.GetCVar(k) C_CVar.SetCVar(k, 1 - v) print(k .. (v == "1" and " Disabled" or " Enabled"))
World Marker Spam
This macro is > 255 chars. I recommend using it with BindPad.
Click to set world markers, shift click to clear.
/cwm [mod:shift] 0
/run local b=_MB or CreateFrame("Button", "_MB", nil, "SecureActionButtonTemplate") _MH=_MH or(b:SetAttribute("*type5","macro")or SecureHandlerWrapScript(b,"PreClick",b,'Z=IsShiftKeyDown()and 0 or(Z or 0)%8+1 self:SetAttribute("macrotext5","/wm [@cursor] "..Z)'))or 1
/click _MB Button5
This variant is <255 but uses ActionButton8 for the macro.
/cwm [mod] 0
/run local b=ActionButton8 _MH=_MH or(b:SetAttribute("*type5","macro")or SecureHandlerWrapScript(b,"PreClick",b,'Z=IsShiftKeyDown()and 0 or(Z or 0)%8+1 self:SetAttribute("macrotext5","/wm [@cursor] "..Z)'))or 1
/click ActionButton8 Button5
Class Specific Macros
Death Knight
Raise Ally
#showtooltip
/cast [@mouseover,help,dead] [] Raise Ally
Demon Hunter
Alt: Spectral Sight
Default: Consume Magic
#showtooltip
/cancelaura Spectral Sight
/cast [mod:alt] Spectral Sight; [@mouseover,harm,nodead] [] Consume Magic
Druid
Dead: Rebirth
Harm: Soothe
Default: Nature’s Cure/Remove Corruption
#showtooltip
/cast [@mouseover,help,dead][help,dead]Rebirth;[spec:4,@mouseover,help,nodead]Nature's Cure;[@mouseover,help,nodead]Remove Corruption;[@mouseover,harm,nodead][harm]Soothe;[spec:4]Nature's Cure;Remove Corruption
Hunter
Shift: Revive/Mend Pet
Alt: Misdirection
Default: Tranquilizing Shot
/cast [mod:shift,@pet] Revive Pet; [nomod,@mouseover,harm,nodead] [nomod] Tranquilizing Shot; [@focus,help,nodead] [@mouseover,help,nodead] [help] [@pet,exists] [] Misdirection
If you want to be absolutely certain it perfectly falls back, use this version instead. It just excludes the possibility of mouseover or focus not in your group
#showtooltip
/cast [mod:alt,@pet] Revive Pet; [@focus,help,group] [@mouseover,help,nodead,group] [help,group] [@pet,exists] [] Misdirection
Mage
Harm: Spellsteal
Default: Remove Curse
#showtooltip
/cast [@mouseover,help,nodead] Remove Curse; [@mouseover,harm,nodead] [harm] Spellsteal; Remove Curse
Monk
Alt: Healing Elixir/Diffuse Magic/Dampen Harm
Help: Detox
Harm (WW): Touch of Karma
#showtooltip
/cast [mod:alt,spec:1,talent:5/2] [mod:alt,spec:2,talent:5/1] Healing Elixir;[mod:alt,talent:5/2] Diffuse Magic;[mod:alt,talent:5/3] Dampen Harm;[@mouseover,help,nodead] Detox;[spec:3,@mouseover,harm,nodead][spec:3,harm] Touch of Karma;Detox
Paladin
Shift: Blessing of Protection
Alt: Blessing of Freedom
Default: Cleanse Toxins/Cleanse
#showtooltip
/cast [mod:shift,@mouseover,help,nodead] [mod:shift] Blessing of Protection; [mod:alt,@mouseover,help,nodead] [mod:alt] Blessing of Freedom; [spec:1,@mouseover,help,nodead] [spec:1] Cleanse; [@mouseover,help,nodead] [] Cleanse Toxins
Priest
Alt: Mass Dispel
Harm: Dispel Magic
Default: Purify Disease/Purify
#showtooltip
/cast [mod:alt] !Mass Dispel; [spec:3,@mouseover,help,nodead] Purify Disease; [@mouseover,help,nodead] Purify; [@mouseover,harm,nodead] [harm] Dispel Magic; [spec:3] Purify Disease; Purify
Rogue
Alt: Crimson Vial
Outlaw: Grappling Hook
Default: Shadowstep
#showtooltip
/cast [mod:alt] Crimson Vial; [spec:2,combat,@cursor] [spec:2] Grappling Hook; [@mouseover,exists,nodead] [] Shadowstep
Shaman
Harm: Purge
Default: Purify Spirit/Cleanse Spirit
#showtooltip
/cast [spec:3,@mouseover,help,nodead] Purify Spirit; [@mouseover,help,nodead] Cleanse Spirit; [@mouseover,harm,nodead] [harm] Purge; [spec:3] Purify Spirit; Cleanse Spirit
Warlock
Shift (Felhunter): Devour Magic
Alt: Unending Resolve
Dead: Soulstone
Default: Command Demon
#showtooltip
/cast [mod:shift,pet:Felhunter/Observer,@mouseover,harm,nodead] [mod:shift,pet:Felhunter/Observer] Devour Magic; [mod:alt] Unending Resolve; [@mouseover,help,dead] [help,dead] Soulstone; [@mouseover,exists,nodead] [] Command Demon
Warrior
Alt (Prot): Spell Reflection
Default: Heroic Throw
#showtooltip
/cast [mod:alt,spec:3] Spell Reflection; [@mouseover,harm,nodead] [harm] Heroic Throw