Help me code a specific macro please

Hello code-savvy neighbors. I have a specific problem which I am trying to chew on a solution for… (TL;DR below for you if you don’t care about the context :smiley: )

The new Balance druid system–which relies on a pendulum swing between two different ‘eclipse’ buffs that are triggered by spamming either starfire or wrath, and which must be activated in alternation–is a little clunky for me. I want to smooth things out by creating a weak aura to more easily track which Eclipse I am on/working toward and/or just create create a macro that fires either starfire or wrath, depending on which state I am in.

Typically, I shy heavily away from using macros that combine multiple spells/abilities into one button, but in this case I wonder if that is almost preferable to creating an aura, where I’d have to devote a constant % of my awareness toward, just so I know which of my 2 pew pew nukes to spam, while the only determining factor seems to be which of the two arbitrary eclipse buffs I am on. I’m fine with that in some cases (like, being aware of multiple things in my feral rotation doesn’t bug me, and is more complex, but this just…bothers me). If it is that simple, I think I’d almost prefer making a macro that decides whether or not I cast Starfire or Wrath, based on which Eclipse I am in/exiting.

So…for you beautiful folks who have taken the time to learn C++ (or whatever language macros are in…I think I heard it was C++…I know some Javascript but that doesn’t seem to help me with these):

TL;DR
Can you write a macro that puts the following conditions into workable code? I’l paste the text from the Eclipse ability at the bottom, if you want to refer to it.

If Solar Eclipse is–or most recently was–triggered, cast Wrath
If Lunar Eclipse is–or most recently was–triggered, cast Starfire
If no eclipse (solar eclipse/lunar eclipse) has been recently triggered, cast Wrath

Hey, thank you, I realize that this is kind of a complicated problem to be coming to the forums with (at least for a baby-coder like my. My wife just laughed at me and said it’s only an if-statement, but she doesn’t know how to code it either so…:stuck_out_tongue: thanks.
------------------for reference---------------------------------
**Eclipse
Casting 2 Starfire empowers Wrath for 15 sec. Casting 2 Wrath empowers Starfire for 15 sec. These Eclipses occur in alternation.

Eclipse (Solar)
Wrath cast time reduced 8% and damage increased 20%.

Eclipse (Lunar)
Starfire cast time reduced 8% and critical strike chance increased 20%.**

Pretty sure a macro cannot do that. 99.93834837873% sure

Edit: Macros are limited in the number of characters you can use, and API from Blizz would not allow that level of automation. Macros/Addons are coded in LUA script, not C/C++.

1 Like

Really? Shoot.

I remember having a buddy paste over a demonology warlock macro to me years ago, which basically streamlined his whole dps rotation into one button. He used it to troll people in duels I think. Like, it casted spels A,B,C, etc in a specific order, and would start over at the end of the chain.

I hated it and never used it after trying it once, but I remember that it was complicated.

On second thought though, that’s simpler than writing a function with conditional requirements isn’t it? Hmmm…

Edit: thank you for the feedback.

Blizzard has cracked down on what macros and even addons can do.

Maybe someone else has more ideas but from my experience with the addons I created for myself, the API is just not going to allow it.

They do not want the game to be automated excessively.

Good Luck!

1 Like

And honestly, I guess I can agree with that even. Okay, onto another solution :stuck_out_tongue:

Since you’ve got the attention of some macro wizards, I’m going to hijack this for a moment to ask if it’s possible to macro Searing Nightmare to work with Mind Sear.

Searing Nightmare spreads pain onto the targets getting hit by Mind Sear aoe BUT can only be used WHILE CHANNELING Mind Sear.

Searing Nightmare is instant cast (but only castable while channeling sear) so if it’s even possible, how would I make a macro to tell it hey, if I’m channeling MS and SN is available, use it.

Can it work similar to how a trinket or ring effect can be macro’d to other abilities?

I am not in game atm, but is it ‘/castsequence’ that you are referring maybe…?
You can set x-amount of spells in a certain order, then just spam one key to cast whatever spells you laid out. If memory serves, you have a couple seconds to recast otherwise the spell tracking reverts back to the initial spell in your list of spells.
Sorry, probably not much help.

1 Like

The thing is you can only use it while you’re already channeling sear. If you press twice it would stop the channeling.

If they are on the GCD then macroing would require a castsequence macro that requires multiple presses to make happen. I have not played a priest so I do not know how those abilities actually work.

2 Likes

I had a macro in Wrath (I think it was WoTLK) like that for my ret paladin. I could literally just smash it and it would cast any dps spell that wasn’t on cooldown. I watched my 6 year old roll people in PVP using just that macro, it was hilarious.

I doubt they’d let that fly these days, too much of a good thing and all. Plus make botting super easy.

1 Like

I’ll have to see if it triggers a global but I’ve never seen a spell used this way, where the requirement is to use while already channeling another spell.

Edit: It does trigger a global.

#ShowToolTip
/castsequence reset=combat/3 Mind Sear, Searing Nightmare

Seems to work but a little wonky. The cd on SN is fast. It actually doesn’t stop the channel at all so you just have to double tap it fast. There’s probably a better way to get it smoother though.

You can’t automate that in a macro or in any ToS-compliant way.

Your best bet is to have a WeakAura that notifies you of eclipses and tracks their duration.

1 Like

Yeah, that seems to be the consensus. I am currently searching wago, wowhead, icy-veins for one, but haven’t found one yet.

This issue may be what actually brings me around to learning WeakAuras and writing one myself. If I can’t automate the process (which, I’ll admit was a naughty desire which I was hoping I could get away with but felt dirty about), then I want a way more in-my-face aura or something that tells me to ‘cast X’. the little blip animation that comes and goes super fast just ain’t cutting it for me lol.

Luxthos will develop a WeakAura for this sooner or later, but he’s understandably swamped right now.

1 Like

Note there’s a macro and UI forum, where all those gurus hang out. I’ve posted questions there several times. :slight_smile:

Not trying to censor you, just saying this thread would get more visibility from people who are experts in that forum.

1 Like

That’s fine, I didn’t know that, thanks. I will probably draft a question for this (the Aura idea, not the macro idea) over there then :smiley: