Macro bug? Customer Support directed me here

I opened a ticket with customer support providing the following information:

I’ve noticed a problem with my macros lately and have heard other anecdotal stories of similar behavior within the last month or so.

Basically, I can boil it down to two scenarios:

Scenario 1. This macro seems to be ignoring a conditional altogether:
#showtooltip Innervate
/cast [@focus,exists][@mouseover][@Mintybear,help] innervate

My understanding of what this should do is if I have a focus, it should innervate the focus, if I don’t have a focus but DO have a mouseover, it should innervate the mouseover, if I have neither of those but am around another player in my raid (named Mintybear) they should get the innervate. Finally, if none of the conditionals match, my target should get the innervate. However, when trying to use this macro AS OF JUST THIS WEEK (please note, I’ve used this macro for months with ZERO problems) - it appears to be ignoring the third conditional of @Mintybear and is telling me “You have no target”. The other conditionals work meaning if I set a focus or mouseover a unit, they get the innervate. The only conditional that doesn’t work here is the third one.

Scenario 2. This is a little harder to explain. I have the following macro on my boom chicken:

#showtooltip
/use [@mouseover,harm,nodead][@target,harm,nodead]Sunfire

This macro works great and exactly as you would expect. HOWEVER, when I copy the text (highlight, control-c) and then paste the text into a new macro (control-v) for my elemental shaman and then replace ‘Sunfire’ with ‘Flame Shock’ the macro DOES NOT WORK until I remove the ‘harm’ option from either conditional. Example:

This DOES NOT work on my ele shaman:
#showtooltip
/use [@mouseover,harm,nodead][@target,harm,nodead]Flame Shock

This DOES work:
#showtooltip
/use [@mouseover,nodead][@target,harm,nodead]Flame Shock

This DOES work:
#showtooltip
/use [@mouseover,harm,nodead][@target,nodead]Flame Shock

I want to add that I’ve renamed my Interface and WTF folders to Interface-OLD and WTF-OLD to load the stock UI and the behavior persists. Again, I’ve spoken with other people in my guild and a few of them have experienced similar issues as of late.

CUSTOMER SUPPORT RESPONSE:

"Thank you for your patience while we looked into your issue for you. Tech Specialist Logan, here. I did some digging into your issue, and wanted to leave some information on how to get help with your macro issue.

In terms of the macro API, we don’t have any specialized information on what may have changed. Macros are considered an advanced playstyle and because of this we don’t help players construct or troubleshoot these. Instead, we have a forum for support which allows the community of other advanced players to help each other find errors and report bugs should one arise.

I’d reach out to the community and see if they can identify why this failure might be occurring. If some kind of change to any of our APIs occurred, the macro community likely already knows why.

I sincerely hope that this experience with Blizzard Entertainment has been helpful and informative! If you need help with anything else, please feel free to reach out and let us know."

Might you guys have absolutely ANY clue why this behavior has started happening in the last couple weeks?

Intervene needs you to look at the target. If they are following you they are behind you. Also you are not in group content controlling two accounts are you?

Am in group content, am NOT on two accounts. Did have LOS.

What about the brackets.

Every [ ] is a “AND”

" ; " is a “or”

So…

/Cast [targetstarget] intervene; [@dug,help]intevene; …

You don’t need the semi-colon if its for the same spell as per this well-known formatting:

/cast [conditional,conditional][conditional,conditional][] Spell

HOWEVER, that made me test something. I was missing the final ‘[]’ in the macro. Adding that fixed my problem.

1 Like

For @mouseover macros you need to have SOME level of exists in there.

[@mouseover,harm] implies exists (because of the “harm”)
[@mouseover,nodead] does NOT imply exists because the negation of dead is not exists but is living.

If you want to check SOLELY for a living unit under your cursor, you would use this: [@mouseover,nodead,exists]

Everything INSIDE [] is an AND, not every [] is an and.

[A,B][C]Action

That means if (A and B) or C then do the Action.

Semicolons separate fully qualified actions, not conditions.

So much wrong in this thread - I strongly suggest you go back and read the stickies before you go any further or contact me in-game on my battletag for a short macro-101 course: Kaldara#11970

You’re missing an existence check (exists, help, harm) on the mouseover condition so it assumes a mouseover unit exists and doesn’t advance past that test.

#showtooltip
/cast [@focus,help,nodead] [@mouseover,help,nodead] [@Mintybear,help,nodead] [] Innervate

You’re going overkill on your target test which is causing the spell to not appear when you don’t have a harmful, non-dead target selected. Use this template instead:

This was it.

I updated:
#showtooltip
/use [@mouseover,harm,nodead][@target,harm,nodead]Flame Shock

To:
#showtooltip
/use [@mouseover,harm,nodead][@target,harm,nodead][]Flame Shock

and it worked no problem. I’m probably still doing it wrong.

But more importantly adding the exists condition on the mouseover for innervate solved that problem. Thank you.

Just weird that it worked for months right up until it didn’t. Anyways, thanks again!

The [] means “cast normally” and for offensive/attack spells that would be to cast at your current target. You could shorten what you had to just this:

#showtooltip
/use [@mouseover,harm,nodead][]Flame Shock

For something like a heal spell which you sometimes want to cast on your target or self-cast (heal yourself) you would want something like this:

#showtooltip
/use [@mouseover,help,nodead][@target,help,nodead][] Heal Spell

That useful macro templates link that EB shared above has better examples for healing abilities.

1 Like

I’d personally still use the mouseover > default version. Just make sure auto self casting is enabled in Interface > Combat.

1 Like