Useful Macro Templates

Heart of Azeroth Essence Macro

Alt: Self Cast
Mouseover: Cast on Mouseover
Reticle: Cast at Cursor (while in combat)
Default casting behavior. This condition also serves to generate the correct tooltip.

/cast [mod:alt,@player] [@mouseover,exists,nodead] [@cursor,combat] [] Heart Essence

General Macro Templates

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.

/cast [mod:alt,@player] [@mouseover,help,nodead] [help] [@targettarget,help,nodead] [] SPELL

Basic DPS Mouseover Macro

Cast a harmful spell prioritizing mouseover.

/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.)

/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.

/cast [mod:alt,@player] [@mouseover,help,nodead] HELP_SPELL; [@mouseover,harm,nodead] [harm] HARM_SPELL; HELP_SPELL

Basic Reticle Macro

Alt: Cast at Player
Combat: Cast at Cursor
Default: Display Reticle

/cast [mod:alt,@player] [@cursor,combat] [] SPELL

Nochanneling Macro

Prevent casting when CHANNELING SPELL is channeling.

/stopmacro [channeling:CHANNELING SPELL]
/cast SPELL

Prevent casting when ANY SPELL is channeling.

/stopmacro [channeling]
/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.

/cancelaura BUFF
/cast SPELL

CC Macro

Shift: Clear Focus
Alt: Set/Cast on Focus
Default: Cast on Target

/focus [mod:alt,@focus,dead] [mod:alt,@focus,noexists]
/clearfocus [@focus,dead] [mod:alt,@focus,noexists] [mod:shift]
/cast [mod:alt,@focus,exists] [] SPELL

Dynamic GetSpellInfo Macro

Useful for things like PVP Talents where there’s no talent:row/col condition to determine if a spell is known or not.

/cast SPELL1
/cast SPELL2
/cast SPELL3
/run local G=GetSpellInfo SetMacroSpell(GetRunningMacro(), G"SPELL1" or G"SPELL2" or G"SPELL3")

Class Specific Macros

Death Knight

Raise Ally

/cast [@mouseover,help,dead] [] Raise Ally

Demon Hunter

Alt: Spectral Sight
Default: Consume Magic

/cancelaura Spectral Sight
/cast [mod:alt] Spectral Sight; [@mouseover,harm,nodead] [] Consume Magic


Dead: Rebirth
Harm: Soothe
Default: Nature’s Cure/Remove Corruption

/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


Alt: Revive/Mend Pet
Default: Misdirection

/cast [mod:alt,@pet] Revive Pet; [@focus,help] [@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

/cast [mod:alt,@pet] Revive Pet; [@focus,help,group] [@mouseover,help,nodead,group] [help,group] [@pet,exists] [] Misdirection


Harm: Spellsteal
Default: Remove Curse

/cast [@mouseover,help,nodead] Remove Curse; [@mouseover,harm,nodead] [harm] Spellsteal; Remove Curse


Alt: Healing Elixir/Diffuse Magic/Dampen Harm
Help: Detox
Harm (WW): Touch of Karma

/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


Shift: Blessing of Protection
Alt: Blessing of Freedom
Default: Cleanse Toxins/Cleanse

/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


Alt: Mass Dispel
Harm: Dispel Magic
Default: Purify Disease/Purify

/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


Alt: Crimson Vial
Outlaw: Grappling Hook
Default: Shadowstep

/cast [mod:alt] Crimson Vial; [spec:2,combat,@cursor] [spec:2] Grappling Hook; [@mouseover,exists,nodead] [] Shadowstep


Harm: Purge
Default: Purify Spirit/Cleanse Spirit

/cast [spec:3,@mouseover,help,nodead] Purify Spirit; [@mouseover,help,nodead] Cleanse Spirit; [@mouseover,harm,nodead] [harm] Purge; [spec:3] Purify Spirit; Cleanse Spirit


Shift (Felhunter): Devour Magic
Alt: Unending Resolve
Default: Command Demon

/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


Alt (Prot): Spell Reflection
Default: Heroic Throw

/cast [mod:alt,spec:3] Spell Reflection; [@mouseover,harm,nodead] [harm] Heroic Throw

Additional Class Macros

Just discovered Macros
Macros: Essential Information
Harm/Help Mod/Nomod macro help - Understanding
Macro with Mod:shift & mouseover
Macro Help (Monk - Enemy/Friendly)
Macro Help; Targets and Whispers
Disc Priest Mouseover Macro Doesn't Work
On Use Trinket with Target Reticle Macro?
Hybrid Mouseover Macro?
Is there a way to macro Heart Essences?
1 Macro 2 Spells
Healing mouseover macro
Classic warrior macro help
No Channeling Macro
Heart essence macro and passive majors
Holy Priest Renew macro help
Targeting help?
IF/ELSE macro
Swiftmend Bear Form Macro
Ez Healing Macro
Mouseover Macro Help
Macro for Heart Essence
Need mage Fire Blast explosion macro
Disc priest macro help
Combining [harm][@targettarget] macro and [nochanneling:xxx] macro into one macro
Grid + Clique and Well of existence/refreshment
Mouseover heal/harm No Target Cast On Self
Shadow Priest macro
Healing macro issues
Getting frustrated - help please!
Need Macro Help - occasionally cast on self
Spirit of Preservation mouseover
Console Port Reticle Casting
Classic - sad to not be able to script downranking ='(
Mouseover macro
Regrowth Mouse Over Heal
Need mouseover and current target macro
Mouseover macro
I broke this Macro
Macro for Spirit of Preservation
Need help with macro
Macros help
Help with understanding a macro
Please help me make this Priest macro shorter
Healing in WoW - Spell Bloat - Addons
Mouseover macro for beta
Mouseover Conditionals
Purify and Rapture Mouseover Macros
Can this macro be made?
Holy Shock mouseover macro help needed
Help/harm mouseover macro help!
Druid ultimate macro help
Mouseover and interrupt macro
Feral Druid Macros
Help Harm Form Macro
Feral Druid Macros
Beacon macro not working
Struggling with too many keybinds on your Priest?
Combining Macro
Mouseover changes in 9.1?
Mouse over macro that prioritazes me when I don't mouse over anyone?
Purge (enemy) / Purify Spirit (friendly) macro
Druid Battle Rez/Innervate macro
Classic - power word shield macro
Nomod mouseover, alt for selfcast?
Mouseover click macro?
Concentrated Flame Macro Self Heal
Macro with a modifier key AND changes spell based on spec or spell known?
Mouseover Macro Issue - Classic
Help with macro
Druid Macro help
Need Help DH flame macro
Cast ranged aoe on self?
Wild Charge Mouseover
Self targeting
Consoleport reticle casting help
Purify - Mass Dispel Macro
[SOLVED] Macro Help with Help/Harm
Macro to change action bars for friendly / enemy targets
Target of Target BoP
Angelic Feather
[Classic] Need Help with Auto-Attack Macro and target-of-target macro for healing!
Help / Harm macro
Targets-Healing previous target?
Stopspelltarget question
Help with Cleanse Spirit/Purge Macro
Using Shift mod with Ground-Targeted Spells
Nice UI + Mouseover healing addons?
Mouseover + switch based on target?
Cast only if not channelling
Bag of tricks macro help
Effective use of my free heal
/cast [mod:alt,@pet]Revive Pet;[@focus,help,group][@mouseover,help,group][help,group][@pet,exists][]Misdirection

Misdirection cannot be cast on anyone not in your group (party or raid, doesn’t matter). Written your way, it would block misdirecting to your pet outside of groups if you had a helpable focus, mouseover, or target. Best to be explicit with that unless your intent is to disable Misdirection outside of groups.



Worst case it displays the hand so you can select your Misdirection target. I personally can’t think of a plausible situation where you’ll have your focus set to an ally who’s not in your party and Hunter’s aren’t exactly known for mousing over allies to cast on them.

But yes, if you do want to ensure everything falls back perfectly in 100% of situations then the group condition is advisable.

Converted it to a Wiki… let’s see how this works.

1 Like

I frequently set my focus to any tankish toon in world boss fights.

Because of how my macros are coded, that suppresses my pet’s Growl (that part of my macro doesn’t care if the focus is grouped with me or not - if I have a tank or tank-designate - as indicated by something friendly and alive being in my focus - no autocast on Growl).

Because my focus is not in my group and because I coded it correctly, Misdirection drops to my pet (instead of not being cast at all).

Updated the markdown of the macros so they don’t try to render as JavaScript

1 Like

Added Heart Essence macro

1 Like

Wouldn’t this be the same as

/cast [nochanneling] SPELL

Yes, in that exact example. The stopmacro version allows you to include whatever condition payload you want on the cast without having to duplicate nochanneling:spell each time.

Ah cool, that will be really useful for cleaning up some of my macros, thanks!