Warlock Macro help

I am trying to make a warlock macro with a modifier and it’s not working. I have looked online and tried what the sites say and that doesn’t work either. I just would like to know if what I am trying is even possible, and if so, how to properly execute it. I am making a macro for my Felhunter that will cast spell lock and devour magic, but I would also like it to cast devour magic on me if I do not have a target. This is what I got
/cast Spell Lock
/cast [mod:ctrl, exist, @player] Devour Magic

This macro will dispel my target while holding ctrl, but it will not dispel me if I do not have a target. Any advice would be much appreciated.

1 Like

/cast [@player,mod:ctrl][mod:ctrl] Devour Magic; Devour Magic

Tried it but still no luck. Thank you for the effort :smiley:

:woman_shrugging:

Have you tried something like:

/cast [mod:ctrl, exist, @player] Devour Magic; Spell Lock

If you are looking for a single keypress for both Spell Lock and Devour Magic, then I’d be curious to ask if they both cause a global cooldown. If so, then that will not/cannot work (as a single keypress).

I mean, in that case actually, you could just do:

/cast [mod:ctrl] Devour Magic; Spell Lock

And that will /cast Devour Magic if you are holding ctrl, or /cast Spell Lock if you are not.

Or maybe something like:

/cast [@target, noexists] Devour Magic; Spell Lock
/cast Devour Magic

Tried those as well and no luck. I’m pretty sure what I am trying to do is possible…there has got to be some pvp warlock god out there that has figured it out…Help me warlock gods!

How about:

/cast [mod:ctrl,target=player] Devour Magic; Spell Lock;

That worked to dispel myself, but nothing else worked. It still tried to dispel me even when I had a target, and spell lock did not work at all.

It sounds silly, but have you made sure that the keybind you’re trying to press isn’t bound to something else? Quite often when I’m working with a new character and I use modifier’s in my keybinds, I have to remember to unbind all the modifier+keybind combinations.

1 Like

Yeah, it wouldn’t work the way you want…

OK, let’s see

So, you want the macro to cast Spell Lock and Devour Magic, which is working as intended, except for the caveat that you want it to cast Devour Magic on you if you do not have a target.

So, maybe we can try something like

/cast Spell Lock
/cast [mod:ctrl, noexists, @player] Devour Magic

And if that doesn’t work, then I’m not quite sure why, but it might work by adding [], i.e.

/cast Spell Lock
/cast [mod:ctrl, noexists, @player][]Devour Magic

I was looking at https://wow.gamepedia.com/Useful_macros_for_warlocks#Devour_Magic for reference. Unfortunately, I do not have a warlock to test on.

I’ve also seen the empty [] before, but I don’t particularly understand the syntax. In the example on gamepedia, it says it will cast on self if a there is a magical debuff on you. If not, it will cast on the felhunter if there is a magical debuff on it. Otherwise, it will cast on your target.

#showtooltip Devour Magic
/stopmacro [nopet:felhunter]
/use [target=player][target=pet][]Devour Magic

Oh yeah, that’s a good point! I don’t use modifier keys personally, because I use custom binds with Shift, Ctrl, and Alt already.

/cast Fire Shield
/cast Sacrifice
/cast Seduction
/cast [mod:ctrl,target=Lockley] Devour Magic; [target=focus] Spell Lock;

Here is the entire macro. I am trying to make basically one macro for all my pets main spells depending on which pet I have out. They all work besides the defaulting to me when I don’t have a target. I started out with
/cast Fire Shield
/cast Sacrifice
/cast Seduction
/cast Spell Lock
/cast [mod:ctrl] Devour Magic
and that all worked, however in order to dispel myself I would need to select myself or have another keybind which is what I am trying to avoid, but that just may be what I got to do.
Any time I put in a “Noexist” command it says it is an “unknown” command. Same with Notarget.

Have you tried [noexists]?

Also, not sure if it makes a difference in the case of a pet, but do you have Auto Self Cast enabled?

Interface Options > Combat

I do have auto self cast enabled, and I do not have anything else bound to my modifier. If I turn off the auto self cast and select a key it still doesn’t work with the macro. Actually was I said was incorrect about the about macro working correctly
/cast Fire Shield
/cast Sacrifice
/cast Seduction
/cast Spell Lock
/cast [mod:ctrl] Devour Magic
even with this the devour magic does not work, Neither on me or my target. It will spell lock the target, and do nothing when I have myself selected, all while holding the Ctrl key. I’ve also tried
/cast [pet:imp] Fire Shield
/cast [pet:voidwalker] Sacrifice
/cast [pet:succubus] Seduction
/cast [pet:felhunter] Spell Lock
/cast [pet:felhunter, mod:ctrl] Devour Magic
and that has not worked either.

Does it work if you don’t use the mod?

/cast Spell Lock
/cast Devour Magic

No it spell locks if I have a target and does nothing if I don’t, or if I have myself selected

Interesting. So I suppose that casting spell lock causes a GCD.

right but im not trying to cast both at the same time, I’m trying to cast one or the other with a modifier…shouldn’t GCD not effect that?

Oh! Well, that’s different then! I thought you were trying to cast both at the same time. I had made a macro to test on my mage, with two instant cast spells, and that worked as intended:

#showtooltip
/cast Counterspell
/cast [mod:ctrl] Fire Blast

This will cast only Counterspell if I press the key bind without holding ctrl, and both if I hold ctrl.

If I want to cast only Counterspell without holding ctrl, and only Fire Blast when I hold ctrl, I would use:

#showtooltip
/cast [mod:ctrl] Fire Blast; Counterspell

So, in your case:

/cast [mod:ctrl] Devour Magic; Spell Lock

Seems like it should do the trick (at least for part of what you want).

This also may not be exactly what you want, but might be a sort of workaround as well:

/tar [noexists] Player

As that will target yourself if you do not have a target.

So, something like:

#showtooltip
/tar [noexists] Player
/cast [pet:felhunter, mod:ctrl] Devour Magic; [pet:felhunter] Spell Lock

might work out…

/cast [pet:imp] Fire Shield
/cast [pet:voidwalker] Sacrifice
/cast [pet:succubus] Seduction
/cast [nomod] Spell Lock; [mod:ctrl] Devour Magic

This works! it will cast spell lock if I dont have ctrl pressed, or devour magic if I do. It still won’t cast devour on me unless I have myself selected…but at this point I think that is going to be the best I get.

1 Like

Nice! You did it!!! :+1:

Perhaps the /tar [noexists] Player part may be useful

1 Like

Thank you for all the help brainstorming, it is much appreciated! :smiley:

1 Like