If you're using windower macros, and order of execution is guaranteed, you can do it by using /equip prior to /ra and /equipset after /ra, with no wait. The client will not send 2 equip packets for the same slot in the same outgoing packet interval, but it will gladly send an equip for every slot and an equipset afterwards. So, make an ingame equipset for midshot, and set up the macro by doing /equip for preshot, then /ra, then /equipset with no waits. I think you'd want it all in the same script to ensure windower doesn't mix up order of scripts.
I wouldn't call windower macros vanilla, but that's just a nitpick.
^^ This is right on. Mix one windower macro and one equipset and it works without a delay/wait.
As Melphina suggested, a 1 second wait between /ra and equipping midshot set will very often fail and you'll end up shooting in preshot gear (due to rapid shot procs, and RNG's low delay from Velocity Shot + snapshot + Empy body). Additionally, you'll get in a vicious loop of the wrong gear equipping if you mash a macro too early if you have a /wait.
If you're using Windower and no GS, just choose /equipsets for preshot and Windower macro for midshots. Or vice versa, either way works - but I prefer /equipsets for preshot sets because I have less of those than I do midshot sets.
Personally, my setup for RNG is:
(1) Three different preshot /equipsets (in-game /equipset): one for Flurry 2, one for Flurry 1, one for no Flurry.
(2) Windower macros with full swaps for several different midshot sets: STP, Double Shot, Empy AM3 up (crit focused), max Racc.
(3) I do all my shooting from the Macro bar and I simply do three "pages" of macros that are identical except for different preshot set, and a macro for each midshot option.
So, my Macro page 1 Ctrl# row (or Alt#, whatever works for you) is for when I have Flurry 2, and has macros set up like this:
[STP] [Double] [Crit] [Racc] [macro5] [macro6]...
The STP macro looks like this:
/equipset 40
(where 40 is my "Flurry 2" preshot set)
/ra <t>
/console exec rng/stp.txt
(full Windower macro for my midshot STP set)
My Macro page 2 Ctrl# row has the exact same structure and syntax, except changing the macros to use my Flurry 1 preshot set (/equipset 41) . And Macro page 3 is again the same thing except using 'no Flurry' preshot sets (/equipset 42).
This setup is reliable even in laggy zones. Easier to see on other jobs, but for instance I do the same thing on BRD for precast/midcast sets. And that's a job where it is very easy to tell by sight whether your precast set was on for a song, and you could instantly tell if midcast set wasn't on due to big difference in song duration. It just works - even when you get casting time reduction from like Nightingale insta-cast proc.
Moving up/down between the three pages for Flurry level is essentially the same thing as using a toggle in a LUA. It just doesn't auto-detect Flurry level like some LUAs, but like.. big deal? It's not hard to just look to see that you have Flurry, and simply manually adjust if, say, Flurry drops for a few and you need to pop over to the Flurry 0 macro page to fire off some shots before it's re-applied. I don't mind actually playing the game instead of automating
everything.
As you may be able to guess, I'm also not into auto-RA addons, react, or similar. Yeah, Windower is still third party tools so we're all "cheaters" here to some level unless playing 100% vanilla FFXI blah blah blah. That's just my personal take on what I feel is "too far".
I am aware of this. The thing about this is that vanilla macros only have 6 lines, so you use at least 3 just prepping with preshot/ra/midshot. That only leaves 3 slots for gear swaps using /equip, which is not enough SS swaps. Scripts is another story because you're unlimited, but I was responding to Simon's comment where he said it wasn't possible with Vanilla (which would be 6 lines in a macro).
And yes, this is obviously correct too. So for 100% vanilla, my approach doesn't work. I rely on Windower for that QOL ability to put gear for every slot in one single line in an in-game macro, paired with the vanilla FFXI functionality to put a separate /equipset set in another single macro line.
My response was more to Melphina - who never asked for "Vanilla" and gave examples showing Windower macros - asking how to set it up without GS (but with the ability to use a Windower gear set in a macro).