SBA with Macros

So I noticed that there were some oddities with the SBA and some limitations around the system that I wanted to try to overcome. I started working across some specs and wanted to put my findings here for people to iterate on.

So first off, if you have some trinkets and cooldowns that are on roughly the same timer (for my hunter, Signet and CotW are both 2 minutes), its pretty simple to create a one button macro:

#showtooltip Single-Button Assistant
/castsequence Signet of the Priory, Call of the Wild
/cast Single-Button Assistant

This takes advantage of the fact that the castsequence, if it cant cast an ability, just falls through to the cast below it. Unfortunately trying to add a /use above or below tended to break stuff, and you cant rely on 2 /castsequences in the same macro, they tend to break.

Of note, if Single-Button Assistant appears in a castsequence, it seems to just hang the castsequence forever and not let it reset.

/castsequence Signet of the Priory, Single-Button Assistant

^ Will use the signet once and then never again, even if I set a reset=121 on the castsequence, it will never reset.

One thing I noticed is that for demon hunter, felblade wasnt in the rotation, so I tried iterating on a couple things, and got this working:

#showtooltip Single-Button Assistant
/castsequence Felblade, Junkmaestro's Mega Magnet
/cast Single-Button Assistant

But this only allowed me to cast Felblade once every time the magnet’s cd was up. Trying multiple Felblades in a row didnt work, it needed something with a static cooldown (vengeful retreat worked), but then it became limited by the timer of that cooldown.

#showtooltip Single-Button Assistant
/castsequence Felblade, Vengeful Retreat
/cast Single-Button Assistant

So then I started messing around with some modifiers instead, which allowed some more flexibility, but required a bit more overhead to use than just button spamming.

#showtooltip
/use [mod:shift] 14
/use [mod:shift] 13
/cast [mod:shift] Felblade
/cast [nomod] Single-Button Assistant

Also tried a bit with tab targeting to reset the cast sequence:

#showtooltip Single-Button Assistant
/castsequence reset=5/target Felblade, Vengeful Retreat
/cast Single-Button Assistant

This works pretty well if I spam my macro and tab target until my Felblades run out.

Putting this out here to hopefully see if other people are testing some stuff to supplement the assistant.

A large part of why I started doing this was because I got annoyed that the single button assistant allows reticles to be targeted at your current target, which is not something that macro’s can currently do.

Edit:

Found a really fun hack! You can use a short cooldown toy to successfully use Felblade consistently when its up

#showtooltip Single-Button Assistant
/castsequence Kindness of Chi-Ji, Felblade
/cast Single-Button Assistant

Edit 2:

I broke the game

#showtooltip Single-Button Assistant
/castsequence Felblade, Kindness of Chi-Ji, Kindness of Chi-Ji
/cancelaura Kindness of Chi-Ji
/cast Single-Button Assistant

This essentially casts Felblade once every 20 seconds without breaking anything else. What I’m learning is that if a castsequence breaks on a trinket or toy, it will move onto cast the single-button assistant line, but if the castsequence stops on a class ability, it will not fall through to the SBA.

1 Like

/castsequence is essentially programmed to sorta break when you spam it. That way it doesn’t function as a one button rotation. There are two things to keep in mind (that you seem to have discovered):

First, think of the spell it’s on as a Pointer, not as a line of code. The pointer only moves to the next spell when the spell it’s on SUCCESSFULLY casts. So let’s say you had something like:

/castsequence Lightning Bolt, Chain Lightning, Blood Lust

And you set up at a dummy and start hammering it.

  • At first you’ll start casting Bolt. If you for example stop casting or get silenced, it will continue to point at Lightning Bolt.
  • Once you successfully cast 1 bolt, the pointer will update to Chain Lightning.
  • Now same thing, it’s pointing at chain lightning, so if you start casting the jump, then hit it again it will continue to point at chain lighting.
  • You cast CL, pointer updates to bloodlust.
  • You Cast Lust and pointer wraps back to Lightning Bolt. You hit it two more times Bolt → Chain Lighting.
  • Now the pointer is on Blood Lust again. It will now stay pointing at Blood Lust until you cast Blood Lust a second time.
    Effectively what this means is if you spam the key it will cast Bolt → CL → Lust → Bolt → CL → Then get stuck for 5 minutes while it contemplates casting lust.

The Second thing to note is how Reset conditions work. Hitting a Reset condition will reset the pointer back at the first spell. So Reset=5 means after 5 seconds, the pointer moves back to the first spell.

If you press the macro, even if it doesn’t successfully cast the spell, the reset timer is reset So its not 5 seconds of failing to cast, it’s 5 seconds of not being pressed.
You can use other reset conditions like a reset=combat that automatically resets when you enter combat. Or reset=shift which allows you to hit Shift+Macro to force reset the macro (note that it only reset when you hit Shift + Macro key, not just when you hit shift)