I don’t like to have to think about rebuffing when I come out of the graveyard, and Warlocks take a few seconds to get everything back in order.
Here are two castsequence macros I use to bang out the buffs. I keep things in order of cast times (instants first) and then priority. That way I can run for a bit while casting, stop if I need a Healthstone, or just stop. By having the Armor up first, it allows me to swap armors in midfight.
Demon Armor Sequence (PvP):
#showtooltip /castsequence reset=target/player,4 Demon Armor, Soul Link, Dark Intent, Unending Breath, Create Healthstone, Dartol's Rod of Transformation
Fel Armor (for PvE):
#showtooltip /castsequence reset=target/player,4 Fel Armor, Soul Link, Dark Intent, Unending Breath, Create Healthstone, Dartol's Rod of Transformation
Make sure you have someone else targeted for your Dark Intent. I usually summon my demon first and choose them. Also, Dartol’s Rod of Transformation is a disguise. You can replace it with Noggenfogger or Savory Deviate Delights.
You want Dark Intent to be up at all times, even while soloing. This macro casts it on your target, if possible, or your pet, if no target is selected.
#showtooltip /use [@target,exists][@pet] Dark Intent
The mouseover version of it is:
#showtooltip /use [@mouseover,exists][@pet] Dark Intent
I’ve had this macro for ages – it either creates a Soulstone if you don’t have one, or applies it to you/your target if you already have one.
#showtooltip Create Soulstone /use Create Soulstone /use [nocombat,help,nomodifier:alt] Soulstone; [nocombat,target=player] Soulstone
Pets require a lot of macros. First, some summoning macros.
I like to be able to switch pets quickly in a fight, usually to surprise people with a very different tactic. I might start with the Succy for Seduce and Whiplash, but then switch to the Felhunter for Spell Lock.
This is possible through burning a Soul Shard for an instant summons. I use castsequence macros so I can burn through a few actions if I have time, but can stop midway through if needed. If possible, I bang through the entire sequence.
Instapup (Summon Felhunter):
Instantly summons your Felhunter to Spell Lock your target. Continued presses will link the puppy, then increase damage with Demon Soul.
#showtooltip Summon Felhunter /use Soulburn /castsequence reset=target/combat,2 Summon Felhunter, Soul Link, Demon Soul /use Spell Lock
Quick Kiss (Summon Succubus):
Similar to the Instapup macro, this rapidly deploys your Succy and starts her CC.
#showtooltip Summon Succubus /use Soulburn /castsequence reset=target/combat,2 Summon Succubus, Soul Link, Shadow Bolt /use Seduction
Sacrifice (Summon Voidwalker):
Straightforward damage shield from the Voidwalker for when you’re taking heavy damage.
#showtooltip Summon Voidwalker /use Soulburn /castsequence reset=1 Summon Voidwalker, Soul Link, Demon Soul /use Sacrifice
Singe Magic (Summon Imp):
Brings your Imp out and starts purging dispels on either your mouseover target, your friendly target, or you. I’ve modified this in the past to specifically target my Arena healers instead.
#showtooltip Summon Imp /use Soulburn /castsequence reset=1 Summon Imp, Soul Link, Demon Soul /use [@mouseover,help,exists,nodead][@target,help,exists,nodead][@player] Singe Magic
Next, pet control of special abilities. I use two macros to control them, on different keybinds. They change according to what pet is out. I think of them as a primary and a secondary ability. If no pet is out, the macro defaults to summoning the primary and secondary demon for that spec.
#showtooltip /use [pet:Felhunter] Spell Lock; [pet: Succubus] Seduction; [pet: Voidwalker] Sacrifice; [pet: Imp,@player] Singe Magic; [pet: Felguard] Felstorm; [spec:1] Summon Felhunter; [spec:2] Summon Imp /run UIErrorsFrame:Clear()
My first spec is Affliction, hence the
[spec:1] Summon Felhunter;
, and second spec is Destruction.
I have the alternate abilities bound to a modifier of the same key:
#showtooltip /cast [pet: felhunter] Devour Magic; [pet: Succubus] Whiplash; [pet: Voidwalker] Consume Shadows; [pet: Imp] Flee; [pet: Felguard] Axe Toss; [spec:1] Summon Succubus; [spec:2]Summon Succubus /run UIErrorsFrame:Clear()
While I keep my Synapse Springs macroed into my normal abilities, I do like to have a macro I can hit that pumps up the damage by quite a lot. This triggers both Demon Soul and my damage trinket.
Pump It Up
#showtooltip /use Demon Soul /use Volcanic Potion /use 13 /use 14 /run UIErrorsFrame:Clear()
Since they’re both on 2 minute cooldowns, I just display the Demon Soul CD on the tooltip.
I’ve gone ahead and added in a Volcanic Pot for that additional oooooomph when hitting this button.
So, this is where it gets complicated. I have certain sequences I like to cast a lot, so I automate them.
/castsequence reset=target/combat,2 Corruption, Bane of Agony, Unstable Affliction, Fear, Curse of Exhaustion, Soul Swap, Shadow Ward /use 10 /startattack /cast Devour Magic /run UIErrorsFrame:Clear()
This one is pretty simple in that it casts dots at the target, casts Devour Magic if the Felpup is out, and triggers my engineering glove tinker. Soul Swap might stop the sequence if it’s on CD, and Shadow Ward definitely will.
Here’s my Haunt macro. I think of this as the macro to put on the debuffs – the other macros stress getting dots up quickly, this one gets debuffs up first.
#showtooltip /castsequence reset=target/combat,2 Haunt, Curse of the Elements, Unstable Affliction, Corruption, Bane of Agony, Soul Swap /use 10 /cast Devour Magic /run UIErrorsFrame:Clear()
UA and Dot
This is a modified version of the Haunt macro that’s more like a “stand and cast” macro. I used to have this as a complete setup macro (with Haunt in the first slot) but have changed it recently.
Alt goes to my Focus.
#showtooltip Unstable Affliction /castsequence reset=2 [mod:alt,@focus] Unstable Affliction, Corruption, Bane of Agony, Curse of the Elements; reset=target,2 Unstable Affliction, Corruption, Bane of Agony, Curse of the Elements, Fel Flame, Fear
This is my Affliction AoE spam button of choice.
#showtooltip /castsequence reset=4 Soulburn, Seed of Corruption, Curse of the Elements, Bane of Agony, Fel Flame, Unstable Affliction, Fear, Rain of Fire /run UIErrorsFrame:Clear()
I mostly use this as my Immolate button, but I like getting a quick Conflag off if I can, then layering some dots on the target. This will take you through an entire Conflag CD if you’re glyphed for it.
/castsequence reset=target/combat,2 Immolate, Conflagrate, Corruption, Bane of Agony, Curse of the Elements, Fel Flame, Fel Flame, Conflagrate, Drain Life /cast Shadowburn /use [@Dolar][@player] Singe Magic /use 10 /startattack /run UIErrorsFrame:Clear()
I use this as a setup macro. If I’m not in my PvE set, it will switch me into it.
/castsequence reset=target/combat,2 Immolate, Curse of the Elements, Bane of Doom, Corruption, Hand of Gul'dan, Shadow Bolt /use Devour Magic /use Demonic Empowerment /use 10 /startattack /equipset PvE /run UIErrorsFrame:Clear()
Simple castsequence macro to activate Meta and Immo Aura.
/castsequence reset=target/combat,5 Metamorphosis, Immolation Aura, Demon Leap
I used to macro in all sorts of buff macros to it, but now I leave those on my Demon Soul Pump macro and just use this cast sequence if needed.