Castsequence @mouseover, otherwise at target

I’m trying to get a castsequence macro for my Druid that goes back and forth between Sunfire & Moonfire. I also want it to cast at mouseover if I have one, but otherwise case at my target. I can get the @mouseover part to work but not the target part.

#showtooltip
/castsequence [@mouseover]reset=combat Sunfire, Moonfire
/castsequence reset=combat Sunfire, Moonfire

#showtooltip
/castsequence [@mouseover]reset=combat Sunfire, Moonfire; Sunfire, Moonfire

These were two of the ones I’ve tried, and both only work with the mouseover part.

#showtooltip
/castsequence [@mouseover,harm,nodead] [] reset=combat Sunfire, Moonfire
1 Like

Thanks!

What’s the empty [] indicate?

Cast the spell using default conditions.

#showtooltip
/castsequence [@mouseover, harm, nodead] reset=5 Sunfire, Moonfire

You could add a little reset timer too … so it casts Sunfire first and then switches to Moonfire … if after 5 seconds you didn’t cast Moonfire it reverts back to Sunfire.
The version of Elvenbane will just jump between Sunfire and Moonfire … and only reverts on combat end.

I just try to show you another use here, you can tinker with the seconds around, as it i is not real seconds … if its reverting to fast raise the number, however … if you cast Sunfire and a Moonfire right after … it still reverts back to Sunfire.
The Timed Reset is good if you had more spells in there then just the two.

I think if you want default conditionals you not need a [ ] ? Non existing [ ] makes the system go to default or not?
Please correct me if i am wrong, then i would learn something new!

If you have any condition sets you need a blank or “=true” condition set to cast the spell using default conditions. Otherwise it will simply try to fulfill whatever conditions are present and if none evaluate to true it will do nothing.

WIth just this:
/castsequence [@mouseover,harm,nodead] reset=combat Sunfire, Moonfire
If your mouse is just hovering over empty ground or hovering over someone that is dead or an friendly, the castsequence won’t cast at all, even if you have a target

But with this
/castsequence [@mouseover,harm,nodead] [] reset=combat Sunfire, Moonfire
The spell will be cast on the living, evil-doer your mouse is hovering over but if your mouse isn’t over a living, evil-doer, the [] will make it cast at your target.

Hmm i think i get what you mean.
Example:

#showtooltip
/cast [@targettarget, help, nodead] Holy Light

In this case the Spell Holy Light would only get cast if the Target of my Target is friendly and not dead. This i can use while having the Boss as my Target and Heal the Tank.
But Targeting a Friendly would not cast any Spell unless that Friendly has another Friendly i. his Target.
I solved it like this usually:

#showtooltip
/cast [@targettarget, help, nodead] Holy Light; Holy Light

This would cast Holy Light even if my target has no Friendly Target and it would heal my Target instead.
But with this, if i understand it correctly, i could do this:

#showtooltip
/cast [@targettarget, help, nodead] [ ] Holy Light

This would basically add a Condition that always returns true, and as such the Macro would heal Target of Target if that is friendly, and if i target the Tank it would jump to the second Condition and heal the Tank.
Would save me the “;” and the Spell Name(or number, if i go that route).

Yep.

If you want to think of it in programming terms…

// [@mouseover,help,nodead] [] Spell
unit = null
If (unit = mouseover and target == mouseover and target == help and target != dead) or (true) then
/cast spell(@unit)
// [@mouseover,help,nodead] Spell; Spell
unit = null
If unit = mouseover and target == mouseover and target == help and target != dead then
/cast spell(@unit)
Else
/cast spell
1 Like

Yeah, thanks for that info!
I know a little bit c+ but not really Lua. This comes in handy to save space in that tiny space you got for macro‘s in WoW.

Classic seems to not have everything Retail has, though it is just another world using the Retail client(and not the original Vanilla client).