Macro to cast different spells based on condition?

if touch of the magi is up, cast it, otherwise, cast arcane blast?

thanks

There is no way to automate the selection of spells in a macro. The best you can do is cast sequence and that gets messy with long CD spells. You could track the status of Touch of the Magi with a WA and use a visual and sound queue to know when to cast it.

Touch of the Magi is off the GCD which means it can be cast at the same time as another spell in a macro.
You could do this:

#showtooltip
/cast [known:touch of the magi]touch of the magi
/cast arcane blast

If touch of the magi is off cd, both spells are cast. If touch of the magic is on cooldown, it will just cast arcane blast.

NOTE: “known” is a way of checking if you have selected a talent. “known:touch of the magi” can be replaced with “known:321507” because 321507 is the ID for the touch of the magi ability. You can find the id # by looking up the talent on wowhead.com, https://www.wowhead.com/spell=321507/touch-of-the-magi

In general, @newman, is correct in his description. Most spells are “on” the global cooldown for the precise reason to prevent casting 2+ spells at the same time. There is also no condition/option for testing “spell xyz is on cooldown” and if we were dealing with any regular ability, you would need a macro statement like this:
/cast [mod]SpellWithCooldown; SpammableSpell

You track the CD of SpellWithCooldown on your own and make the decision to hold down a modifier key (shift, ctrl, alt) while activating the macro to trigger “SpellWithCooldown”

2 Likes

this works, thanks a lot for saving me an extra button ~
only issue is breaks the hold to cast, but i will just switch to clicking that’s ok