Macro with @mouseover and modifiers help

Trying to get this to work and I don’t get why it won’t… I mean it partially does…

#showtooltip
/cast [@mouseover,mod:shift]Earth Shock(rank 1);[mod:shift]Earth Shock(rank 1);[nomod:shift,mod:alt]Earthbind Totem;[@mouseover,nomod:shift/alt]Frost Shock(rank 1);[nomod:shift/alt]Frost Shock(rank 1)

It does exactly what I want it to except one thing… it doesn’t use frost/earth shock on my target if i have nothing moused over. Otherwise the tooltips for every spell show up and everything. I had a condensed version as well:

/cast [@mouseover,mod:shift][mod:shift]Earth Shock(rank 1); [nomod:shift,mod:alt]Earthbind Totem;[@mouseover,nomod:shift/alt][nomod:shift/alt]Frost Shock(rank 1)

If i switch @mouseover with @target it works fine - but no mouseover. If I add @target to the second set of modifiers it still does @mouseover but not @target and vice versa…
Yeah I can do this another way. It’d be soooo goood tho with my buttons and I have a ton of moves I want to set up this way.
help?

#showtooltip
/cast [mod:alt]Earthbind Totem;[@mouseover,mod:shift,harm,nodead][mod:shift,harm,nodead]Earth Shock(rank 1);[@mouseover,nomod,harm,nodead][harm,nodead]Frost Shock(rank 1)

See if that does what you want.

It SHOULD…

Cast Earthbind Toten on alt
Cast Earth Shock(rank 1) on shift (mouseover or target, depending)
Cast Frost Shock(rank 1) on nomod (mouseover or target, depending)

Tests to see if you have a living, harmable mouseover or target (which might be eating some of your choices - I didn’t look that closely).

I did end up getting it. Very similar to yours. Exactly how i wanted it to function

here it is:
#showtooltip
/cast [@mouseover,harm,mod:shift][mod:shift]Earth Shock(rank 1);[nomod:shift,mod:alt]Earthbind Totem;[@mouseover,harm,nomod:shift/alt][nomod:shift/alt]Frost Shock(rank 1)

*Thank you for the quick reply

Optimized

#showtooltip
/cast [mod:shift,@mouseover,harm,nodead] [mod:shift] Earth Shock(Rank 1); [mod:alt] Earthbind Totem; [@mouseover,harm,nodead] [] Frost Shock(Rank 1)
1 Like

Elvie, isn’t that going to eat []Frost Shock(Rank 1) if a shift key mod is held down and there’s no target?

10 characters

If I read that correctly and you have the shift key held down, Earth Shock will attempt to cast as if you had clicked it in your spell book (no target conditionals).

When you get to []Frost Shock, you won’t attempt that.

That may have been your intent. I just wanted to be sure.

Elvie’s functions the way it should. It inherits the @mouseover and all that as it should. So yes that would be a correct optimized version.

My question is… why can i never get [] to work right…

Want to optimize my other one? xD

#showtooltip
/cast [@mouseover,help,mod:shift][mod:shift]Lesser Healing Wave;[@mouseover,help,nomod:shift,mod:alt][nomod:shift,mod:alt]Lesser Healing Wave(rank 1);[@mouseover,help,nomod:shift/alt][nomod:shift/alt]Lesser Healing Wave(rank 4)

Tried to optimize a couple different ways but it ends up sacrificing a function or eliminating a rank…
I’d like to add a third mod in there but as you can tell I’m running out of characters.

(and if you can point me to what I am overlooking or some basics I’m not understanding when writing these that would be great. I realize there is too much repetition in there but can’t seem to figure out how to eliminate it)

#showtooltip
/cast [mod:shift,@mouseover,help,nodead] [mod:shift] Lesser Healing Wave; [mod:alt,@mouseover,help,nodead] [mod:alt] Lesser Healing Wave(Rank 1); [@mouseover,help,nodead] [] Lesser Healing Wave(Rank 4)

You’ve really just been over-thinking things and as a result you’re adding redundant modifiers.

Macros are executed left to right and stop at the first condition set that returns true. So if you’ve got mod:shift in one set followed by mod:alt in another. It’s implied that shift being pressed has already “been used up” by the time you get to the alt set and you don’t need to tell the alt condition set to not use shift.

As far as ensuring @unit conditions fall back, like @mouseover, just remember to always include an existence check: exists, help, or harm pick one. If you don’t then the game assumes you always have a valid whatever and won’t move on.

1 Like

awesome, tyvm