Mouseover heal + dps spell macro problem

Hi everyone. I’ve been trying to improve my gameplay by trying to combine the 2 basic macros i’ve always used, but i cant seem to get the syntax right.

As a Holy Priest, the concept im trying to achiev is to be in “healing mode mindset” when im not pressing any key , and go to “dps mode mindset” when im pressing the shift key that switches to dps spells and its correspondant icons. But I want to keep the @mouseover thingy on the healing spells

This is the basic renew i use that works fine:

#showtooltip Renew
/cast [@mouseover,exists] Renew

and this is the Renew / Smite that switches spells AND its correspondant icon, but i cant seem to get the @mouseover part to work

#showtooltip
/cast [nomod][@mouseover,exists] Renew
/cast [mod:shift] Smite

Ive seen lots of macros that AUTOMATICALLY chooses the correct spell dependant on the target is a friend or enemy, but that is not what i need.
I want to “manually” change the spells and its correspondant icon as i press Shift, and still keep the mouseover modifier on the chosen spells.

Thanks in advance, i hope i wasnt to confusing while explaining

There are a few of things to keep in mind.

The first is that generally, if you want a macro to do one action, keep all the conditionals on one line. (It usually works to break them up, but you also introduce the potential for weirdness if two of the lines evaluate to true.)

Second, conditionals sets are evaluted in order from left to right, and the first one that evaluates to true will fire. So, it’s best to start with your most modifier key stuff, to avoid needing to use “nomod.”

Third, conditional sets without a target specified will default to casting the spell like you cast it from the spellbook. (Generally on your target, or for friendly spells, self cast if that’s set in the interface options.)

Finally, think of each conditional set [conditionals] as separated by an “OR” operator [cond1] OR [cond2] and comma separated conditionals inside a conditional set [cond1, cond2] as using “AND” operators [cond1 AND cond2].

Without a mod key pressed, your macro is never moving past the [nomod] part, as it will use default targeting, which will find a way to be true. (As it’s default.)

So, for your exact macro:

#showtooltip
/cast [mod:shift]Smite;[@mouseover,exists]Renew

If you have self cast on, it might help to use this instead:

#showtooltip
/cast [mod:shift]Smite;[@mouseover,help,nodead]Renew

Then it will self cast if your mouse is over an enemy.

1 Like

Thank you so much, you’ve been very helpful. I have a little better understanding on the priorities of conditionals of macros

But I dont know what mistake im making, but when im using your version of the macro, the self cast when targeting an enemy or anything else, is not working.
I do have auto self cast on interface options, i checked.

On the other hand, I kept reading on #showtooltip and it seems that if I use “?” macro icon and play with conditionals, icons switch to the correspondant spell, getting a nice visual aid :slight_smile:

this is the example that is working for me so far:

#showtooltip [nomod] or [mod:alt] Renew; [mod:shift]Smite

#showtooltip
/cast [mod:shift]smite;[@mouse over,help,nodead]renew;renew

Udiza’s code was missing the default fallback.

#showtooltip
/cast [mod:shift] Smite; [@mouseover,help,nodead] [] Renew
1 Like