Advanced Warlock Macro (Pls help!)

Goal:
Create mod:shift macro that can use Spell Lock (pet ability) to hit the current target on normal use, and then on shift use, have the Spell Lock hit the current focus target, BUT if the focus target is friendly use Devour Magic instead. Further, it would be even greater if there was a mouseover component that takes priority over all, so that you could mouseover and click/press to Spell Lock enemy or purge ally

Attempt:
So I’m close but there needs to be a mod:shift added that I’m still missing for the scenario of: having an enemy targeted AND a focus (heal or harm) selected - the mod needs to hit current target OR mod:shift over to hit focus target

/cast [@mouseover,harm][@target,harm][@focus,harm] Spell Lock(Rank 2); [@mouseover,help][@focus,help][@target,help] Devour Magic(Rank 6);

#showtooltip
/cast [@mouseover,help,nodead][mod:shift,@focus,help,nodead][help,nodead]Devour Magic(Rank 6);[@mouseover,harm,nodead][mod:shift,@focus,harm,nodead][harm,nodead]Spell Lock(Rank 2)

I added Target Unit behavior as well as Mouseover and Focus Unit behavior to both spells.

I don’t have the capacity to test this but it syntax checks and looks right in macroexplain.

Also you should almost never end a macro with a semi-colon.

You want the variant below as your starting point.

#showtooltip
/cast [mod:alt,@player] Devour Magic(Rank 6); [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] Spell Lock(Rank 2); [mod:shift,@focus,help,nodead] [@mouseover,help,nodead] [help] Devour Magic(Rank 6); Spell Lock(Rank 2)

Left the [mod:alt,@player] condition set in so you can quickly self cast.

@Ehiz, harmful mouseover and focus will never take priority over helpful target with your version.

Wow! Thank you both!! Not going to lie I was losing faith that I was able to do it so this is fantastic!

#showtooltip
/cast [mod:alt,@player] Devour Magic(Rank 6); [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] Spell Lock(Rank 2); [mod:shift,@focus,help,nodead] [@mouseover,help,nodead] [help] Devour Magic(Rank 6); Spell Lock(Rank 2)

Is exactly what I needed. Thanks again & I hope other people stumble in this thread too to see because its a pretty wicked basepoint to learn more from too!

Cheers,
Rykore

1 Like

Interesting. I have several macros that look pretty much like this on my druid and they work fine and MacroExplain says it will work just fine.

I’ll go back and make sure they’re doing what I think they’re doing but my understanding is that everything (EVERYTHING) inside a block has to be true or the chain just moves to the next link. I can’t see why [help,nodead] not being true would stop [harm,nodead] from being evaluated later.

This is the output from MacroExplain (cleaned up a little because there were some links in it).

Show tooltip, icon, and cooldown for the first item or spell in this macro on the action bar

If the unit your mouse is currently over is a friend and is not dead then:
Cast Devour Magic(Rank 6) on the unit your mouse is currently over

Else, if you were holding the shift key and the unit saved as your focus target is a friend and is not dead then:
Cast Devour Magic(Rank 6) on the unit saved as your focus target

Else, if the currently targeted unit is a friend and is not dead then:
Cast Devour Magic(Rank 6) on the currently targeted unit

Else, if the unit your mouse is currently over is an enemy and is not dead then:
Cast Spell Lock(Rank 2) on the unit your mouse is currently over

Else, if you were holding the shift key and the unit saved as your focus target is an enemy and is not dead then:
Cast Spell Lock(Rank 2) on the unit saved as your focus target

Else, if the currently targeted unit is an enemy and is not dead then:
Cast Spell Lock(Rank 2) on the currently targeted unit

If [help,nodead] is true the macro stops processing further conditions. Hence it never reaches ;[@mouseover,harm,nodead][mod:shift,@focus,harm,nodead][harm,nodead]Spell Lock(Rank 2) even if you’re mousing over an enemy or are holding shift with a harmful focus.

So I’m stumped on another and its actually much easier… I think I’ve been learning too much and my brain is starting to fail me lol.

Am trying to have a mod:shift for fear to hit my target as normal, or focus target if shift is held, while also maintaining the mouseover ability to fear. Lastly, I’d like to add a mod:alt component for Howl of Terror and get that aoe fear on the same macro. This is my attempt:

#showtooltip fear
/cast [mod:alt,@player] Howl of Terror(Rank 2); [mod:shift,@focus,harm,nodead][@mouseover,harm,nodead] Fear(Rank 3); Fear(Rank 3)

Something is wrong with the mod:shift as it doesn’t acknowledge the focus target at all

This one also sets your focus, if you don’t need that aspect of it you can go simpler.

#showtooltip
/focus [mod:shift,@focus,dead] [mod:shift,@focus,noexists]
/clearfocus [@focus,dead] [mod:shift,@focus,noexists]
/cast [mod:alt] Howl of Terror(Rank 2); [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] [] Fear(Rank 3)

Without focus management:

#showtooltip
/cast [mod:alt] Howl of Terror(Rank 2); [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] [] Fear(Rank 3)

Keybinds take priority over macro modifiers. By default SHIFT 1-6 are bound to Action Page 1-6. If you want to use them in macros you’ll need to unbind those keys.

Something about this one just doesn’t want to work. The alt mod works great, and normal target as well, but the shift mod just won’t activate and fear the focus target. I don’t think I am getting in the way of any default shift binds, having this macro bound to G. Hoping to shift+G in order to fear focus target

Try binding shift-g to something then unbinding it.

That is bizarre… I’m not sure if it was the relog or the unbind but again you are right! Fantastic lol.

#showtooltip
/cast [mod:alt] Howl of Terror(Rank 2); [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] [] Fear(Rank 3)

Works perfectly =D

Ooooo. I see what you’re getting at.

It never comes up for me because I never keep a friendly as a target.

But yeah, I can see how it might be a problem.