Gearswap Support Thread

Eorzea Time
 
 
 
言語: JP EN FR DE
日本語版のFFXIVPRO利用したい場合は、上記の"JP"を設定して、又はjp.ffxivpro.comを直接に利用してもいいです
users online
フォーラム » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 104 105 106 ... 182 183 184
 Asura.Brennski
Offline
サーバ: Asura
Game: FFXI
user: Ogri
Posts: 127
By Asura.Brennski 2016-06-28 07:38:29  
Tried that with Poison and a Poison Potion but it is not equipping my set:

Any ideas what I am doing wrong or missing?
 Asura.Krystela
Offline
サーバ: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-28 15:30:11  
Your rule is wrote like this:
Code
function buff_change(buff,gain,bufftable)
    if buff:lower()=="poison" and gain then 
        equip(sets.Utility.Doomed)
    end
end


Wrong set, perhaps?

If that's the intended set, like flippant said, the table might not be updated. SO maybe buffactive in status_change function is the way to go. If cursna is casted on you, it will still change equipment. So the action to trigger it doesn't need to be done by you.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-06-28 15:34:58  
buffactive is what might be delayed; buff_change will always be the immediate response since it is called once the buff is recognized. Are you sure it's not working? You have 'wait' instead of 'waist.'

Also, you'll still want the status_change part as Krystela mentioned, or it'll just change your gear if and when you take an action, including using any items, such as holy water.

Cursna being cast on you will not register a change in your status, only a change in your status will (going between resting, engaging, idling, being dead, fishing, sitting, crafting, etc). If it does, then that is something that needs to be fixed.
 Asura.Krystela
Offline
サーバ: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-28 15:39:50  
Ragnarok.Flippant said: »

Cursna being cast on you will not register a change in your status, only a change in your status will (going between resting, engaging, idling, being dead, fishing, sitting, crafting, etc).
It does, by experience with warp ring and songs/anything going on me or wearing off.... Freaking changes my idle set every.damn.time xD lol

Scratch that only happens on my thief and I do use buff_changes for SA/TA, So that's probably it doing it.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-06-28 15:43:32  
My, and by consequence Bokura's, luas call status gear when a buff is lost/gained within the buff_change function, so it's likely residual code from that.

Using items will trigger aftercast when it's completed, which most people also tend to use to trigger status gear.
 Asura.Krystela
Offline
サーバ: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-28 15:46:51  
Ragnarok.Flippant said: »
My, and by consequence Bokura's, luas call status gear when a buff is lost/gained within the buff_change function, so it's likely residual code from that.

Using items will trigger aftercast when it's completed, which most people also tend to use to trigger status gear.
Yeah, my bad.
 Asura.Thorva
Offline
サーバ: Asura
Game: FFXI
user: Thorva
By Asura.Thorva 2016-06-28 18:50:10  
I could really use some help with my rdm lua, I have been trying to get int and mnd enfeebles separated (stole the sets from my sch lua) going and can't seem to get it working right. (gave up and just added an enfeeble set)

I just got rdm up to 99 and finally got all reforge gear to 119 yesterday and started doing cp on it and testing everything out, some sets work, others don't, feel like giving the screen the bird and table flipping. (Not laughing at my gear, I am still missing a few things I already know)
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-06-28 19:20:37  
You have two job_get_spell_map functions, need to consolidate them.
 Asura.Thorva
Offline
サーバ: Asura
Game: FFXI
user: Thorva
By Asura.Thorva 2016-06-28 19:30:37  
Ragnarok.Flippant said: »
You have two job_get_spell_map functions, need to consolidate them.


Crap, missed that ty, will change and test later.
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 11:14:25  
I'm trying to get my RDM to have a different TP set whilst at capped Haste. This is what I've been trying.
Code
classes.CustomMeleeGroups:clear()
    
if buffactive.embrava then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.march == 2 then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive[604] then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.march and buffactive[580] then
        classes.CustomMeleeGroups:append('MaxHaste')
    end
end


However, when I engage I'm always in my normal sets, not my .MaxHaste sets, regardless of buffs.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-06-29 11:29:09  
There is not enough information for me to help you. Please post your entire file.
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 11:34:58  
Here it is.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-06-29 12:04:00  
The function determine_haste_group() is used to construct your custom melee group accordingly, but you don't actually "call" (use) that function anywhere, so it will never process the instructions.

In Mote's NIN file, he calls it from three functions: job_setup(), job_buff_change(), and job_update().
[+]
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 18:06:58  
Ragnarok.Flippant said: »
The function determine_haste_group() is used to construct your custom melee group accordingly, but you don't actually "call" (use) that function anywhere, so it will never process the instructions.

In Mote's NIN file, he calls it from three functions: job_setup(), job_buff_change(), and job_update().
I am not very well versed in how to do such things. Would you be able to explain what I need to do in order for it to use my "sets.engaged.MaxHaste" set for instance? ;x
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-06-29 18:15:21  
Try this.
Code
-------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
  
-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2
    
    -- Load and initialize the include file.
    include('Mote-Include.lua')
end
  
-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()
    state.Buff.Saboteur = buffactive.saboteur or false
    
    --event_list = L{}
    --event_list:append()
    windower.register_event('time change', time_change)
    
    include('Mote-TreasureHunter.lua')
    state.TreasureMode:set('Tag')
  
    -- For th_action_check():
    -- JA IDs for actions that always have TH: Provoke, Animated Flourish
    info.default_ja_ids = S{35, 204}
    -- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
    info.default_u_ja_ids = S{201, 202, 203, 205, 207}
	
	determine_haste_group()
end
 
-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('None', 'Normal', 'Acc')
    state.HybridMode:options('Normal', 'DT')
    state.WeaponskillMode:options('Normal', 'Acc')
    state.CastingMode:options('Normal', 'Acc', 'MB', 'MBAcc')
    state.PhysicalDefenseMode:options('PDT', 'RefreshPDT')
    
    MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'}
    INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
    EarthSpells = S{'Stone', 'Stone II', 'Stone III', 'Stone IV', 'Stone V', 'Stonega', 'Stonega II', 'Stonega III', 'Stoneja', 'Stonera', 'Stonera II', 'Geohelix'}
    IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
    Shields = S{"Genbu's Shield"}
    
    update_combat_form()
    select_default_macro_book()
end
 
-- Called when this job file is unloaded (eg: job change)
function file_unload()
    --event_list:map(unregister_event)
end
 
-- Define sets and vars used by this job file.
function init_gear_sets()
    
    --------------------------------------
    -- Augmented Gear
    --------------------------------------
    
    gear.HagCuffs = {}
    gear.HagCuffs.MAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26'}}
    gear.RDMCape = {}
    gear.RDMCape.MAcc = {name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}}
    gear.RDMCape.TP = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
    
    --------------------------------------
    -- Idle
    --------------------------------------
    
    sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
        head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
        body="Councilor's Garb",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
        back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
    
    sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
        head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
        body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
        back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
  
    sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
        head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
        body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
        back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
    
    --------------------------------------
    -- Defense
    --------------------------------------
    
    sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
        head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
        body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="Shneddick Ring",
        back="Shadow Mantle",waist="Fucho-no-Obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
        
    sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
        head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
        body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="Shneddick Ring",
        back="Shadow Mantle",waist="Fucho-no-Obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
  
    sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
        head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
        body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
  
    --------------------------------------
    -- Resting
    --------------------------------------
    
    sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
        head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
        body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
        back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
  
    --------------------------------------
    -- Engaged
    --------------------------------------
    
    sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
        head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Wanion Belt",legs="Carmine Cuisses +1",feet="Battlecast Gaiters"}
        
    sets.engaged.Acc = set_combine(sets.engaged, {ammo="Jukukik Feather",neck="Iqabi Necklace",back=gear.RDMCape.TP})
        
    sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
        
    sets.engaged.DW = set_combine(sets.engaged, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
    
    sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
    
    sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
    
    -- Defensive melee group
    
    sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
        hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    
    sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
        hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    
    sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
        hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    
    sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
        hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    
    sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
        hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    
    sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
        hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
 
    -- Sets for MaxHaste with less DW.
 
    sets.engaged.MaxHaste = set_combine(sets.engaged, {})
    sets.engaged.Acc.MaxHaste = set_combine(sets.engaged.Acc, {})
    sets.engaged.Acc.Daytime.MaxHaste = set_combine(sets.engaged.Acc.Daytime, {})
    sets.engaged.DW.MaxHaste = set_combine(sets.engaged.DW, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
    sets.engaged.DW.Acc.MaxHaste = set_combine(sets.engaged.DW.Acc, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
    sets.engaged.DW.Acc.Daytime.MaxHaste = set_combine(sets.engaged.DW.Acc.Daytime, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
 
    sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
    sets.FrontlineWeapons.DW = {main="Excalibur", sub="Demersal Degen"}
    
    --------------------------------------
    -- Job Abilities
    --------------------------------------
    
    -- Precast sets to enhance JAs
    sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
  
    if player.sub_job == 'DNC' then
        -- Waltz set (chr and vit)
        sets.precast.Waltz = {ammo="Homiliary",
            head="Lethargy Chappel +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
            body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
            back="Kumbira Cape",waist="Fucho-no-Obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
            
        sets.precast.Waltz['Healing Waltz'] = {}
    end
    
    --------------------------------------
    -- Weaponskills
    --------------------------------------
    
    sets.precast.WS = {ammo="Cheruski Needle",
        head="Lithelimb Cap",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Fotia Belt",legs="Carmine Cuisses +1",feet="Battlecast Gaiters"}
        
    sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Jukukik Feather",
        head="Sukeroku Hachi.",neck="Fotia Gorget",
        body="Atrophy Tabard +1",hands="Viti. Gloves +1",
        back=gear.RDMCape.TP,legs="Carmine Cuisses +1"})
        
    sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
  
    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Savage Blade'] = {ammo="Cheruski Needle",
        head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
        
    sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {ammo="Jukukik Feather",
        head="Sukeroku Hachi.",neck="Fotia Gorget",
        back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
        
    sets.precast.WS['Savage Blade'].DaytimeAcc = set_combine(sets.precast.WS['Savage Blade'].Acc, {ammo="Tengu-no-Hane"})
 
    sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
        head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
        
    sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS['Requiescat'], {ammo="Jukukik Feather",
        head="Sukeroku Hachi.",
        back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
        
    sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
        
    sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
        head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
        
    sets.precast.WS['Knights of Round'].Acc = set_combine(sets.precast.WS['Knights of Round'], {ammo="Jukukik Feather",
        head="Sukeroku Hachi.",neck="Fotia Gorget",
        back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
        
    sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
        
    sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
        head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
        
    sets.precast.WS['Death Blossom'].Acc = set_combine(sets.precast.WS['Death Blossom'], {ammo="Jukukik Feather",
        head="Sukeroku Hachi.",neck="Fotia Gorget",
        back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
        
    sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
  
    sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
        head="Taeon Chapeau",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
        body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
        back=gear.RDMCape.TP,waist="Fotia Belt",legs="Carmine Cuisses +1",feet="Vanir Boots"}
        
    sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'], {ammo="Jukukik Feather",
        head="Sukeroku Hachi.",neck="Fotia Gorget",
        back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
        
    sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
    
    sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
        head="Lethargy Chappel +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
        body="Artsieq Jubbah",hands="Amalric Gages",ring1="Acumen Ring",ring2="Diamond Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
    
    --------------------------------------
    -- Fast Cast
    --------------------------------------
    
    -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast. No other FC sets necessary.
    sets.precast.FC = {ammo="Impatiens",
        head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
        body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shneddick Ring",
        back="Ogapepo Cape +1",waist="Witful Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
  
    sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
  
    --------------------------------------
    -- Midcast
    --------------------------------------
    
    sets.midcast.FastRecast = {
        head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
        body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shneddick Ring",
        back="Shadow Mantle",waist="Pya'ekue Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
  
    sets.midcast.Flash = set_combine(sets.midcast.FastRecast, {ammo="Paeapua",
        neck="Twilight Torque",ear1="Friomisi Earring",
        ring1="Defending Ring",
        back="Shadow Mantle"})
  
    --------------------------------------
    -- Dark magic
    --------------------------------------
    
    sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Lethargy Chappel +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Atrophy Tabard +1",hands=gear.HagCuffs.MAcc,ring1="Sangoma Ring",ring2="Archon Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
  
    sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
        head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
        body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Archon Ring",
        back=gear.RDMCape.MAcc,waist="Witful Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
  
    sets.midcast.Drain = set_combine(sets.midcast.INTAccuracy, {belt="Fucho-no-Obi"})
    sets.midcast.Aspir = sets.midcast.Drain
        
    --------------------------------------
    -- Elemental magic
    --------------------------------------
        
    sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
        head="Lethargy Chappel +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
        body="Seidr Cotehardie",hands="Amalric Gages",ring1="Acumen Ring",ring2="Diamond Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
        
    sets.midcast['Elemental Magic'].Acc = set_combine(sets.midcast['Elemental Magic'], {ammo="Kalboron Stone",
        head="Lethargy Chappel +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Seidr Cotehardie",ring1="Sangoma Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",feet="Vitivation Boots +1"})
         
    sets.midcast['Elemental Magic'].MB = set_combine(sets.midcast['Elemental Magic'], {
        ring2="Mujin Band",back="Seshaw Cape"})
         
    sets.midcast['Elemental Magic'].MBAcc = set_combine(sets.midcast['Elemental Magic'].Acc, {
        ring2="Mujin Band",back="Seshaw Cape"})
        
    sets.midcast.Stone = set_combine(sets.midcast['Elemental Magic'], {neck="Quanpur Necklace"})
    sets.midcast.Stone.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {neck="Quanpur Necklace"})
    sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
    sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
        
    sets.midcast.ElementalEnfeeble = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Lethargy Sayon +1",hands="Amalric Gages",ring1="Sangoma Ring",ring2="Perception Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
        
    sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
    
    --------------------------------------
    -- Enfeebling magic
    --------------------------------------
    
    sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Atrophy Tabard +1",hands="Lethargy Gantherots +1",ring1="Sangoma Ring",ring2="Perception Ring",
        back="Refraction Cape",waist="Porous Rope",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
 
    sets.midcast['Break'] = sets.midcast['Enfeebling Magic']
 
    sets.midcast['Dia III'] = set_combine(sets.midcast.FastRecast, {head="Viti. Chapeau +1", waist="Chaac Belt"})
 
    sets.midcast['Diaga'] = set_combine(sets.midcast.FastRecast, {waist="Chaac Belt"})
 
    sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Sangoma Ring",ring2="Perception Ring",
        back=gear.RDMCape.MAcc,waist="Porous Rope",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
    
    sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
        head="Befouled Crown",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Aqua Ring",ring2="Sirona's Ring",
        back="Refraction Cape",waist="Porous Rope",legs="Psycloth Lappas",feet="Uk'uxkaj Boots"}
        
    sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Lethargy Sayon +1",feet="Uk'uxkaj Boots"})
    
    sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Befouled Crown",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
        body="Lethargy Sayon +1",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
        back=gear.RDMCape.MAcc,waist="Witful Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
        
    sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
        head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Spiral Ring",ring2="Diamond Ring",
        back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Uk'uxkaj Boots"}
        
    sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Lethargy Sayon +1",feet="Uk'uxkaj Boots"})
    
    --------------------------------------
    -- Enhancing magic
    --------------------------------------
    
    sets.midcast.EnhancingDuration = {ammo="Homiliary",
        head="Lethargy Chappel",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
        body="Lethargy Sayon +1",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
        back=gear.RDMCape.MAcc,waist="Pya'ekue Belt",legs="Lethargy Fuseau",feet="Lethargy Houseaux +1"}
    
    sets.midcast.EnhancingSkill = {ammo="Homiliary",
        head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
        body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
        back=gear.RDMCape.MAcc,waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
    
    -- Default set is duration, since most enhancing spells don't actually use skill.
    sets.midcast['Enhancing Magic'] = sets.midcast.EnhancingDuration
    
    sets.midcast.Aquaveil = set_combine(sets.midcast.EnhancingDuration, {waist="Emphatikos Rope",legs="Shedir Seraweels"})
        
    sets.midcast.BarElement = sets.midcast.EnhancingSkill
    sets.midcast.Enspell = sets.midcast.EnhancingSkill
    sets.midcast.Gain = sets.midcast.EnhancingSkill
    sets.midcast.Phalanx = sets.midcast.EnhancingSkill
        
    sets.midcast.Refresh = set_combine(sets.midcast.EnhancingDuration, {legs="Lethargy Fuseau"})
    
    sets.midcast.Regen = set_combine(sets.midcast.EnhancingDuration, {main="Bolelabunga",sub="Genbu's Shield",
        body="Telchine Chasuble"})
  
    sets.midcast.Stoneskin = set_combine(sets.midcast.EnhancingDuration, {
        neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"})
    
    sets.ComposureOther = {head="Lethargy Chappel",
        body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",
        back=gear.RDMCape.MAcc,legs="Lethargy Fuseau",feet="Lethargy Houseaux +1"}
    
    --------------------------------------
    -- Healing magic
    --------------------------------------
    
    sets.midcast.FrontlineCure = {ammo="Oreiad's Tathlum",
        head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
        body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
        back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
        
    sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
        head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
        body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
        back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
        
    sets.midcast.StatusRemoval = sets.midcast.FastRecast
  
    --------------------------------------
    -- Active Buffs
    --------------------------------------
  
    sets.buff.Saboteur = {hands="Lethargy Gantherots +1"}
 
end
 
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
  
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
    if spell.action_type == 'Magic' then
        -- Default base equipment layer of fast recast.
        equip(sets.midcast.FastRecast)
    end
end
  
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
        equip(sets.buff.Saboteur)
    elseif spell.element == world.weather_element or spell_element == world.day_element then
        if spell.skill == 'Healing Magic' then
            equip({main="Chatoyant Staff",back="Twilight Cape",waist="Hachirin-no-Obi"})
        else
            equip({back="Twilight Cape",waist="Hachirin-no-Obi"})
        end
    elseif spell.skill == 'Enhancing Magic' then
        if buffactive.composure and spell.target.type ~= 'PLAYER' then
            equip(sets.buff.ComposureOther)
        end
    end
end
 
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
    if not spell.interrupted then
        if state.Buff[spell.english] ~= nil then
            state.Buff[spell.english] = true
        end
    end
end
  
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
 
function determine_haste_group()
  --RDM can cap delay reduction with nothing more than Haste II provided it has /NIN & +31% Dual Wield.
  --With capped Magic Haste, meaning Haste II & 1 other form of Magic Haste, you need only +11%.
  --Optimally, engaged should have +31 DW, MaxHaste should have +11.
		 
	classes.CustomMeleeGroups:clear()
		 
	if buffactive.embrava then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.march == 2 then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive[604] then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.march and buffactive[580] then
        classes.CustomMeleeGroups:append('MaxHaste')
    end
end
 
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
    if spell.action_type == 'Magic' then
        if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
            if state.OffenseMode == 'None' then
                return "BacklineCure"
            else
                return "FrontlineCure"
            end
        elseif MNDPotencySpells:contains(spell.english) then
            return 'MNDPotency'
        elseif spell.english == 'Silence' then
            return 'MNDAccuracy'
        elseif spell.english == 'Blind' then
            return 'INTPotency'
        elseif INTAccuracySpells:contains(spell.english) then
            return 'INTAccuracy'
        elseif spell.english:startswith('En') then
            return 'Enspell'
        elseif spell.english:startswith('Gain') then
            return 'Gain'
        elseif EarthSpells:contains(spell.english) then
            return 'Stone'
        elseif IceSpells:contains(spell.english) then
            return 'Blizzard'
        end
    end
end
  
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
  
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
    if S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then
        determine_haste_group()
        handle_equipping_gear(player.status)
    elseif state.Buff[buff] ~= nil then
        handle_equipping_gear(player.status)
	end
end
  
function get_custom_wsmode(spell, action, spellMap, default_wsmode)
    if default_wsmode == 'Acc' and classes.Daytime then
        return 'DaytimeAcc'
    end
end
  
function job_time_change(new_time, old_time)
    classes.CustomMeleeGroups:clear()
    if classes.Daytime then
        classes.CustomMeleeGroups:append('Daytime')
    end
    handle_equipping_gear(player.status)
end
  
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
  
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
    update_combat_form()
	determine_haste_group()
    th_update(cmdParams, eventArgs)
end
  
function job_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'None' then
            enable('main','sub','range')
        else
            if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
                equip(sets.FrontlineWeapons.DW)
            else
                equip(sets.FrontlineWeapons)
            end
            disable('main','sub','range')
        end
    end
end
  
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
    local msg = 'Melee'
    
    if state.CombatForm.has_value then
        msg = msg .. ' (' .. state.CombatForm.value .. ')'
    end
    
    msg = msg .. ': '
    
    msg = msg .. state.OffenseMode.value
    if state.HybridMode.value ~= 'Normal' then
        msg = msg .. '/' .. state.HybridMode.value
    end
    msg = msg .. ', WS: ' .. state.WeaponskillMode.value
    
    if state.DefenseMode.value ~= 'None' then
        msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
    end
    
    if state.Kiting.value == true then
        msg = msg .. ', Kiting'
    end
  
    if state.PCTargetMode.value ~= 'default' then
        msg = msg .. ', Target PC: '..state.PCTargetMode.value
    end
  
    if state.SelectNPCTargets.value == true then
        msg = msg .. ', Target NPCs'
    end
    
    msg = msg .. ', TH: ' .. state.TreasureMode.value
  
    add_to_chat(122, msg)
  
    eventArgs.handled = true
end
  
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
  
-- Select DW combat form as appropriate
function update_combat_form()
    if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
        if player.equipment.sub == 'empty' or Shields:contains(player.equipment.sub) then
            state.CombatForm:reset()
        else
            state.CombatForm:set('DW')
        end
    else
        state.CombatForm:reset()
    end
end
  
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    if player.sub_job == 'BLM' then
        set_macro_page(2, 5)
    elseif player.sub_job == 'NIN' then
        set_macro_page(4, 5)
    elseif player.sub_job == 'DNC' then
        set_macro_page(5, 5)
    elseif player.sub_job == 'DRK' then
        set_macro_page(7, 5)
    elseif player.sub_job == 'PLD' then
        set_macro_page(8, 5)
    else
        set_macro_page(1, 5)
    end
end
[+]
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 18:26:55  
Ragnarok.Flippant said: »
Try this.
Brilliant, it worked perfectly. Much appreciated.
[+]
 Asura.Thorva
Offline
サーバ: Asura
Game: FFXI
user: Thorva
By Asura.Thorva 2016-06-30 16:35:22  
nvm found my issue. ty anyway
Offline
Posts: 4
By muzugu 2016-07-04 18:20:45  
So, I am having an issue where all the midcast sets aren't equipping on my BST lua. I am using beaztmaster's simple script, which can be found here. It isn't working with both my gear, and with a fresh copy. I am using demomode to confirm the swaps.

I have so far tried:
-Unloading all other addons / plugins
-explicitly calling for the action in the midcast function with if / then
-re downloading mote-lib
-capping FPS at 30 (This post suggested it might be a fix)

My google fu hasn't turned up anything, and I am stumped.
 Odin.Lygre
Offline
サーバ: Odin
Game: FFXI
user: Dylaudid
Posts: 89
By Odin.Lygre 2016-07-04 21:14:16  
Which midcast sets? If you mean your pet midcast sets, looks like Beazt has the job_pet_midcast function present but blank, which prevents the default handler for pet_midcast from running. Instead it looks like he handles it in his aftercast function, where the block only runs if you executed a Ready move.
So, seems like it probably is equipping, but you may need to do //gs showswaps and //gs debugmode, and it would show the gear equip when your aftercast runs (debug mode alone would not show I think, because the include doesn't run the default handler, see: eventArgs.handled is set to true).
 Valefor.Omnys
Offline
サーバ: Valefor
Game: FFXI
user: omnys
Posts: 1759
By Valefor.Omnys 2016-07-05 08:18:00  
In spellcast, you could use "fake spells". IE, my PLD used "Fire IV" to switch to a fire resist set.

I know all about self_command, that's not my question, but when I started with Gearswap, I tried to use fake spells and found out that spells you can't use are stopped from ever passing. Is there a way to enable this?

I want to always use say, barfire in my sch macros, but if i'm /whm (even rdm/whm or run/whm), I want it to switch to barfira. These would work, but sch/whm doesn't even pass the attempt to GearSwap.

I mean, I know I could use macros like
/console gs c barfire
do something like
Code
function self_command(command)
  bar_translate == {barfire = "barfira", barpetrify = "barpetra"}
  if command:startswith("bar") then
    if player.main_job == "WHM" or player.sub_job == "WHM" then
      windower.send_command(bar_translate[command))
    elseif player.main_job == "RDM" or player.sub_job = "RDM" or player.main_job = "RUN" or player.sub_job = "RUN" then
      windower.send_command(command)
    end
  end
end


Or just stack macros in game like
Code
/ma barfira <me>
/ma barfire <me>


But that doesn't work from spell menu.
Offline
Posts: 4
By muzugu 2016-07-05 08:35:41  
Odin.Lygre said: »
Which midcast sets? If you mean your pet midcast sets, looks like Beazt has the job_pet_midcast function present but blank, which prevents the default handler for pet_midcast from running. Instead it looks like he handles it in his aftercast function, where the block only runs if you executed a Ready move.
So, seems like it probably is equipping, but you may need to do //gs showswaps and //gs debugmode, and it would show the gear equip when your aftercast runs (debug mode alone would not show I think, because the include doesn't run the default handler, see: eventArgs.handled is set to true).

It's my midcast for Ready, both TP moves and Spells aren't equipping.

It was my understanding that I should be using midcast for the gear I want equipped while the pet is using their action, and then aftercast would revert me back to my idle / TPing set.

I'm at work right now, but I'll take a look at what showswaps and debug mode give me.

EDIT: The updated file here seems to have fixed the issue.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-07-05 11:12:05  
Odin.Lygre said: »
If you mean your pet midcast sets, looks like Beazt has the job_pet_midcast function present but blank, which prevents the default handler for pet_midcast from running.
That should not and would not prevent Mote's functions from executing, no. You would need to set args variables to true.

muzugu said: »
It's my midcast for Ready, both TP moves and Spells aren't equipping.

It was my understanding that I should be using midcast for the gear I want equipped while the pet is using their action, and then aftercast would revert me back to my idle / TPing set.

I'm at work right now, but I'll take a look at what showswaps and debug mode give me.
Pet jobs are a bit more complex, because there is a player action and the pet's corresponding action. During your midcast, you actually want Ready - gear on. During your pet's midcast, you want your pet's offensive gear on. Thus there are pet-specific functions. However, the order of events is not guaranteed. For example, the player's aftercast might sometimes come before the pet's midcast.

Beaztmaster is not using the pet events. He is using player's precast to equip Ready - gear, and player's aftercast to equip pet's offensive (midcast) gear. Without personal experience, I cannot tell you if that is a practical solution.

If I were to write a pet file, I would handle the recast- gear in the player's precast/midcast, override player aftercast entirely (do nothing), and equip their offense gear in the pet's precast/midcast, then use pet's aftercast to trigger the player's status gear.

But while I may have theories about how to improve the file, I can't understand what you're explaining your problem to be. Can you please be a bit more specific about what is occurring at every step, not just midcast. Please let me know what exactly is being equipped and when (showswaps will tell you the exact event).

Valefor.Omnys said: »
In spellcast, you could use "fake spells". IE, my PLD used "Fire IV" to switch to a fire resist set.

I know all about self_command, that's not my question, but when I started with Gearswap, I tried to use fake spells and found out that spells you can't use are stopped from ever passing. Is there a way to enable this?

I want to always use say, barfire in my sch macros, but if i'm /whm (even rdm/whm or run/whm), I want it to switch to barfira. These would work, but sch/whm doesn't even pass the attempt to GearSwap.

I mean, I know I could use macros like
/console gs c barfire
do something like
Code
function self_command(command)
  bar_translate == {barfire = "barfira", barpetrify = "barpetra"}
  if command:startswith("bar") then
    if player.main_job == "WHM" or player.sub_job == "WHM" then
      windower.send_command(bar_translate[command))
    elseif player.main_job == "RDM" or player.sub_job = "RDM" or player.main_job = "RUN" or player.sub_job = "RUN" then
      windower.send_command(command)
    end
  end
end


Or just stack macros in game like
Code
/ma barfira <me>
/ma barfire <me>


But that doesn't work from spell menu.
filtered_action() catches spells that GS determines you cannot use.
Code
function filtered_action(spell,action)	
	if spell.english=="Barfira" then dosomething() end
end
[+]
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-07-06 21:01:16  
Any chance someone could tell me what the ID is for Geo-Haste? ;x
 Bismarck.Dunigs
Offline
サーバ: Bismarck
Game: FFXI
user: Dunigs
Posts: 83
By Bismarck.Dunigs 2016-07-06 21:11:13  
I'm assuming 580. Not something I've looked into and too lazy to change to my GEO to confirm, but there's a handful of dupes for things like Haste/Regen/Refresh etc where I'm assuming the later one corresponds to its GEO equivalent.
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-07-06 21:36:41  
Would you happen to have Mighty Guard as well? ;x
 Bismarck.Dunigs
Offline
サーバ: Bismarck
Game: FFXI
user: Dunigs
Posts: 83
By Bismarck.Dunigs 2016-07-06 21:43:48  
604. \Windower4\res\buffs.lua for future reference incase you want to poke around for other things.
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-07-07 03:37:38  
Much appreciated.
 Fenrir.Reoko
Offline
サーバ: Fenrir
Game: FFXI
user: Reoko
Posts: 6
By Fenrir.Reoko 2016-07-07 22:04:30  
Trying to get Falkirks Beast lua to work for a week now, ironing out problems. I am curious though, after using //gs showswaps, I noticed there was no midcast in the showswap text in game (referencing using Ready) . I dont know if its supposed to be like that, or perhaps I messed something up. Any assistance would be welcomed.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-07-07 23:27:42  
Most people handle JA/WS gear in precast. Some might even handle it in both precast and midcast, but it would still only show up in showswaps during precast. Check to see if the gear you expect is being equipped at that point.
[+]
 Fenrir.Reoko
Offline
サーバ: Fenrir
Game: FFXI
user: Reoko
Posts: 6
By Fenrir.Reoko 2016-07-08 01:21:35  
Well that's the thing, I was expecting to see Aymur, Charmers merlin, and my TP axe (kumbhakarna), to all be seen during the sequence. If you clicked the broken link from original post, it seems that TP axe isnt getting equipped.
First Page 2 3 ... 104 105 106 ... 182 183 184