I like the idea of a macro system that can intelligently queue, but I don't think a macro system that only queues one action would truly solve this issue, because there would be cases where actions that are available when the queuing started are no longer available when the player is ready to cast an action, and vice versa. Because in the time between queuing an action and it going off:
These edge cases have the potential to make the system feel clunky when unexpected things happen quickly.
- My position can change, making a skill require 3 yalms either castable or not castable relative to a skill requiring 15 yalms. This could change due to player movement, knockback/pull-in effects, or Rescue.
- My ability to perform actions might change. For example, I could become Silenced, making my prioritized spell no longer castable, but my second-place skill would be.
- A status like Slow could even change when my GCD becomes available, which could in turn change whether an ability I have on cooldown would be available to cast at that time.
Instead, I would suggest a small alteration to your idea: that the macro system queue the entire list of prioritized actions. Maybe that means that there's a cap to the number of actions that can be queued in this way to prevent 15 different actions from being attempted for the whole queue window? But that would at least mean that the first action to genuinely have all of its activation criteria met would be the one that gets used, which is probably what the player wants.
While we don't have that system, it's probably worth stating that we have a lesser version of it, and it can perform some of the things you've mentioned, just not with the same level of polish. On my PS5, I use the SMN version of the following macro and it works great for me without clipping any GCD's:
/macroicon "Ruin II"Pressing this makes it so Ruin II is cast if GCD is available, but if not then it'll do Energy Drain if you have Aetherflow charges, otherwise it will cast Aetherflow. The repeated Ruin II lines not only act as a "queue" for Ruin II, but also for the other oGCD's as well. Technically there's a downside where Energy Drain and Aetherflow will always be "queued" for all of the Ruin II frames, and thus they will always have a short cast delay, but I've found that this doesn't matter at all for single-weaves, and depending on when you press buttons and your framerate you might be able to get it working for double-weaves. I'd recommend giving it a shot, probably adding more Ruin II or removing them to see if you can get it to line up with your preferences.
/macroerror off
/ac "Ruin II"
/ac "Ruin II"
/ac "Ruin II"
/ac "Ruin II"
/ac "Ruin II"
/ac "Ruin II"
/ac "Ruin II"
/ac "Energy Drain"
/ac "Aetherflow"
You can technically make a macro that does either Regen or Dia depending on whether you're targeting an ally or not, it's just going to cost you a single frame roughly half the time. It's up to you whether that's worth the cost. Something like this:
Edit: As Frizze pointed out, the below macro does not work because healing spells cast on yourself if an enemy is targeted.
/macroicon "Regen"(I can't tell whether you meant that you already use a macro like this earlier, so forgive me if I'm telling you something you already know!)
/macroerror off
/ac "Regen"
/ac "Dia"
/ac "Regen"
/ac "Dia"
/ac "Regen"
/ac "Dia"
/ac "Regen"
/ac "Dia"
/ac "Regen"
/ac "Dia"
/ac "Regen"
/ac "Dia"
/ac "Regen"



Reply With Quote


