Custom Warlock Macros for World of Warcraft: Classic

The Warlock, like the Hunter, is a very efficient leveling class that is great fun to play solo. I find having a pet to manage makes the game much more interesting, but it can also be quite difficult in panic situations to keep all the actions of you and your pet straight. These macros greatly simplify managing your pet and maintaining an easy combat rotation.

Many of these are adapted from my Vanilla Warlock macros, which were created for the 1.12 version of the game. The new macro system in World of Warcraft: Classic is much more restrictive than what we had in the original game, particularly against a class like the Warlock that uses a lot of debuffs. We used to be able to check if a debuff was already applied before casting, but this is no longer allowed, so I have been finding new workaround solutions.


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 Management

Managing your pet is one of the defining features of the Warlock. You can make your leveling very efficient by sending your pet to attack different targets to keep yourself in combat as much as possible. These macros are designed to give you an easy way to control your pet.

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


These are quite useful macros, even if not as fully powerful as the originals. I'm still leveling up characters, so I'll be updating all this page as I get more spells and find interesting ways to use them.

You may also be interested in these World of Warcraft related pages:

World of Warcraft Macros

Question or Comment?