Druid Macros WoW Classic: Forms, Healing and Balance
The druid is the most versatile class in WoW Classic: tank in Bear Form, DPS in Cat Form, healer as a humanoid caster, and ranged damage in Moonkin Form. On WowX5 x5 the right form-switching macros save seconds in every fight.
The 1.12.1 client has no bracket conditions (modifier, mouseover or focus conditions), no /cancelform, /stopcasting, #showtooltip, and no ! prefix — all of that arrived in 2.0+. What works: /cast Spell Name, /target, /assist and /script with 1.12 Lua functions — every macro below is written that way. Macro length limit is 255 characters.
In 1.12.1 you leave a form by casting the active form again: /script CastShapeshiftForm(N). N is the form's slot on the stance bar (usually 1 — Bear, 2 — Aquatic, 3 — Cat, 4 — Travel, 5 — Moonkin; check yours).
Contents
Form Switching Macros
The druid's key forms in 1.12.1:
One-Button Form Switcher
| Modifier | Form |
|---|---|
| None | Dire Bear Form |
| Shift | Cat Form |
| Ctrl | Moonkin Form |
/script if IsShiftKeyDown() then CastSpellByName("Cat Form") elseif IsControlKeyDown() then CastSpellByName("Moonkin Form") else CastSpellByName("Dire Bear Form") end
Below level 40 use "Bear Form" instead of "Dire Bear Form".
Leave Any Form with One Button
/script for i=1,GetNumShapeshiftForms() do local _,_,a=GetShapeshiftFormInfo(i) if a then CastShapeshiftForm(i) end end
The macro finds the active form and cancels it — the 1.12 equivalent of the later /cancelform.
Exit Form + Self-Heal (2 presses)
/script local f=0 for i=1,GetNumShapeshiftForms() do local _,_,a=GetShapeshiftFormInfo(i) if a then f=i end end if f>0 then CastShapeshiftForm(f) else CastSpellByName("Healing Touch",1) end
The first press leaves the form, the second casts Healing Touch on yourself (the second argument 1 means self-cast).
Restoration Druid Healing Macros
The druid's core healing spells in 1.12.1:
Regrowth on Mouseover
There are no native mouseover conditions in 1.12.1, so mouseover casting is emulated by swapping targets: the macro targets the unit under your cursor, casts, and restores your previous target.
/script if UnitExists("mouseover") then TargetUnit("mouseover") CastSpellByName("Regrowth") TargetLastTarget() else CastSpellByName("Regrowth") end
Healing Touch on Mouseover
/script if UnitExists("mouseover") then TargetUnit("mouseover") CastSpellByName("Healing Touch") TargetLastTarget() else CastSpellByName("Healing Touch") end
An alternative to macros is mouseover healing through the Clique or pfUI addons for 1.12.
Emergency Heal: Nature's Swiftness + Healing Touch
/cast Nature's Swiftness
/cast Healing Touch
Nature's Swiftness does not trigger the global cooldown, so both spells go off on a single press — Healing Touch becomes instant.
Rejuvenation (HoT)
/cast Rejuvenation
Vanilla 1.12.1 druids do not have Lifebloom — it was added in TBC. Don't chain two heals that both trigger the global cooldown in one macro: only the first one will be cast per press.
Rebirth (combat resurrection)
/cast Rebirth
In 1.12.1 the druid has no regular out-of-combat resurrection — only Rebirth: it works in combat, has a 2 sec cast and a 30 min cooldown, and needs a reagent (Ironwood Seed at max rank). In long raid fights, track your mana and use Innervate on yourself when you run low.
Tanking Macros (Feral Bear)
Bear Form + Demoralizing Roar
Both the form and the roar trigger the global cooldown, so this is a two-press macro:
/script local _,_,a=GetShapeshiftFormInfo(1) if a then CastSpellByName("Demoralizing Roar") else CastShapeshiftForm(1) end
Single-Target Taunt
/cast Growl
Growl is the druid taunt: 10 sec cooldown, Bear Form only.
Maul + Auto Attack
/cast Maul
/script if not PlayerFrame.inCombat then AttackTarget() end
Maul fires on your next melee swing, and the PlayerFrame.inCombat check stops a repeat press from toggling auto attack off.
In Bear Form rage builds from damage taken and dealt. To track threat, use the KTM (KLHThreatMeter) addon for 1.12.
Feral DPS Macros (Cat)
The cat abilities most often put into macros:
Pounce from Prowl
/cast Pounce
Pounce only works in Cat Form while prowling and behind the target: it stuns for 2 sec and applies a bleed. Keep Prowl on its own button — casting it again cancels stealth.
Rake or Rip with Shift
/script if IsShiftKeyDown() then CastSpellByName("Rip") else CastSpellByName("Rake") end
Both abilities trigger the global cooldown, so two /cast lines in a row do not work — the second ability never fires. A Shift choice solves that.
Dash from Cat Form
/script local _,_,a=GetShapeshiftFormInfo(3) if a then CastSpellByName("Dash") else CastShapeshiftForm(3) end
First press — Cat Form, second press — Dash.
Balance Macros (Moonkin)
Moonfire + Starfire Toggle
/script if IsShiftKeyDown() then CastSpellByName("Moonfire") else CastSpellByName("Starfire") end
Entangling Roots (PvP and control)
/script local f=0 for i=1,GetNumShapeshiftForms() do local _,_,a=GetShapeshiftFormInfo(i) if a then f=i end end if f>0 then CastShapeshiftForm(f) else CastSpellByName("Entangling Roots") end
Entangling Roots is outdoors-only. If you are in a form, the first press leaves it and the second casts Roots.
Utility Macros
Druid utility spells that usually get their own buttons:
Innervate on a Healer (no focus target)
There is no focus target in 1.12.1, so you target the healer by name and then return to your previous target:
/target HealerName
/cast Innervate
/script TargetLastTarget()
Barkskin
/cast Barkskin
Barkskin exists in Vanilla 1.12.1 (from level 44): −20% damage taken for 15 sec, 1 min cooldown. It is cast outside of Bear and Cat Form.
Remove Curse on Mouseover
/script if UnitExists("mouseover") then TargetUnit("mouseover") CastSpellByName("Remove Curse") TargetLastTarget() else CastSpellByName("Remove Curse") end
Remove Curse requires leaving Bear or Cat Form. Leave the form with the exit-form macro above first — otherwise the spell will not be cast.
Useful Druid Macros Table
| Name | How | Purpose |
|---|---|---|
| Form switcher | /script with IsShiftKeyDown() and CastSpellByName() | Quick form switch |
| Leave form | /script CastShapeshiftForm(N) for the active form | 1.12 version of /cancelform |
| Mouseover heal | /script with TargetUnit("mouseover") and TargetLastTarget() | Heal without switching target |
| Instant heal | /cast Nature's Swiftness + /cast Healing Touch | Emergency heal |
| Innervate a healer | /target Name + /cast Innervate + TargetLastTarget() | Mana for the healer |
◆Related
FAQ
?How to switch druid forms with a macro?
Patch 1.12.1 has no bracket conditions and no /cancelform. Enter a form with /cast Cat Form (Dire Bear Form, Moonkin Form) and pick a form by modifier with /script using IsShiftKeyDown() and CastSpellByName(). To leave a form, cast the active form again: /script CastShapeshiftForm(N), where N is the form's slot on the stance bar.
?Can druids heal while in form?
No — healing spells are unavailable in Bear and Cat Form. The practical solution is a two-press macro: the first press leaves the form via CastShapeshiftForm, the second casts Healing Touch or Regrowth. For an instant heal after leaving form, use Nature's Swiftness plus Healing Touch.
?How to make a Dash macro for druid cat form?
Dash only works in Cat Form. A /script macro checks GetShapeshiftFormInfo(3): if Cat Form is active it casts Dash via CastSpellByName, otherwise it calls CastShapeshiftForm(3). The first press shifts into cat, the second activates Dash (3 is the Cat Form slot on the stance bar — check yours).
Now jump into WoW Classic X5
Theory alone gives no XP. Join WoW Classic X5 — Vanilla 1.12.1, x5 rates, blizzlike mechanics — and try this guide in game.
- Create an account on wowx5.ru
- Download the WoW Classic 1.12.1 client
- Put into realmlist.wtf:
set realmlist play.wowx5.ru