Results 1 to 8 of 8
  1. #1
    Player
    Renathras's Avatar
    Join Date
    Dec 2014
    Posts
    2,747
    Character
    Ren Thras
    World
    Famfrit
    Main Class
    White Mage Lv 100

    Macro Experiments

    Just playing around and came up with a few. Not sure if they're good or not and can't get a lot of useful information, so figured I'd try here. Three in total:

    .

    1) Summon Seraph/Eos:


    /macroicon "Summon Seraph"
    /merror off
    /ac "Summon Seraph"
    /ac "Summon Eos"

    Kinda in love with this one. When do you summon Eos? When you've been KOed or just swapped Jobs. When do you summon Seraph? A GCD or two before you need Consolation. And what does Seraph require? Eos to already be out. And how do you use Consolation? By pressing the Summon Seraph button.

    So how it works is, if Eos isn't out, Summon Seraph obviously can't go into effect, so that line is skipped and it summons Eos. If Eos is out, it summons Seraph, and as she's summoning/once she's out, you can't summon Eos (while Seraph is up), so the the Eos line has no effect. Best part is, the game context swaps "Summon Seraph" into Consolation when she's out (where you can't resummon Seraph anyway while she's already active and the ability's on CD), so this then uses Consolation. And because you don't tend to weave Eos (since Summon Eos is a GCD anyway) and you have time to late-weave Seraph, this doesn't really conflict with anything unless you're trying a REALLY tight weave on Consolation, but you can still spam the button for that. Since you have to use Consolation deliberately, there shouldn't be any time that a 0.5 or so sec difference is going to be the life or death if it gets slightly delayed owing to being a macro.

    So it seems not to cause problems or conflicts or clipping weirdness, and my experimentation so far seems to show it works rather well. I'm curious if there are any anyone else can see...


    2) DoT timers for everyone but SGE:


    /micon dia
    /ac dia
    <wait.26>
    /echo <se.8> DOT wears off in 4 secs

    This works for SCH and for AST as well, just change the spell name to Bio or Combust. The neat thing about this one is it will cover all the spell ranks since the game changes that automatically. So you can literally put in Dia or Aero in there (or "Aero II" if you're feeling spicy) and get the same result. It will apply the DoT then set a timer a and chime before it's up to be refreshed, giving you a nice sound que. 26 sec means there should be about 4, or a GCD and some change, before refresh when you hear the tone. You can, of course, change the se.# and the wait to something else if you prefer something else.

    The downside is that the wait command is shorted out if you perform any other macro, meaning this is only valid for one target and only if you don't use any other macro. So a Raise macro, a <t> targeting Asylum macro, etc will all cause the sound effect to not go off, defeating the point for that 30 sec cycle. And if you multi-DoT, it only will chime for the LAST target DoTed, so if you DoT the brother/sister duo or the twin lions in the 24 mans, you have to remember that the chime is going off basically as the first of the two needs to be refreshed again.

    Still, surprisingly handy. Though I can't figure out a way to make one for SGE. You can make a macro like this using Dosis and just press that button after Eukrasia...but then that defeats the purpose of having Eukrasia to save bar space. No idea how to work around that one...


    3) Cure 1 upgrades into Cure 2 at last:


    /micon "Cure"
    /merror off
    /ac "Cure II"
    /ac "Cure"

    This one's been bugging me for a while. How do I have Cure 1 on my bars when I'm doing something low level but...once I get Cure 2 at level 30, have it on my bar instead?

    Well, provided you don't mind your DoT macro being interrupted, this seems to do the trick rather well. If you're above level 30, it will cast Cure 2. Once Cure 2 is casting, it obviously "Cannot use while casting" Cure 1. On the other hand, if you're too low level such that "That ability has not been learned yet" for Cure 2, it will move on to the next line and cast Cure 1.

    "But Ren!", you exclaim, "What if I just got raised and don't have enough MP for Cure 2 and am above level 30?!" Still works. "Not enough MP" for Cure 2 and moves on to the next line to cast Cure 1 anyway so you at least get something for your trouble.

    The only thing is you can't manually choose Cure 1 if you want a spell to go off 0.5 sec (minus spell speed) faster. But owing to how uncommonly Cure 2 is even cast in the first place, much less Cure 1, and considering we have Benison and Tetra for those cases we need a faster heal/health buffer on the target, as well as Solace, this SHOULDN'T be an issue, as the situation is extremely rare to begin with. With how uncommon Cure 2 is even cast, this shouldn't cause too much pain with the DoT macro, either. And considering it's a GCD, you're not really concerned about the quing issue since you can just slam the button rapid fire if you need to chain Cure 2s for whatever reason. And, having tested it, it doesn't ever seem to "catch" in the middle, so it has always cast Cure 2 when I just press the button rapid fire to see if it would somehow cast Cure 1 instead.

    Oh, and if you get a Freecure proc in your oh-so-uncommon Cure 1 spams at low MP...it will use the Cure 2 line and work just fine.

    I'm sure there's got to be some downside to this, but as far as I can tell, it works pretty well. Would also work for Benefic (Benefic 1 has even LESS reason to exist than Cure 1 since AST is drowning in MP and Benefic 2 even has the same cast time and only 300 more MP cost instead of 600 more, over double, what Cure 2 is vs Cure 1...for some reason). And technically would work for Physic and Adlo, though that's a bit of a different issue since Physic is both faster and cheaper and stronger than the cure component of Adlo is. No idea how to get it to work for Diagnosis...but then, it doesn't need to be used for that since that's what Eukrasia does anyway.


    Anyway, kind of curious what others think.

    I also tried one for AST specifically, /ac Play then /ac Draw, which in theory works...but in practice is painful owing to those being oGCDs and trying to high APM weave with a macro just does not seem to work. Like at all. So nice thought, but back to the drawing board on that one, lol

    The only major issue is the error message sound effect can get kind of annoying on the Summon and Cure ones...but it's a small price to pay, doesn't bother the DoT one, and considering how un-often I summon Eos/Seraph/Consolation, it's not like it's constantly bleeting at me and being too annoying.

    Anyway, thanks for any suggestions or notes or cautionary tales.
    (5)
    Last edited by Renathras; 10-10-2023 at 01:37 PM. Reason: EDIT for length

  2. #2
    Player
    Rongway's Avatar
    Join Date
    Aug 2013
    Posts
    4,138
    Character
    Cyrillo Rongway
    World
    Hyperion
    Main Class
    Black Mage Lv 100
    General tip: /micon should be the last line so it doesn't eat an execution frame.


    In re: putting Seraph and Eos on the same button, this is something the game really should just do on its own so players don't need to macro it. [Summon Eos > Summon Seraph > Consolation]
    (5)
    Last edited by Rongway; 10-10-2023 at 02:33 PM.
    Error 3102 Club, Order of the 52nd Hour

  3. #3
    Player
    Sebazy's Avatar
    Join Date
    Aug 2013
    Location
    Gridania
    Posts
    3,468
    Character
    Sebazy Spiritwalker
    World
    Ragnarok
    Main Class
    White Mage Lv 90
    I’m fairly sure there’s a way to turn off macro errors which solves that issue. Can’t think of it off the top of my head at work though. I’ll check when I get back home++

    Scratch that, I think it might be

    /macroerror off

    From memory it’s a one time toggle?
    (1)
    Last edited by Sebazy; 10-10-2023 at 07:47 PM.
    ~ WHM / badSCH / Snob ~ http://eu.finalfantasyxiv.com/lodestone/character/871132/ ~

  4. #4
    Player
    TheDustyOne's Avatar
    Join Date
    Nov 2021
    Posts
    617
    Character
    Dusty Two
    World
    Behemoth
    Main Class
    Red Mage Lv 100
    you can also use /merror off, pretty much all my <mo> macros start with /merror off.
    (0)

  5. #5
    Player
    AmiableApkallu's Avatar
    Join Date
    Nov 2021
    Posts
    930
    Character
    Tatanpa Nononpa
    World
    Zalera
    Main Class
    White Mage Lv 100
    Conceptually nice macros, but do they not faceplant into queueing issues? For example, I often hit Summon Seraph when I'm in the middle of a cast.
    (1)

  6. #6
    Player
    vetch's Avatar
    Join Date
    Aug 2022
    Location
    back on my free trial account
    Posts
    462
    Character
    Discount Hrothgar
    World
    Zalera
    Main Class
    Botanist Lv 90
    Quote Originally Posted by AmiableApkallu View Post
    Conceptually nice macros, but do they not faceplant into queueing issues? For example, I often hit Summon Seraph when I'm in the middle of a cast.
    It's complicated, and depends on how you build them and your frame rendering speed.

    It's well-known that macros can't use the normal skill queue, but because macros send one line per frame, they can use a sort of 'pseudo-queue' by virtue of the fact that even if the first few lines are eaten by animation lock, a max-length single-skill macro that just repeats the action over and over (or one that's functionally single-skill, like that Summon Seraph macro), can still be processing by the time the lock ends and thus, the tenth or the fifteenth line might still execute and send the skill in the first open frame.

    But, higher FPS removes that advantage. At 30FPS, a 15-line macro lasts ~0.4 seconds, which is only 0.1s shorter than the normal skillqueue. But at 60FPS, the macro lasts only ~0.2 seconds, with the window shrinking further the higher your FPS goes.

    Quote Originally Posted by Rongway View Post
    General tip: /micon should be the last line so it doesn't eat an execution frame.
    This is true if you're using a macro that you hit when you're not in an animation-lock, like if you've got 3 or 4 conditional skills macro'd to one button. But if you're using a single-skill macro, it can be beneficial to put your /micon at the top in a frame that's extremely likely to be eaten by animation lock anyway.
    (3)
    he/him

  7. #7
    Player
    Renathras's Avatar
    Join Date
    Dec 2014
    Posts
    2,747
    Character
    Ren Thras
    World
    Famfrit
    Main Class
    White Mage Lv 100
    As far as I can tell, /merror off doesn't remove the error from the screen or the "bwonk" sound effect. It just removes it from the log. Which is useful to prevent your chat log being full of error messages, but doesn't entirely fix the problem.

    For the quing, that's why I mainly use GCDs (Cures, DoTs) since the que isn't as much of an issue there. You can also just spam the button.

    The Seraph/Consolation/Eos one is a bit trickier, but that's why I say testing it out. I've tried it and had no issue, though I do sometimes have to make a slight allowance for the delay/more precise timing than what I'm normally using to que up next abilities since you do have to wait for the animation lock of prior abilities to complete before it goes through.

    I've seen people deal with this by repeating lines, for example:

    /ac "cure ii"
    /ac "cure ii"
    /ac "cure ii"
    /ac "cure ii"
    /ac "cure ii"
    /ac "cure ii"
    /ac "cure ii"
    /ac "cure"

    ....which creates a pseudo que since the macro tries over and over again and you're more likely to catch one of those. But I prefer just using more precise timing myself. Especially in the case of that macro where I'm only ever going to use Cure 2 in very deliberate situations anyway.
    (0)

  8. #8
    Player
    TheDustyOne's Avatar
    Join Date
    Nov 2021
    Posts
    617
    Character
    Dusty Two
    World
    Behemoth
    Main Class
    Red Mage Lv 100
    This reminds me of the suggestion I had a year ago for an alternative to combat macros with a Gambit system (that didn't get a lot of traction). Part of the inspiration for that was the 3rd party tools that gave queueable macros and priority skills, and I wanted to see that in-game rather than having to break ToS just to have a decent macro system.

    https://forum.square-enix.com/ffxiv/...-combat-macros

    But with that kind of system, it'd be pretty easy to have a priority system to potentially cut down button count where it matters, including Cure II becoming Cure when synced with a simple 1: Cure II > Target, 2: Cure > Target gambit. Makes me wanna go back to the pitch and add on extra ideas, like being able to have the icon change to the first viable skill in the gambit. Or have it display a cooldown ring for a skill regardless of the currently displayed skill, like being able to see the Draw cooldown on the Play icon with a 1: Play > MO, 2: Draw > Self gambit.

    *Ahem*

    With my self-shilling out of the way, it'd be nice if Square improved the macro system to make most of these suggestions viable. Most of my current healer macros consist of <mo> for single target oGCD heals (not GCD), as well as gtoff for ground skills like Sacred Soil and Asylum.

    gtoff
    These macros bypass the ground target and places directly where the cursor is. I find this more intuitive than the double press or clicking.

    Earthly Star

    /merror off
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /ac "Earthly Star" gtoff
    /micon "Earthly Star"

    Asylum

    /merror off
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /ac "Asylum" gtoff
    /micon "Asylum"

    Liturgy

    /merror off
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /ac "Liturgy of the Bell" gtoff
    /micon "Liturgy of the Bell"

    Sacred Soil

    /merror off
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /ac "Sacred Soil" gtoff
    /micon "Sacred Soil"


    Another one I use often is a swiftcast timer macro for party chat.

    /micon "Swiftcast"
    /p Swiftcast ready in <recast.Swiftcast>. (insert whatever quip you want here).

    I find this more useful than a typical rez macro as it can let my co-healer and potentially a SMN or RDM know that I can't currently rez, as well as let the person who is dead know roughly when they're going to be raised.
    (0)
    Last edited by TheDustyOne; 10-11-2023 at 09:11 AM.