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.
#showtooltip
/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
/stopcasting
/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