Rostam Swap

Language: JP EN DE FR
New Items
2023-11-19
users online
Forum » Windower » Support » Rostam Swap
Rostam Swap
Offline
Posts: 281
By Galkapryme 2019-09-08 00:10:55
Link | Quote | Reply
 
Anyone know how to correctly make a lua that swaps Rostams? This is what I tried, and it failed:

Code 1
Code
sets.precast.CorsairRoll = {
	main={ name="Rostam", augments={'"Phantom Roll" effect duration +60','"Phantom Roll 11": Recover HP & MP +15%','"Phantom Roll"+8'}},
    sub={ name="Rostam", augments={'Chance of double damage +50%','"Store TP"+25','DMG:+5'}},


Code 2:
Code
-- Normal melee group
    sets.engaged.Melee = {
	main={ name="Rostam", augments={'Chance of double damage +50%','"Store TP"+25','DMG:+5'}},
    sub={ name="Rostam", augments={'"Phantom Roll" effect duration +60','"Phantom Roll 11": Recover HP & MP +15%','"Phantom Roll"+8'}},
 Asura.Xanders
Offline
Server: Asura
Game: FFXI
user: L0ki79
Posts: 26
By Asura.Xanders 2019-09-08 06:38:08
Link | Quote | Reply
 
You need to add where the Rostam is stored (example bag="Wardrobe 3) and make sure to keep them in separate bags, and not move them.

Also, you wont be able to swap between the two examples you have since both have both Rostams in use (Can't swap and equipped weapon from main to sub or vice versa). To do this efficiently you will need to use modes and not have your weapons listed directly in your sets.

https://github.com/Selindrile/GearSwap handles this well and has a discord devoted to supporting his work.

Then you would use something like this:

sets.weapons.Savage = {main="Naegling",sub={name="Rostam", bag="Wardrobe 4"}, range="Anarchy +2"}
sets.weapons.Aeolian = {main={name="Rostam", bag="Wardrobe 4"},sub="Tauret", range="Anarchy +2"}
sets.weapons.Dummy = {main="Fettering Blade",sub="Kustawi +1", range="fomalhaut"}
sets.weapons.Last = {main={name="Rostam", bag="Wardrobe 4"},sub={name="Rostam", bag="Wardrobe 3"},range="fomalhaut"}
sets.weapons.Leaden = {main={name="Rostam", bag="Wardrobe 4"},sub="Tauret",range="Death Penalty"}
sets.weapons.Rolls = {main={name="Rostam", bag="Wardrobe 3"}, sub="Tauret", range="Death Penalty"}

In this example you would swap to the dummy mode prior to clear the current equipped weapons.

state.Weapons:options('Rolls','Leaden','Dummy','Savage','Dummy','Aeolian','Dummy','Last','Dummy')

Otherwise you would need to make a third Rostam and use for rolls only. Suspect you would still have issues swapping your other two correctly as they would be in use.
Offline
Posts: 281
By Galkapryme 2019-09-08 17:16:20
Link | Quote | Reply
 
Found that the only way I could do this efficiently was to use equipsets and include a set that removed both pieces for a 1 count.

i.e.,
/equipset 1 (Corsair Roll set with path C Rostam in main)
/ja "Samurai Roll" <me> <wait 1>
/equipset 2 (empty slots) <wait 1>
/equipset 3 (engaged set with path A Rostam in main)

By the time the process is done and I'm on to doubling up, the blink is barely noticeable.
necroskull Necro Bump Detected! [855 days between previous and next post]
 Odin.Defiiant
Offline
Server: Odin
Game: FFXI
user: legionn
Posts: 22
By Odin.Defiiant 2022-01-10 21:55:09
Link | Quote | Reply
 
You can place your commands in the job_precast and job_aftercast functions as well. Helps a lot for things like Autocor
Code
function job_precast(spell, action, spellMap, eventArgs)
        if (spell.type == 'CorsairRoll') and not spell.interrupted then
		send_command('input //gs disable main; input /equipset 19')
    end
end

function job_aftercast(spell, action, spellMap, eventArgs)
    if (spell.type == 'CorsairRoll') and not spell.interrupted then
        display_roll_info(spell)
		send_command('pause 2; input /equipset 18; input //gs enable main')
	end
    if (spell.english == "Double-Up") and not spell.interrupted then
        display_roll_info(spell)
	end
end	
    
 Asura.Chiaia
VIP
Offline
Server: Asura
Game: FFXI
user: Demmis
Posts: 1652
By Asura.Chiaia 2022-01-10 22:00:35
Link | Quote | Reply
 
Odin.Defiiant said: »
You can place your commands in the job_precast and job_aftercast functions as well. Helps a lot for things like Autocor
Code
function job_precast(spell, action, spellMap, eventArgs)
        if (spell.type == 'CorsairRoll') and not spell.interrupted then
		send_command('input //gs disable main; input /equipset 19')
    end
end

function job_aftercast(spell, action, spellMap, eventArgs)
    if (spell.type == 'CorsairRoll') and not spell.interrupted then
        display_roll_info(spell)
		send_command('pause 2; input /equipset 18; input //gs enable main')
	end
    if (spell.english == "Double-Up") and not spell.interrupted then
        display_roll_info(spell)
	end
end	
    
Just a FYI I added support a long time ago to support Rostams in gearswap.
main={ name="Rostam", augments={'Path: C',}},
[+]
 Odin.Defiiant
Offline
Server: Odin
Game: FFXI
user: legionn
Posts: 22
By Odin.Defiiant 2022-01-10 22:04:41
Link | Quote | Reply
 
the thing i was noticing was that oftentimes my rolls were not getting the benefit of the rostam c without the pause 2. it may be because im using an outdated and modified lua.
Log in to post.