WoW Warlock Macros (Classic)

Most of the Warlock attacks are spell casts, but I like to use these macros to acquire a target, as these will get a new target if your current one is dead.

Melee Attack

This macro targets an enemy and starts your melee attack. Hitting this repeatedly won't stop your attack, making it safe to spam.

/cleartarget [dead][help]
/targetenemy [noexists]
/startattack [harm]

Wand Attack

This macro is similar to the Melee Attack, but uses your wand to attack. Unfortunately, hitting this repeatedly will cancel your wand, so be careful not to spam this. I tried using /cast [harm] !Shoot, which would seem to prevent canceling Shoot, but it doesn't work.

#showtooltip Shoot
/cleartarget [dead][help]
/targetenemy [noexists]
/cast [harm] Shoot

Shadow Bolt

This macro casts Shadow Bolt and starts your melee attack.

#showtooltip Shadow Bolt
/startattack [harm]
/cast [harm] Shadow Bolt

DOT Rotation

This macro rotates through your Damage-Over-Time spells. This isn't perfect because it can't check if a target is already affected by a spell and, if a spell is resisted, it will continue along the sequence anyway.

/castsequence [harm] reset=target Curse of Agony, Corruption, Immolate
/startattack [harm]

Drain Soul

This macro helps manage your Soul Stones while using Drain Soul. It checks for a Soul Stone in the left most bag (typically your Soul Bag), lower right hand corner. If it finds a Soul Stone, it deletes it, making room for the new one created by Drain Soul. This works even before you get a Soul Bag, but you do have to still manually organize your Soul Stones around this.

As long as you keep a Soul Stone in that spot, you will always have room in your bags to cast Drain Soul.

#showtooltip Drain Soul
/run local i=GetContainerItemID(4, GetContainerNumSlots(4)); if i==6265 then PickupContainerItem(4, GetContainerNumSlots(4)); DeleteCursorItem() end
/cast [harm] Drain Soul

Pet Attack

This macro makes it simple to control your pet with a single button. When you activate it normally, your pet will attack your target (or your mouseover target). If you hold down control, it will bring your pet back by setting it to passive and follow modes.

If you hold down shift, it will heal your pet by casting Health Funnel.

/petattack [@mouseover, harm, nomod] [harm, nomod]
/petfollow [mod:ctrl]
/petpassive [mod:ctrl]
/cast [mod:shift] Health Funnel

Once you get Consume Shadows for your Voidwalker, you can use this macro instead. This will cast Consume Shadows if you hold shift and are out of combat.

/petattack [@mouseover, harm, nomod] [harm, nomod]
/petfollow [mod:ctrl]
/petpassive [mod:ctrl]
/cast [mod:shift, nopet:Voidwalker] [mod:shift, combat, pet:Voidwalker] Health Funnel
/cast [mod:shift, nocombat, pet:Voidwalker] Consume Shadows

Potions and Bandages

This is an easy way to bind Health Potions, Mana Potions and Bandages to a single button. Pressing it normally will use a Health potion, holding down control will use a Mana potion and holding down shift will use a bandage.

Don't forget to change which type of potion and bandage it uses as you are leveling up.

/use [mod:shift] Wool Bandage
/use [mod:ctrl] Lesser Mana Potion
/use [nomod] Lesser Healing Potion