Brian Koponen

Programming and Tech Tips

Custom Warlock Macros for World of Warcraft: Classic

This page is a work in progress

The Warlock macros I had made in the original version of World of Warcraft need to be updated to work in Classic. The new macro system is much more restrictive, particularly against a class like the Warlock that uses a lot of debuffs. We can longer check if a target has a debuff applied, for instance, so I'm trying to find new workaround solutions.


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 controls your pet. If you have a mouseover target, your pet will attack it, otherwise it will attack your current 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 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


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?