|
Gearswap Support Thread
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-10 01:03:21
Not 100% GS but figured I'd ask.
I have Autoexec equipping Sacrifice torque, or Frenzy Sallet to auto wake me.
Is there a way to set it to change back to what the current GS mode has, or would it be better to just do it in GS instead? You can just change your "input /equip ..." lines to "gs c update" which should work, but, since you're already using GS, I would recommend just using GS to detect it and not rely on anything else.
If you're using a Mote-base lua, use this: Code function job_buff_change(buff, gain)
FrenzyJobs = S{'MNK','THF','BST','SAM','DRG','DNC','RUN'}
if buff == 'sleep' then
if player.main_job == 'SMN' and pet.isvalid then
if gain then
equip({neck="Sacrifice Torque"})
disable('neck')
else
enable('neck')
handle_equipping_gear(player.status)
elseif FrenzyJobs:contains(player.main_jon) and player.status == 'Engaged' then
if gain then
equip({head="Frenzy Sallet"})
disable('head')
else
enable('head')
handle_equipping_gear(player.status)
end
end
end
end I'm almost 100% positive that should work, but I cannot verify it with the server being down right now and I have to leave for work soon. If you're not using a Mote-based lua, it will be very similar, but the syntax will need changed.
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-10 01:12:30
Also, found this on motes BST lua, but I can't seem to get it to work on my SMN GS Code function job_handle_equipping_gear(playerStatus, eventArgs)
if player.equipment.back == 'Mecisto. Mantle' or player.equipment.back == 'Aptitude Mantle' or player.equipment.back == 'Aptitude Mantle +1' then
disable('back')
else
enable('back')
end
end any suggestions? As for this, I have it rigged up in my customize_idle_set and customize_melee_set functions to check for Commitment before enabling it, because any time I'm in a high-CP area, I'll have Commitment enabled, too. That code I have like this: Code function customize_idle_set(idleSet)
if state.Buff['Commitment'] and areas.Adoulin:contains(world.area) and not areas.Cities:contains(world.area) then
idleSet = set_combine(idleSet, {back="Mecistopins Mantle"})
end
end
function customize_melee_set(meleeSet)
if state.Buff['Commitment'] and areas.Adoulin:contains(world.area) and not areas.Cities:contains(world.area) then
idleSet = set_combine(idleSet, {back="Mecistopins Mantle"})
end
end To break it down, it checks for Commitment, that I'm in Ulbuka (basically only CP granting areas) and not in a city (in this case, Adoulin-proper)
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-10 05:01:07
hello guys,
i'm looking to make BLM Aspir Rules to use only one macro slot but i'm not good enouth to do that alone.
My goal is using Aspir III macro only and the rules rules downgrade the spell tier if cooldown isn't ready.
function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'Aspir III' then
refine_Aspir(spell, action, spellMap, eventArgs)
if Aspir III not ready then
preferredAspir = 'Aspir II'
elseif 'Aspir II' not ready then
preferredAspir = 'Aspir'
end
end
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-10 05:18:13
Carbuncle.Akivatoo said: »hello guys,
i'm looking to make BLM Aspir Rules to use only one macro slot but i'm not good enouth to do that alone.
My goal is using Aspir III macro only and the rules rules downgrade the spell tier if cooldown isn't ready.
function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'Aspir III' then
refine_Aspir(spell, action, spellMap, eventArgs)
if Aspir III not ready then
preferredAspir = 'Aspir II'
elseif 'Aspir II' not ready then
preferredAspir = 'Aspir'
end
end There's a lot more to it than just that. I'll write up some code for you when I get home from work. If you want to take a stab at it, you can copy the refine_waltz function in the file Mote-Utility.lua inside /libs and alter it for Aspir.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-10 05:41:21
yeah i tryed since waltz code but it's based on missing HP i need based on cooldown and i have look on RDM SCH DNC DRK files and i didn't find any similar code
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-10 13:25:25
Carbuncle.Akivatoo said: »yeah i tryed since waltz code but it's based on missing HP i need based on cooldown and i have look on RDM SCH DNC DRK files and i didn't find any similar code This should work for you, let me know if it doesn't: Code function refine_aspir(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Dark Magic' and not spell.english:startswith('Asp') then
return
end
local newAspir = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Aspir' then
add_to_chat(122,'All Aspir spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newAspir = 'Aspir'
elseif spell.english == 'Aspir III' then
newAspir = 'Aspir II'
end
end
if newAspir ~= spell.english then
send_command('@input /ma "'..newAspir..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end Make sure to put a call for it in your job_precast function, so that will look something like this: Code function job_precast(spell, action, spellMap, eventArgs)
refine_aspir(spell, action, spellMap, eventArgs)
...
...
...
end The ... to signify any other code in the function.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-10 17:33:17
that work perfectly /kneel !
i do the same for Sleep > Sleep II that work
i do the same for Sleep-ga > Sleepga II that didn't work
i think is cause of 'sle'EP and 'sle'EPGA is same
Code "if spell.skill ~= 'Enfeebling Magic' and not spell.english:startswith('Sle') then
return"
Code ------------------------------------------Aspir-----------------------------------------------------
function refine_aspir(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Dark Magic' and not spell.english:startswith('Asp') then
return
end
local newAspir = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Aspir' then
add_to_chat(122,'All Aspir spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newAspir = 'Aspir'
elseif spell.english == 'Aspir III' then
newAspir = 'Aspir II'
end
end
if newAspir ~= spell.english then
send_command('@input /ma "'..newAspir..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
-----------------------------Sleep---------------------------------------------------------------
function refine_sleep(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Enfeebling Magic' and not spell.english:startswith('Sle') then
return
end
local newSleep = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Sleep II' then
add_to_chat(122,'All Sleep spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Sleep' then
newSleep = 'Sleep II'
end
end
if newSleep ~= spell.english then
send_command('@input /ma "'..newSleep..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
-----------------------------Sleep-ga---------------------------------------------------------------
function refine_sleepga(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Enfeebling Magic' and not spell.english:startswith('Sle') then
return
end
local newSleepga = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Sleepga II' then
add_to_chat(122,'All Sleepga spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Sleepga' then
newSleep = 'Sleepga II'
end
end
if newSleepga ~= spell.english then
send_command('@input /ma "'..newSleepga..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
function job_precast(spell, action, spellMap, eventArgs)
refine_aspir(spell, action, spellMap, eventArgs)
refine_sleep(spell, action, spellMap, eventArgs)
refine_sleepga(spell, action, spellMap, eventArgs)
end
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-10 23:38:34
Carbuncle.Akivatoo said: »that work perfectly /kneel !
i do the same for Sleep > Sleep II that work
i do the same for Sleep-ga > Sleepga II that didn't work
i think is cause of 'sle'EP and 'sle'EPGA is same
Code "if spell.skill ~= 'Enfeebling Magic' and not spell.english:startswith('Sle') then
return"
Code ------------------------------------------Aspir-----------------------------------------------------
function refine_aspir(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Dark Magic' and not spell.english:startswith('Asp') then
return
end
local newAspir = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Aspir' then
add_to_chat(122,'All Aspir spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newAspir = 'Aspir'
elseif spell.english == 'Aspir III' then
newAspir = 'Aspir II'
end
end
if newAspir ~= spell.english then
send_command('@input /ma "'..newAspir..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
-----------------------------Sleep---------------------------------------------------------------
function refine_sleep(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Enfeebling Magic' and not spell.english:startswith('Sle') then
return
end
local newSleep = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Sleep II' then
add_to_chat(122,'All Sleep spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Sleep' then
newSleep = 'Sleep II'
end
end
if newSleep ~= spell.english then
send_command('@input /ma "'..newSleep..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
-----------------------------Sleep-ga---------------------------------------------------------------
function refine_sleepga(spell, action, spellMap, eventArgs)
if spell.skill ~= 'Enfeebling Magic' and not spell.english:startswith('Sle') then
return
end
local newSleepga = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
if spell.english == 'Sleepga II' then
add_to_chat(122,'All Sleepga spells on cooldown. Cancelling spell casting.')
eventArgs.cancel = true
return
elseif spell.english == 'Sleepga' then
newSleep = 'Sleepga II'
end
end
if newSleepga ~= spell.english then
send_command('@input /ma "'..newSleepga..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
function job_precast(spell, action, spellMap, eventArgs)
refine_aspir(spell, action, spellMap, eventArgs)
refine_sleep(spell, action, spellMap, eventArgs)
refine_sleepga(spell, action, spellMap, eventArgs)
end I'll rework it when I get back home. It's close, just not quite there.
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-11 01:40:07
Carbuncle.Akivatoo said: »that work perfectly /kneel !
i do the same for Sleep > Sleep II that work
i do the same for Sleep-ga > Sleepga II that didn't work
i think is cause of 'sle'EP and 'sle'EPGA is same Try this, it should work for aspirs, sleeps and sleepgas. Just remove the refine_aspirs function so it doesn't overlap. Code function refine_various_spells(spell, action, spellMap, eventArgs)
aspirs = S{'Aspir','Aspir II','Aspir III'}
sleeps = S{'Sleep','Sleep II'}
sleepgas = S{'Sleepga','Sleepga II'}
if not sleepgas:contains(spell.english) and not sleeps:contains(spell.english) and not aspirs:contains(spell.english) then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if aspirs:contains(spell.english) then
if spell.english == 'Aspir' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newSpell = 'Aspir'
elseif spell.english == 'Aspir III' then
newSpell = 'Aspir II'
end
elseif sleeps:contains(spell.english) then
if spell.english == 'Sleep' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleep II' then
newSpell = 'Sleep'
end
elseif sleepgas:contains(spell.english) then
if spell.english == 'Sleepga' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleepga II' then
newSpell = 'Sleepga'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
function job_precast(spell, action, spellMap, eventArgs)
refine_various_spells(spell, action, spellMap, eventArgs)
end If adding other spells into the function, you always start with the Tier 1 and make that the cancelling one, then T2, T3, etc.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-11 03:26:29
ok i change the sleep order for more logic and that work like a charm (i think many BLM would use it for save macro ^^)
so definitive code is:
Code function refine_various_spells(spell, action, spellMap, eventArgs)
aspirs = S{'Aspir','Aspir II','Aspir III'}
sleeps = S{'Sleep','Sleep II'}
sleepgas = S{'Sleepga','Sleepga II'}
if not sleepgas:contains(spell.english) and not sleeps:contains(spell.english) and not aspirs:contains(spell.english) then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if aspirs:contains(spell.english) then
if spell.english == 'Aspir' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newSpell = 'Aspir'
elseif spell.english == 'Aspir III' then
newSpell = 'Aspir II'
end
elseif sleeps:contains(spell.english) then
if spell.english == 'Sleep' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleep II' then
newSpell = 'Sleep'
end
elseif sleepgas:contains(spell.english) then
if spell.english == 'Sleepga II' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleepga' then
newSpell = 'Sleepga II'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
function job_precast(spell, action, spellMap, eventArgs)
refine_various_spells(spell, action, spellMap, eventArgs)
end
thank a lot for this code, it's an quality life improvement like SE like to say !
i'm pretty impress how you make it work so quickly in few hours, (than took me like 3 weeks of research for nothing works)
so one more time thank you !
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-11 22:44:52
Carbuncle.Akivatoo said: »ok i change the sleep order for more logic and that work like a charm (i think many BLM would use it for save macro ^^)
so definitive code is:
Code function refine_various_spells(spell, action, spellMap, eventArgs)
aspirs = S{'Aspir','Aspir II','Aspir III'}
sleeps = S{'Sleep','Sleep II'}
sleepgas = S{'Sleepga','Sleepga II'}
if not sleepgas:contains(spell.english) and not sleeps:contains(spell.english) and not aspirs:contains(spell.english) then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if aspirs:contains(spell.english) then
if spell.english == 'Aspir' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newSpell = 'Aspir'
elseif spell.english == 'Aspir III' then
newSpell = 'Aspir II'
end
elseif sleeps:contains(spell.english) then
if spell.english == 'Sleep' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleep II' then
newSpell = 'Sleep'
end
elseif sleepgas:contains(spell.english) then
if spell.english == 'Sleepga II' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleepga' then
newSpell = 'Sleepga II'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
function job_precast(spell, action, spellMap, eventArgs)
refine_various_spells(spell, action, spellMap, eventArgs)
end
thank a lot for this code, it's an quality life improvement like SE like to say !
i'm pretty impress how you make it work so quickly in few hours, (than took me like 3 weeks of research for nothing works)
so one more time thank you ! It could go either way with the Sleepgas. Using Sleepga as your macro, and then changing to II with cooldown is ok, but I think most people probably default to Sleepga II first, which you can't do in your changed code. To each his own, though.
In fairness, I just tweaked it off the cooldown functionality I use in my Cure downgrade function, which was based off the refine_waltz Mote function. As such, I've used that model for a nuke downgrade as well, so I only have to macro the highest-tier nuke available and it will automatically downgrade based on the cooldown. Compared to the nuking one, this was pretty simple, lol.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-12 00:40:23
that seem easy like that but for an no code-friendly it's a hard task, for exemple i try since 6+ month to make auto swith+lock on specific equipment when i get "Doom" until "Doom" wear off and i try so many scrip i find on different GS and nothing work. Code -Doom
function job_post_midcast(spell, action, spellMap, eventArgs)
if state.Buff.doom then
equip(sets.buff.Doom)
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if buffactive.Doom then
elseif state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(engaged)
if state.Buff.Doom then
sets.engaged = set_combine(sets.buff.Doom)
send_command('input /p DOOM please Cursna')
end
return sets.engaged
end
--Doom
function status_change(new,old)
if buffactive['Doom'] then
equip(sets.buff.Doom)
send_command('input /p DOOM please Cursna')
end
end
function job_update(cmdParams, eventArgs)
update_defense_mode()
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if state.Buff.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
function customize_defense_set(defenseSet)
if state.ExtraDefenseMode.value ~= 'None' then
defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
end
if state.EquipShield.value == true then
defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
end
if state.Buff.Doom then
defenseSet = set_combine(defenseSet, sets.buff.Doom)
end
return defenseSet
end
function job_buff_change(buff, gain)
if gain then
--print( buff )
--print( state.Buff[buff] )
if buffactive ["Doom"] then
sets.idle = set_combine( sets.idle, sets.buff.doom )
sets.engaged = set_combine( sets.engaged, sets.buff.doom )
end
end
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
sets.buff.Doom = {ring1="Saida Ring",ring2="Saida Ring",legs="Shabti cuisses +1"} --Eshmun's Ring
all of this didn't do anything, that seem's not detect the "Doom"
i took all of this code on different existing .lua files and nothing work.
For this rules i'm looking for : Code function status_change(new,old)
if buffactive['Doom'] then
equip(sets.buff.Doom)+ lock sets.buff.Doom
send_command('input /p DOOM please Cursna')
if buffactive['Doom']wear off then unlock sets.buff.Doom then sets.engaged
elseif if doom count "1" equip (head="Twilight Helm", body="Twilight Mail") lock head and body until death (yes i have good WHM ^^)
i have used print fonction for check if doom was print like "doom" or "Doom" but that didn't seem have any change on the fonction problem ^^;
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-12 02:35:08
Carbuncle.Akivatoo said: »that seem easy like that but for an no code-friendly it's a hard task, for exemple i try since 6+ month to make auto swith+lock on specific equipment when i get "Doom" until "Doom" wear off and i try so many scrip i find on different GS and nothing work. Code -Doom
function job_post_midcast(spell, action, spellMap, eventArgs)
if state.Buff.doom then
equip(sets.buff.Doom)
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if buffactive.Doom then
elseif state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(engaged)
if state.Buff.Doom then
sets.engaged = set_combine(sets.buff.Doom)
send_command('input /p DOOM please Cursna')
end
return sets.engaged
end
--Doom
function status_change(new,old)
if buffactive['Doom'] then
equip(sets.buff.Doom)
send_command('input /p DOOM please Cursna')
end
end
function job_update(cmdParams, eventArgs)
update_defense_mode()
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if state.Buff.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
function customize_defense_set(defenseSet)
if state.ExtraDefenseMode.value ~= 'None' then
defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
end
if state.EquipShield.value == true then
defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
end
if state.Buff.Doom then
defenseSet = set_combine(defenseSet, sets.buff.Doom)
end
return defenseSet
end
function job_buff_change(buff, gain)
if gain then
--print( buff )
--print( state.Buff[buff] )
if buffactive ["Doom"] then
sets.idle = set_combine( sets.idle, sets.buff.doom )
sets.engaged = set_combine( sets.engaged, sets.buff.doom )
end
end
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
sets.buff.Doom = {ring1="Saida Ring",ring2="Saida Ring",legs="Shabti cuisses +1"} --Eshmun's Ring
all of this didn't do anything, that seem's not detect the "Doom"
i took all of this code on different existing .lua files and nothing work.
For this rules i need : Code function status_change(new,old)
if buffactive['Doom'] then
equip(sets.buff.Doom)+ lock sets.buff.Doom
send_command('input /p DOOM please Cursna')
if buffactive['Doom']then unlock sets.buff.Doom then sets.engaged
All you need here is:
This set with your normal sets: Code sets.buff.Doom = {ring1="Saida Ring",ring2="Saida Ring",legs="Shabti cuisses +1"} --Eshmun's Ring And this function: Code function job_buff_change(buff, gain)
if buff == 'Doom' then
if gain then
equip(sets.buff.doom)
send_command('@input /p Doomed, please Cursna.')
disable('ring1','ring2','legs')
else
enable('ring1','ring2','legs')
send_command('input /p Doom removed, thank you.')
handle_equipping_gear(player.status)
end
end
end Also, to my knowledge, there is not a doom counter on the buff-side of it, so you might need to look further for that. I normally have a WHM with me that has max Cursna gear, so I don't have rules like that.
And, just to clarify, status_change if for changing modes, like, idle, attacking, etc. buff_change is what you're looking for here.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-12 06:39:16
that didn't work, he seems detect buffchange but didn't do any action after (i tryed engaged and disengaged)
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-12 16:02:11
Carbuncle.Akivatoo said: »that didn't work, he seems detect buffchange but didn't do any action after (i tryed engaged and disengaged) I'll have to fully debug it after work. I didn't have time to test it last night. You put the sets.buff.doom in with all your normal sets right? In the init_gear_sets function
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-12 16:08:24
on line 277 is the doom set
Code require 'organizer-lib'
-------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'Normal', 'Acc'}
options.WeaponskillModes = {'Normal', 'Acc'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'Ochain', 'Aegis'}
options.MagicalDefenseModes = {'MDT'}
options.HybridDefenseModes = {'None', 'Doom', 'Charm', 'Reraise'}
--state.Defense.PhysicalMode = 'PDT'
send_command('input //org o')
state.HybridDefenseMode = 'None'
send_command('bind !f11 gs c cycle HybridDefenseMode')
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
-----------------------------------------------------------------------------------------
--------------------------------------Precast sets---------------------------------------
-----------------------------------------------------------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Invincible'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Holy Circle'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Rev. Leggings +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Shield Bash'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Knightly Earring",
right_ear="Trux Earring",
left_ring="Guardian's Ring",
right_ring="Fenian Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Intervene'] = sets.precast.JA['Shield Bash']
sets.precast.JA['Sentinel'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs="Chev. Cuisses +1",
feet={ name="Cab. Leggings +1", augments={'Enhances "Guardian" effect',}},
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2"}}}
sets.buff['Sentinel'] = sets.precast.JA['Sentinel']
--The amount of damage absorbed is variable, determined by VIT*2
sets.precast.JA['Rampart'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Terra's Pearl",
right_ear="Terra's Pearl",
left_ring="Titan Ring +1",
right_ring="Titan Ring +1",
back="Iximulew Cape"}
sets.buff['Rampart'] = sets.precast.JA['Rampart']
sets.precast.JA['Fealty'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body={ name="Cab. Surcoat +1", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Divine Emblem'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
--15 + min(max(floor((user VIT + user MND - target VIT*2)/4),0),15)
sets.precast.JA['Cover'] =
{ammo="Iron Gobbet",
head="Rev. Coronet +1",
body={ name="Cab. Surcoat +1", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Rev. Leggings +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Terra's Pearl",
right_ear="Terra's Pearl",
left_ring="Titan Ring +1",
right_ring="Levia. Ring +1",
back="Iximulew Cape"}
sets.buff['Cover'] = sets.precast.JA['Cover']
-- add mnd for Chivalry
sets.precast.JA['Chivalry'] =
{ammo="Strobilus",
head="Pixie Hairpin +1",
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Dualism Collar +1",
waist="Creed Baudrier",
left_ear="Nourish. Earring",
right_ear="Nourish. Earring +1",
left_ring="Levia. Ring +1",
right_ring="Globidonta Ring",
back={ name="Weard Mantle", augments={'VIT+5','DEX+3','Phalanx +5',}}}
------------------------ Sub WAR ------------------------
--enmity +130/130
sets.precast.JA['Provoke'] =
{ammo="Iron Gobbet",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body="Chev. Cuirass +1",
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Trux Earring",
right_ear="Cryptic Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Warcry'] = sets.precast.JA['Provoke']
sets.precast.JA['Defender'] = sets.precast.JA['Provoke']
------------------------ Sub DNC ------------------------
-- Waltz set (chr and vit)
sets.precast.Waltz =
{ammo="Iron Gobbet",
head="Champion's Galea",
body="Chev. Cuirass +1",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Valseur's Ring",
right_ear="Terra's Pearl",
left_ring="Asklepian Ring",
right_ring="Titan Ring +1",
back="Iximulew Cape"}
-- Special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] =
{ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Chev. Cuirass +1",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Terra's Pearl",
right_ear="Terra's Pearl",
left_ring="Asklepian Ring",
right_ring="Valseur's Ring",
back="Iximulew Cape"}
sets.precast.Step =
{ ammo="Iron Gobbet",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body="Chev. Cuirass +1",
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Unmoving Collar +1",
waist="Chaac Belt",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2','Enmity+7','Phalanx +2',}}}
sets.precast.Flourish1 = sets.precast.Step
------------------------ Sub RUN ------------------------
sets.precast.JA['Ignis'] = sets.precast.JA['Provoke']
sets.precast.JA['Gelus'] = sets.precast.JA['Provoke']
sets.precast.JA['Flabra'] = sets.precast.JA['Provoke']
sets.precast.JA['Tellus'] = sets.precast.JA['Provoke']
sets.precast.JA['Sulpor'] = sets.precast.JA['Provoke']
sets.precast.JA['Unda'] = sets.precast.JA['Provoke']
sets.precast.JA['Lux'] = sets.precast.JA['Provoke']
sets.precast.JA['Tenebrae'] = sets.precast.JA['Provoke']
sets.precast.JA['Vallation'] = sets.precast.JA['Provoke']
sets.precast.JA['Pflug'] = sets.precast.JA['Provoke']
sets.buff.Doom = {ring1="Saida Ring",ring2="Saida Ring",head="Twilight Helm", body="Twilight Mail",legs="Shabti cuisses +1"} --Eshmun's Ring
-- Fast cast sets for spells
sets.precast.FC =
{ammo="Impatiens",
head="Chev. Armet +1",
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3','Phalanx +3',}},
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs="Enif Cosciales",
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Orunmila's Torque",
waist="Chuq'aba Belt",
left_ear={ name="Moonshade Earring", augments={'MP+25','Occ. quickens spellcasting +3%',}},
right_ear="Loquac. Earring",
left_ring="Lebeche Ring",
right_ring="Veneficium Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.FC.Enhancing =
{ ammo="Impatiens",
head="Chevalier's Armet +1",
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3',}},
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs="Enif Cosciales",
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Orunmila's Torque",
waist="Siegel Sash",
left_ear="Moonshade Earring",
right_ear="Loquac. Earring",
left_ring="Lebeche Ring",
right_ring="Veneficium Ring",}
sets.precast.FC.Cure =
{ammo="Impatiens",
head="Chevalier's Armet +1",
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3',}},
hands={ name="Buremte Gloves",
augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs="Enif Cosciales",
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Orunmila's Torque",
waist="Acerbic Sash +1",
left_ear="Nourish. Earring +1",
right_ear="Nourish. Earring",
left_ring="Lebeche Ring",
right_ring="Veneficium Ring",}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS =
{ammo="Paeapua",
head={ name="Otomi Helm", augments={'Phys. dmg. taken -2%','Magic dmg. taken -2%','STR+8',}},
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Ifrit Ring +1",
back="Letalis Mantle"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
--Stat Modifier: 73~85% MND fTP: 1.0
sets.precast.WS['Requiescat'] =
{ammo="Paeapua",
head="Baghere Salade",
body="Tartarus Platemail",
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Levia. Ring +1",
back="Letalis Mantle"}
--Stat Modifier: 50%MND / 30%STR MAB+ fTP:2.75
sets.precast.WS['Sanguine Blade'] =
{ammo="Paeapua",--Erlene's Notebook
head="Pixie Hairpin +1",
body="Phorcys Korazin",--Makora Meikogai
hands="Ker's Gauntlets",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},--Augury Cuisses +1
feet="Templar Sabatons",--Shrewd Pumps
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Crematio Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back="Toro Cape"}
sets.precast.WS['Aeolian Edge'] = sets.precast.WS['Sanguine Blade']
--Stat Modifier: 50%MND / 50%STR fTP: 1000:4.0 2000:10.25 3000:13.75
sets.precast.WS['Savage Blade'] =
{ammo="Paeapua",
head="Baghere Salade",
body="Tartarus Platemail",
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Levia. Ring +1",
back="Letalis Mantle"}
--Stat Modifier: WS damage+18/21 / enmity+
sets.precast.WS['Atonement'] =
{ammo="Iron Gobbet",
head={ name="Acro Helm", augments={'Weapon skill damage +2%',}}, --Weapon skill damage +2/3%
body="Phorcys Korazin", --Weapon skill damage +7%
hands={ name="Acro Gauntlets", augments={'Weapon skill damage +2%','Accuracy+14'}}, --Weapon skill damage +2/3%
legs="Ogier's Breeches", --Weapon skill damage +5%
feet={ name="Yorium Sabatons", augments={'"Cure" potency +5%','Weapon skill damage +2%',}}, --Weapon skill damage +2/3%
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Eihwaz Ring",
right_ring="Supershear Earring",
back={ name="Weard Mantle", augments={'VIT+2','Enmity+7','Phalanx +2',}}}
--Stat Modifier: 80%DEX fTP:2.25
sets.precast.WS['Chant du Cygne'] =
{ammo="Paeapua",
head="Baghere Salade",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Ramuh Ring +1",
back="Letalis Mantle"}
------------------------------------------------------------------------------------------------
-----------------------------------------Midcast sets-------------------------------------------
------------------------------------------------------------------------------------------------
sets.midcast.FastRecast =
{ammo="Impatiens",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Rumination sash",
left_ear="Knightly Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.midcast.Enhancingmagic =
{ammo="Impatiens",
head="Chev. Armet +1",
body="Shab. Cuirass +1",
hands={ name="Eschite Gauntlets", augments={'Mag. Evasion+9','System: 2 ID: 126 Val: 8','System: 2 ID: 120 Val: 3',}},
legs="Rev. Breeches +1",
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Colossus's Torque",
waist="Olympus Sash",
left_ear="Augment. Earring",
right_ear="Andoaa Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back="Merciful Cape"}
-- Divine Skill 507/520
sets.midcast.Divine =
{ammo="Impatiens",
head="Kahin turban",
body="Rev. Surcoat +1",
hands="Eschite Gauntlets",
legs={ name="Kaiser Diechlings", augments={'Magic dmg. taken -3%','Divine magic skill +5',}},
feet="Templar Sabatons",
neck="Nesanica Torque",
waist="Bishop's Sash",
left_ear="Knight's Earring",
right_ear="Beatific Earring",
left_ring="Globidonta Ring",
right_ring="Apeile Ring +1",
back="Altruistic Cape"}
sets.midcast.MAB =
{ammo="Paeapua",--Erlene's Notebook
head="Pixie Hairpin +1",
body="Phorcys Korazin",--Makora Meikogai
hands="Ker's Gauntlets",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},--Eschite Cuisses
feet="Templar Sabatons",--Shrewd Pumps
neck="Eddy Necklace",
waist="Yamabuki-no-Obi", --Eschan Stone
left_ear="Crematio Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back="Toro Cape"}
sets.midcast.Flash = sets.midcast.Divine
sets.midcast.Enlight = sets.midcast.Divine --+85 accu
sets.midcast['Enlight II'] = sets.midcast.Enlight--+122 accu
--Max HP+ set for reprisal
sets.midcast.Reprisal =
{ammo="Impatiens",
head="Chev. Armet +1",
body="Shab. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs="Chev. Cuisses +1",
feet="Rev. Leggings +1",
neck="Dualism Collar +1",
waist="Rumination Sash",
left_ear="Etiolation Earring",
right_ear="Cryptic Earring",
left_ring="Meridian Ring",
right_ring="Eihwaz Ring",
back="Aenoth. Mantle +1"}
--Phalanx skill 365/358 = 30/30 + phalanx + 20/20 total 50/50
sets.midcast.Phalanx =
{ammo="Impatiens",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3','Phalanx +3',}},
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Colossus's Torque",
waist="Rumination Sash",
left_ear="Augment. Earring",
right_ear="Andoaa Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+5','DEX+3','Phalanx +5',}}}
sets.midcast.Banish = set_combine(sets.midcast.MAB, {right_ring="Fenian Ring"})
sets.midcast['Banish II'] = sets.midcast.Banish
sets.midcast.Holy = sets.midcast.MAB
sets.midcast['Holy II'] = sets.midcast.Holy
sets.midcast.Crusade =
{ammo="Impatiens",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body="Chev. Cuirass +1",
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Unmoving Collar +1",
waist="Rumination Sash",
left_ear="Knightly Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2','Enmity+7','Phalanx +2',}}}
-- C1=113; C2=251; C3=566; C4=1061; cure potency caps at 50% received caps at 30%.
sets.midcast.Cure =
{ammo="Impatiens",
head="Shabti Armet +1",
body={ name="Yorium Cuirass", augments={'DEF+25','"Cure" potency +5%','CHR+1',}},
hands="Macabre Gaunt. +1",
legs={ name="Yorium Cuisses", augments={'"Cure" potency +5%','MND+7',}},
feet={ name="Yorium Sabatons", augments={'"Cure" potency +5%','Weapon skill damage +2%',}},
neck="Phalaina Locket",
waist="Chuq'aba Belt",
left_ear="Nourish. Earring +1",
right_ear="Nourish. Earring",
left_ring="Vocane Ring",
right_ring="Kunaji Ring",
back="Fierabras's Mantle"}
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Shell = {ring1="Sheltered Ring"}
sets.midcast.Stun = sets.midcast.Flash
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
sets.Doom = {legs="Shabti Cuisses +1",left_ring="Saida Ring", right_ring="Saida Ring"}
sets.Reraise = {head="Twilight Helm", body="Twilight Mail"}
sets.Charm =
{ammo="Iron Gobbet",
head="Flawless Ribbon",
body={ name="Cab. Surcoat +1", augments={'Enhances "Fealty" effect',}},
hands="Toad Mittens",
legs="Rev. Breeches +1",
feet="Rev. Leggings +1",
neck="M. No.17's Locket",
waist="Flume Belt +1",
left_ear="Volunt. Earring",
right_ear="Hearty Earring",
left_ring="Unyielding Ring",
right_ring="Wuji Ring",
back="Aenoth. Mantle +1"}
sets.resting = {head="Twilight Helm",neck="Creed Collar",
body="Twilight Mail",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Fucho-no-obi"}
-- Idle sets
sets.idle =
{ammo="Vanir Battery",
body="Respite Cloak",
hands="Chev. Gauntlets +1",
legs={ name="Crimson Cuisses", augments={'"Fast Cast"+3','Mag. Evasion+2',}},
feet="Rev. Leggings +1",
neck="Creed Collar",
waist="Fucho-no-Obi",
left_ear="Knight's Earring",
right_ear="Ethereal Earring",
left_ring="Sheltered Ring",
right_ring="Paguroidea Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.idle.Town =
{main="Burtgang",
ammo="Vanir battery",
head="Reverence Coronet +1",
neck="Twilight Torque",
ear1="Knight's Earring",
ear2="Ethereal Earring",
body="Reverence Surcoat +1",
hands="Chev. Gauntlets +1",
ring1="Sheltered Ring",
ring2="Paguroidea Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}},
waist="Fucho-no-obi",
legs="Crimson Cuisses",
feet="Reverence Leggings +1"}
sets.idle.Weak =
{ammo="Iron Gobbet",
head="Twilight helm",
neck="Twilight Torque",
ear1="Knight's Earring",
ear2="Ethereal Earring",
body="Twilight mail",
hands="Chev. Gauntlets +1",
ring1="Sheltered Ring",
ring2="Paguroidea Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2"}},
waist="Fucho-no-obi",
legs="Crimson Cuisses",
feet="Reverence Leggings +1"}
sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
-- Physical
-- PDT
-- Aegis
-- Defense sets
-- Magical
-- MDT
-- Hybrid (on top of either physical or magical)
-- Repulse
-- Reraise
-- RepulseReraise
-- Custom
sets.Repulse = {back="Repulse Mantle"}
sets.defense.PDT =
{ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Flume Belt +1",
left_ear="Etiolation Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
-- To cap MDT with Shell IV (52/256), need 76/256 in gear. Current gear set is 248/256.
-- Shellra V can provide 75/256.
sets.defense.MDT = {
main="Burtgang",
ammo="Vanir Battery",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Warder's Charm +1",
waist="Creed Baudrier",
left_ear="Etiolation Earring",
right_ear="Sanare Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Engulfer Cape +1"}
sets.defense.Ochain =
{main="Burtgang",
sub="Ochain",
ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Flume Belt +1",
left_ear="Etiolation Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.defense.Aegis =
{main="Burtgang",
sub="Aegis",
ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Flume Belt +1",
left_ear="Etiolation Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
--Doom/RR",
sets.defense.PDT.Reraise = set_combine(sets.defense.PDT, sets.Reraise)
sets.defense.Aegis.Reraise = set_combine(sets.defense.Aegis, sets.Reraise)
sets.defense.MDT.Reraise = set_combine(sets.defense.MDT, sets.Reraise)
sets.defense.Aegis.Reraise = set_combine(sets.defense.Aegis, sets.Reraise)
sets.defense.PDT.Doom = set_combine(sets.defense.PDT, sets.Doom)
sets.defense.Aegis.Doom = set_combine(sets.defense.Aegis, sets.Doom)
sets.defense.MDT.Doom = set_combine(sets.defense.PDT, sets.Doom)
sets.defense.Aegis.Doom = set_combine(sets.defense.Aegis, sets.Doom)
sets.defense.PDT.Charm = set_combine(sets.defense.PDT, sets.Charm)
sets.defense.Aegis.Charm = set_combine(sets.defense.Aegis, sets.Charm)
sets.defense.MDT.Charm = set_combine(sets.defense.PDT, sets.Charm)
sets.defense.Aegis.Charm = set_combine(sets.defense.Aegis, sets.Charm)
sets.Kiting = {legs="Crimson Cuisses"}
--------------------------------------
-- Engaged sets
--------------------------------------
sets.engaged = --860
{ammo="Paeapua",
head={ name="Otomi Helm", augments={'Phys. dmg. taken -2%','Magic dmg. taken -2%','STR+8',}},
body= "Tartarus platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Asperity Necklace",
waist="Windbuffet Belt +1",
left_ear="Brutal Earring",
right_ear="Trux Earring",
left_ring="K'ayres Ring",
right_ring="Rajas Ring",
back="Letalis Mantle"}
sets.engaged.Acc = --952
{ammo="Ginsen",
head="Baghere salade",
neck="Defiant Collar",
ear1="Zennaroi Earring",
ear2="Steelflash Earring",
body="Tartarus platemail",
hands="Chev. Gauntlets +1",
ring1="Vocane Ring",
ring2="Defending ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2"}},
waist="Olseni belt",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1"}
end
------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------Job-specific hooks that are called to process player actions at specific points in time-----------
------------------------------------------------------------------------------------------------------------------------------------------
--Doom
function job_buff_change(buff, gain)
if buff == 'Doom' then
if gain then
equip(sets.buff.doom)
send_command('@input /p Doomed, please Cursna.')
disable('ring1','ring2','legs')
else
enable('ring1','ring2','legs')
send_command('input /p Doom removed, thank you.')
handle_equipping_gear(player.status)
end
end
end
function job_update(cmdParams, eventArgs)
update_defense_mode()
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
function customize_defense_set(defenseSet)
if state.ExtraDefenseMode.value ~= 'None' then
defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
end
if state.EquipShield.value == true then
defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
end
return defenseSet
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-- General hooks for change events.
-------------------------------------------------------------------------------------------------------------------
-- Run after the default precast() is done.
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
function job_post_precast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
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)
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 state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
return meleeSet
end
-- 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.
--print( buff )
--print( state.Buff[buff] )
-- 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_defense_mode()
end
-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
if field == 'HybridDefenseMode' then
classes.CustomDefenseGroups:clear()
classes.CustomDefenseGroups:append(new_value)
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
end
function update_defense_mode()
if player.equipment.main == 'Bustgang' and not classes.CustomDefenseGroups:contains('Burtgang') then
classes.CustomDefenseGroups:append('Burtgang')
end
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub and not player.equipment.sub:endswith('Shield') and
player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(2, 7)
elseif player.sub_job == 'NIN' then
set_macro_page(1, 7)
elseif player.sub_job == 'RDM' then
set_macro_page(9, 7)
elseif player.sub_job == 'RUN' then
set_macro_page(8, 7)
else
set_macro_page(1, 7)
end
end
-------------------------------------------------Cover rule---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Head','Body') for Cover.
if not spell.interrupted then
if spell.english == 'Cover' then
enable('Body','Head')
equip(sets.buff['Cover'])
disable('Body','Head')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Head','Body') when Cover buff is lost.
if buff == "Cover" and not gain then
enable('Body','Head')
handle_equipping_gear(player.status)
end
end
-------------------------------------------------Rampart rule---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Head') for Rampart.
if not spell.interrupted then
if spell.english == 'Rampart' then
enable('Body','Head')
equip(sets.buff['Rampart'])
disable('Body','Head')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Head') when Cover buff is lost.
if buff == "Rampart" and not gain then
enable('Body','Head')
handle_equipping_gear(player.status)
end
end
-------------------------------------------------Sentinel rule---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Feet') for Sentinel.
if not spell.interrupted then
if spell.english == 'Sentinel' then
enable('Feet')
equip(sets.buff['Sentinel'])
disable('Feet')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Feet') when Cover buff is lost.
if buff == "Sentinel" and not gain then
enable('Feet')
handle_equipping_gear(player.status)
end
end
my cover's rules didn't work too ^^(probably cause of Respite Cloak);
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-13 22:51:23
Carbuncle.Akivatoo said: »on line 277 is the doom set
Code require 'organizer-lib'
-------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'Normal', 'Acc'}
options.WeaponskillModes = {'Normal', 'Acc'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'Ochain', 'Aegis'}
options.MagicalDefenseModes = {'MDT'}
options.HybridDefenseModes = {'None', 'Doom', 'Charm', 'Reraise'}
--state.Defense.PhysicalMode = 'PDT'
send_command('input //org o')
state.HybridDefenseMode = 'None'
send_command('bind !f11 gs c cycle HybridDefenseMode')
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
-----------------------------------------------------------------------------------------
--------------------------------------Precast sets---------------------------------------
-----------------------------------------------------------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Invincible'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Holy Circle'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Rev. Leggings +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Shield Bash'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Knightly Earring",
right_ear="Trux Earring",
left_ring="Guardian's Ring",
right_ring="Fenian Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Intervene'] = sets.precast.JA['Shield Bash']
sets.precast.JA['Sentinel'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs="Chev. Cuisses +1",
feet={ name="Cab. Leggings +1", augments={'Enhances "Guardian" effect',}},
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2"}}}
sets.buff['Sentinel'] = sets.precast.JA['Sentinel']
--The amount of damage absorbed is variable, determined by VIT*2
sets.precast.JA['Rampart'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Terra's Pearl",
right_ear="Terra's Pearl",
left_ring="Titan Ring +1",
right_ring="Titan Ring +1",
back="Iximulew Cape"}
sets.buff['Rampart'] = sets.precast.JA['Rampart']
sets.precast.JA['Fealty'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body={ name="Cab. Surcoat +1", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Divine Emblem'] =
{ammo="Iron Gobbet",
head={ name="Cab. Coronet +1", augments={'Enhances "Iron Will" effect',}},
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
--15 + min(max(floor((user VIT + user MND - target VIT*2)/4),0),15)
sets.precast.JA['Cover'] =
{ammo="Iron Gobbet",
head="Rev. Coronet +1",
body={ name="Cab. Surcoat +1", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Rev. Leggings +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Terra's Pearl",
right_ear="Terra's Pearl",
left_ring="Titan Ring +1",
right_ring="Levia. Ring +1",
back="Iximulew Cape"}
sets.buff['Cover'] = sets.precast.JA['Cover']
-- add mnd for Chivalry
sets.precast.JA['Chivalry'] =
{ammo="Strobilus",
head="Pixie Hairpin +1",
body="Chev. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Dualism Collar +1",
waist="Creed Baudrier",
left_ear="Nourish. Earring",
right_ear="Nourish. Earring +1",
left_ring="Levia. Ring +1",
right_ring="Globidonta Ring",
back={ name="Weard Mantle", augments={'VIT+5','DEX+3','Phalanx +5',}}}
------------------------ Sub WAR ------------------------
--enmity +130/130
sets.precast.JA['Provoke'] =
{ammo="Iron Gobbet",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body="Chev. Cuirass +1",
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Unmoving Collar +1",
waist="Creed Baudrier",
left_ear="Trux Earring",
right_ear="Cryptic Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.JA['Warcry'] = sets.precast.JA['Provoke']
sets.precast.JA['Defender'] = sets.precast.JA['Provoke']
------------------------ Sub DNC ------------------------
-- Waltz set (chr and vit)
sets.precast.Waltz =
{ammo="Iron Gobbet",
head="Champion's Galea",
body="Chev. Cuirass +1",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Valseur's Ring",
right_ear="Terra's Pearl",
left_ring="Asklepian Ring",
right_ring="Titan Ring +1",
back="Iximulew Cape"}
-- Special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] =
{ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Chev. Cuirass +1",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Unmoving Collar +1",
waist="Caudata Belt",
left_ear="Terra's Pearl",
right_ear="Terra's Pearl",
left_ring="Asklepian Ring",
right_ring="Valseur's Ring",
back="Iximulew Cape"}
sets.precast.Step =
{ ammo="Iron Gobbet",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body="Chev. Cuirass +1",
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Unmoving Collar +1",
waist="Chaac Belt",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2','Enmity+7','Phalanx +2',}}}
sets.precast.Flourish1 = sets.precast.Step
------------------------ Sub RUN ------------------------
sets.precast.JA['Ignis'] = sets.precast.JA['Provoke']
sets.precast.JA['Gelus'] = sets.precast.JA['Provoke']
sets.precast.JA['Flabra'] = sets.precast.JA['Provoke']
sets.precast.JA['Tellus'] = sets.precast.JA['Provoke']
sets.precast.JA['Sulpor'] = sets.precast.JA['Provoke']
sets.precast.JA['Unda'] = sets.precast.JA['Provoke']
sets.precast.JA['Lux'] = sets.precast.JA['Provoke']
sets.precast.JA['Tenebrae'] = sets.precast.JA['Provoke']
sets.precast.JA['Vallation'] = sets.precast.JA['Provoke']
sets.precast.JA['Pflug'] = sets.precast.JA['Provoke']
sets.buff.Doom = {ring1="Saida Ring",ring2="Saida Ring",head="Twilight Helm", body="Twilight Mail",legs="Shabti cuisses +1"} --Eshmun's Ring
-- Fast cast sets for spells
sets.precast.FC =
{ammo="Impatiens",
head="Chev. Armet +1",
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3','Phalanx +3',}},
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs="Enif Cosciales",
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Orunmila's Torque",
waist="Chuq'aba Belt",
left_ear={ name="Moonshade Earring", augments={'MP+25','Occ. quickens spellcasting +3%',}},
right_ear="Loquac. Earring",
left_ring="Lebeche Ring",
right_ring="Veneficium Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.precast.FC.Enhancing =
{ ammo="Impatiens",
head="Chevalier's Armet +1",
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3',}},
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs="Enif Cosciales",
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Orunmila's Torque",
waist="Siegel Sash",
left_ear="Moonshade Earring",
right_ear="Loquac. Earring",
left_ring="Lebeche Ring",
right_ring="Veneficium Ring",}
sets.precast.FC.Cure =
{ammo="Impatiens",
head="Chevalier's Armet +1",
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3',}},
hands={ name="Buremte Gloves",
augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs="Enif Cosciales",
feet={ name="Ejekamal Boots", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
neck="Orunmila's Torque",
waist="Acerbic Sash +1",
left_ear="Nourish. Earring +1",
right_ear="Nourish. Earring",
left_ring="Lebeche Ring",
right_ring="Veneficium Ring",}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS =
{ammo="Paeapua",
head={ name="Otomi Helm", augments={'Phys. dmg. taken -2%','Magic dmg. taken -2%','STR+8',}},
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Ifrit Ring +1",
back="Letalis Mantle"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
--Stat Modifier: 73~85% MND fTP: 1.0
sets.precast.WS['Requiescat'] =
{ammo="Paeapua",
head="Baghere Salade",
body="Tartarus Platemail",
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Levia. Ring +1",
back="Letalis Mantle"}
--Stat Modifier: 50%MND / 30%STR MAB+ fTP:2.75
sets.precast.WS['Sanguine Blade'] =
{ammo="Paeapua",--Erlene's Notebook
head="Pixie Hairpin +1",
body="Phorcys Korazin",--Makora Meikogai
hands="Ker's Gauntlets",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},--Augury Cuisses +1
feet="Templar Sabatons",--Shrewd Pumps
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Crematio Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back="Toro Cape"}
sets.precast.WS['Aeolian Edge'] = sets.precast.WS['Sanguine Blade']
--Stat Modifier: 50%MND / 50%STR fTP: 1000:4.0 2000:10.25 3000:13.75
sets.precast.WS['Savage Blade'] =
{ammo="Paeapua",
head="Baghere Salade",
body="Tartarus Platemail",
hands={ name="Buremte Gloves", augments={'Haste+2','"Snapshot"+2','"Fast Cast"+3',}},
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Levia. Ring +1",
back="Letalis Mantle"}
--Stat Modifier: WS damage+18/21 / enmity+
sets.precast.WS['Atonement'] =
{ammo="Iron Gobbet",
head={ name="Acro Helm", augments={'Weapon skill damage +2%',}}, --Weapon skill damage +2/3%
body="Phorcys Korazin", --Weapon skill damage +7%
hands={ name="Acro Gauntlets", augments={'Weapon skill damage +2%','Accuracy+14'}}, --Weapon skill damage +2/3%
legs="Ogier's Breeches", --Weapon skill damage +5%
feet={ name="Yorium Sabatons", augments={'"Cure" potency +5%','Weapon skill damage +2%',}}, --Weapon skill damage +2/3%
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Cryptic Earring",
right_ear="Trux Earring",
left_ring="Eihwaz Ring",
right_ring="Supershear Earring",
back={ name="Weard Mantle", augments={'VIT+2','Enmity+7','Phalanx +2',}}}
--Stat Modifier: 80%DEX fTP:2.25
sets.precast.WS['Chant du Cygne'] =
{ammo="Paeapua",
head="Baghere Salade",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},
feet="Chev. Sabatons +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Bladeborn Earring",
right_ear="Steelflash Earring",
left_ring="Rajas Ring",
right_ring="Ramuh Ring +1",
back="Letalis Mantle"}
------------------------------------------------------------------------------------------------
-----------------------------------------Midcast sets-------------------------------------------
------------------------------------------------------------------------------------------------
sets.midcast.FastRecast =
{ammo="Impatiens",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Rumination sash",
left_ear="Knightly Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.midcast.Enhancingmagic =
{ammo="Impatiens",
head="Chev. Armet +1",
body="Shab. Cuirass +1",
hands={ name="Eschite Gauntlets", augments={'Mag. Evasion+9','System: 2 ID: 126 Val: 8','System: 2 ID: 120 Val: 3',}},
legs="Rev. Breeches +1",
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Colossus's Torque",
waist="Olympus Sash",
left_ear="Augment. Earring",
right_ear="Andoaa Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back="Merciful Cape"}
-- Divine Skill 507/520
sets.midcast.Divine =
{ammo="Impatiens",
head="Kahin turban",
body="Rev. Surcoat +1",
hands="Eschite Gauntlets",
legs={ name="Kaiser Diechlings", augments={'Magic dmg. taken -3%','Divine magic skill +5',}},
feet="Templar Sabatons",
neck="Nesanica Torque",
waist="Bishop's Sash",
left_ear="Knight's Earring",
right_ear="Beatific Earring",
left_ring="Globidonta Ring",
right_ring="Apeile Ring +1",
back="Altruistic Cape"}
sets.midcast.MAB =
{ammo="Paeapua",--Erlene's Notebook
head="Pixie Hairpin +1",
body="Phorcys Korazin",--Makora Meikogai
hands="Ker's Gauntlets",
legs={ name="Cab. Breeches +1", augments={'Enhances "Invincible" effect',}},--Eschite Cuisses
feet="Templar Sabatons",--Shrewd Pumps
neck="Eddy Necklace",
waist="Yamabuki-no-Obi", --Eschan Stone
left_ear="Crematio Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back="Toro Cape"}
sets.midcast.Flash = sets.midcast.Divine
sets.midcast.Enlight = sets.midcast.Divine --+85 accu
sets.midcast['Enlight II'] = sets.midcast.Enlight--+122 accu
--Max HP+ set for reprisal
sets.midcast.Reprisal =
{ammo="Impatiens",
head="Chev. Armet +1",
body="Shab. Cuirass +1",
hands={ name="Cab. Gauntlets +1", augments={'Enhances "Chivalry" effect',}},
legs="Chev. Cuisses +1",
feet="Rev. Leggings +1",
neck="Dualism Collar +1",
waist="Rumination Sash",
left_ear="Etiolation Earring",
right_ear="Cryptic Earring",
left_ring="Meridian Ring",
right_ring="Eihwaz Ring",
back="Aenoth. Mantle +1"}
--Phalanx skill 365/358 = 30/30 + phalanx + 20/20 total 50/50
sets.midcast.Phalanx =
{ammo="Impatiens",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body={ name="Yorium Cuirass", augments={'"Fast Cast"+3','Phalanx +3',}},
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Colossus's Torque",
waist="Rumination Sash",
left_ear="Augment. Earring",
right_ear="Andoaa Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+5','DEX+3','Phalanx +5',}}}
sets.midcast.Banish = set_combine(sets.midcast.MAB, {right_ring="Fenian Ring"})
sets.midcast['Banish II'] = sets.midcast.Banish
sets.midcast.Holy = sets.midcast.MAB
sets.midcast['Holy II'] = sets.midcast.Holy
sets.midcast.Crusade =
{ammo="Impatiens",
head={ name="Yorium Barbuta", augments={'Accuracy+17 Attack+17','Enmity+10','Phalanx +3',}},
body="Chev. Cuirass +1",
hands={ name="Yorium Gauntlets", augments={'Enmity+10','Phalanx +3',}},
legs={ name="Yorium Cuisses", augments={'Enmity+10','Phalanx +3',}},
feet={ name="Yorium Sabatons", augments={'Enmity+10','Phalanx +3',}},
neck="Unmoving Collar +1",
waist="Rumination Sash",
left_ear="Knightly Earring",
right_ear="Trux Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back={ name="Weard Mantle", augments={'VIT+2','Enmity+7','Phalanx +2',}}}
-- C1=113; C2=251; C3=566; C4=1061; cure potency caps at 50% received caps at 30%.
sets.midcast.Cure =
{ammo="Impatiens",
head="Shabti Armet +1",
body={ name="Yorium Cuirass", augments={'DEF+25','"Cure" potency +5%','CHR+1',}},
hands="Macabre Gaunt. +1",
legs={ name="Yorium Cuisses", augments={'"Cure" potency +5%','MND+7',}},
feet={ name="Yorium Sabatons", augments={'"Cure" potency +5%','Weapon skill damage +2%',}},
neck="Phalaina Locket",
waist="Chuq'aba Belt",
left_ear="Nourish. Earring +1",
right_ear="Nourish. Earring",
left_ring="Vocane Ring",
right_ring="Kunaji Ring",
back="Fierabras's Mantle"}
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Shell = {ring1="Sheltered Ring"}
sets.midcast.Stun = sets.midcast.Flash
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
sets.Doom = {legs="Shabti Cuisses +1",left_ring="Saida Ring", right_ring="Saida Ring"}
sets.Reraise = {head="Twilight Helm", body="Twilight Mail"}
sets.Charm =
{ammo="Iron Gobbet",
head="Flawless Ribbon",
body={ name="Cab. Surcoat +1", augments={'Enhances "Fealty" effect',}},
hands="Toad Mittens",
legs="Rev. Breeches +1",
feet="Rev. Leggings +1",
neck="M. No.17's Locket",
waist="Flume Belt +1",
left_ear="Volunt. Earring",
right_ear="Hearty Earring",
left_ring="Unyielding Ring",
right_ring="Wuji Ring",
back="Aenoth. Mantle +1"}
sets.resting = {head="Twilight Helm",neck="Creed Collar",
body="Twilight Mail",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Fucho-no-obi"}
-- Idle sets
sets.idle =
{ammo="Vanir Battery",
body="Respite Cloak",
hands="Chev. Gauntlets +1",
legs={ name="Crimson Cuisses", augments={'"Fast Cast"+3','Mag. Evasion+2',}},
feet="Rev. Leggings +1",
neck="Creed Collar",
waist="Fucho-no-Obi",
left_ear="Knight's Earring",
right_ear="Ethereal Earring",
left_ring="Sheltered Ring",
right_ring="Paguroidea Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.idle.Town =
{main="Burtgang",
ammo="Vanir battery",
head="Reverence Coronet +1",
neck="Twilight Torque",
ear1="Knight's Earring",
ear2="Ethereal Earring",
body="Reverence Surcoat +1",
hands="Chev. Gauntlets +1",
ring1="Sheltered Ring",
ring2="Paguroidea Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}},
waist="Fucho-no-obi",
legs="Crimson Cuisses",
feet="Reverence Leggings +1"}
sets.idle.Weak =
{ammo="Iron Gobbet",
head="Twilight helm",
neck="Twilight Torque",
ear1="Knight's Earring",
ear2="Ethereal Earring",
body="Twilight mail",
hands="Chev. Gauntlets +1",
ring1="Sheltered Ring",
ring2="Paguroidea Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2"}},
waist="Fucho-no-obi",
legs="Crimson Cuisses",
feet="Reverence Leggings +1"}
sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
-- Physical
-- PDT
-- Aegis
-- Defense sets
-- Magical
-- MDT
-- Hybrid (on top of either physical or magical)
-- Repulse
-- Reraise
-- RepulseReraise
-- Custom
sets.Repulse = {back="Repulse Mantle"}
sets.defense.PDT =
{ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Flume Belt +1",
left_ear="Etiolation Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
-- To cap MDT with Shell IV (52/256), need 76/256 in gear. Current gear set is 248/256.
-- Shellra V can provide 75/256.
sets.defense.MDT = {
main="Burtgang",
ammo="Vanir Battery",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Warder's Charm +1",
waist="Creed Baudrier",
left_ear="Etiolation Earring",
right_ear="Sanare Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Engulfer Cape +1"}
sets.defense.Ochain =
{main="Burtgang",
sub="Ochain",
ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Flume Belt +1",
left_ear="Etiolation Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
sets.defense.Aegis =
{main="Burtgang",
sub="Aegis",
ammo="Iron Gobbet",
head="Chev. Armet +1",
body="Tartarus Platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Twilight Torque",
waist="Flume Belt +1",
left_ear="Etiolation Earring",
right_ear="Ethereal Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2",}}}
--Doom/RR",
sets.defense.PDT.Reraise = set_combine(sets.defense.PDT, sets.Reraise)
sets.defense.Aegis.Reraise = set_combine(sets.defense.Aegis, sets.Reraise)
sets.defense.MDT.Reraise = set_combine(sets.defense.MDT, sets.Reraise)
sets.defense.Aegis.Reraise = set_combine(sets.defense.Aegis, sets.Reraise)
sets.defense.PDT.Doom = set_combine(sets.defense.PDT, sets.Doom)
sets.defense.Aegis.Doom = set_combine(sets.defense.Aegis, sets.Doom)
sets.defense.MDT.Doom = set_combine(sets.defense.PDT, sets.Doom)
sets.defense.Aegis.Doom = set_combine(sets.defense.Aegis, sets.Doom)
sets.defense.PDT.Charm = set_combine(sets.defense.PDT, sets.Charm)
sets.defense.Aegis.Charm = set_combine(sets.defense.Aegis, sets.Charm)
sets.defense.MDT.Charm = set_combine(sets.defense.PDT, sets.Charm)
sets.defense.Aegis.Charm = set_combine(sets.defense.Aegis, sets.Charm)
sets.Kiting = {legs="Crimson Cuisses"}
--------------------------------------
-- Engaged sets
--------------------------------------
sets.engaged = --860
{ammo="Paeapua",
head={ name="Otomi Helm", augments={'Phys. dmg. taken -2%','Magic dmg. taken -2%','STR+8',}},
body= "Tartarus platemail",
hands="Chev. Gauntlets +1",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1",
neck="Asperity Necklace",
waist="Windbuffet Belt +1",
left_ear="Brutal Earring",
right_ear="Trux Earring",
left_ring="K'ayres Ring",
right_ring="Rajas Ring",
back="Letalis Mantle"}
sets.engaged.Acc = --952
{ammo="Ginsen",
head="Baghere salade",
neck="Defiant Collar",
ear1="Zennaroi Earring",
ear2="Steelflash Earring",
body="Tartarus platemail",
hands="Chev. Gauntlets +1",
ring1="Vocane Ring",
ring2="Defending ring",
back={ name="Weard Mantle", augments={'VIT+2',"Enmity+7","Phalanx+2"}},
waist="Olseni belt",
legs="Chev. Cuisses +1",
feet="Chev. Sabatons +1"}
end
------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------Job-specific hooks that are called to process player actions at specific points in time-----------
------------------------------------------------------------------------------------------------------------------------------------------
--Doom
function job_buff_change(buff, gain)
if buff == 'Doom' then
if gain then
equip(sets.buff.doom)
send_command('@input /p Doomed, please Cursna.')
disable('ring1','ring2','legs')
else
enable('ring1','ring2','legs')
send_command('input /p Doom removed, thank you.')
handle_equipping_gear(player.status)
end
end
end
function job_update(cmdParams, eventArgs)
update_defense_mode()
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
function customize_defense_set(defenseSet)
if state.ExtraDefenseMode.value ~= 'None' then
defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
end
if state.EquipShield.value == true then
defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
end
return defenseSet
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-- General hooks for change events.
-------------------------------------------------------------------------------------------------------------------
-- Run after the default precast() is done.
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
function job_post_precast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
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)
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 state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
return meleeSet
end
-- 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.
--print( buff )
--print( state.Buff[buff] )
-- 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_defense_mode()
end
-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
if field == 'HybridDefenseMode' then
classes.CustomDefenseGroups:clear()
classes.CustomDefenseGroups:append(new_value)
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
end
function update_defense_mode()
if player.equipment.main == 'Bustgang' and not classes.CustomDefenseGroups:contains('Burtgang') then
classes.CustomDefenseGroups:append('Burtgang')
end
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub and not player.equipment.sub:endswith('Shield') and
player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(2, 7)
elseif player.sub_job == 'NIN' then
set_macro_page(1, 7)
elseif player.sub_job == 'RDM' then
set_macro_page(9, 7)
elseif player.sub_job == 'RUN' then
set_macro_page(8, 7)
else
set_macro_page(1, 7)
end
end
-------------------------------------------------Cover rule---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Head','Body') for Cover.
if not spell.interrupted then
if spell.english == 'Cover' then
enable('Body','Head')
equip(sets.buff['Cover'])
disable('Body','Head')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Head','Body') when Cover buff is lost.
if buff == "Cover" and not gain then
enable('Body','Head')
handle_equipping_gear(player.status)
end
end
-------------------------------------------------Rampart rule---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Head') for Rampart.
if not spell.interrupted then
if spell.english == 'Rampart' then
enable('Body','Head')
equip(sets.buff['Rampart'])
disable('Body','Head')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Head') when Cover buff is lost.
if buff == "Rampart" and not gain then
enable('Body','Head')
handle_equipping_gear(player.status)
end
end
-------------------------------------------------Sentinel rule---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Feet') for Sentinel.
if not spell.interrupted then
if spell.english == 'Sentinel' then
enable('Feet')
equip(sets.buff['Sentinel'])
disable('Feet')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Feet') when Cover buff is lost.
if buff == "Sentinel" and not gain then
enable('Feet')
handle_equipping_gear(player.status)
end
end
my cover's rules didn't work too ^^(probably cause of Respite Cloak); http://pastebin.com/wBQXf6gP
You can't have multiple functions of the same name, they won't work. I tidied up a lot of your gear, merged duplicated functions and ensured the doom set works.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-14 14:56:40
i just tried the modified version, doom is detected and equip change correctly ( but with no lock so it's was removed as soon you do anything and not unlocked by the doom off)
this actually work on my spellcast Code -------------------------------------------------Rampart rule's---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Head') for Rampart.
if not spell.interrupted then
if spell.english == 'Rampart' then
enable('Body','Head')
equip(sets.buff['Rampart'])
disable('Body','Head')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Head') when Cover buff is lost.
if buff == "Rampart" and not gain then
enable('Body','Head')
handle_equipping_gear(player.status)
end
end
-------------------------------------------------Sentinel rule's---------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock ('Feet') for Sentinel.
if not spell.interrupted then
if spell.english == 'Sentinel' then
enable('Feet')
equip(sets.buff['Sentinel'])
disable('Feet')
end
end
end
function job_buff_change(buff, gain)
-- Unlock ('Feet') when Cover buff is lost.
if buff == "Sentinel" and not gain then
enable('Feet')
handle_equipping_gear(player.status)
end
end
so if i understood well i need to put all in one fonction to avoid repetition problem of "function job_buff_change(buff, gain")?
and i need to put "end" of each "if" or "elseif" i open
like this : Code function job_buff_change(buff, gain)
if buff == "Doom" then
elseif buff == "cover" then
elseif buff == "rampart" then
elseif buff == "sentinel" then
if gain then
equip(sets.buff.Doom)
equip(sets.buff.cover)
equip(sets.buff.Drampartom)
equip(sets.buff.sentinel)
end
end
end
end
end
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-14 16:09:15
Carbuncle.Akivatoo said: »i just tried the modified version, doom is detected and equip change correctly ( but with no lock so it's was removed as soon you do anything and not unlocked by the doom off) Whoops, forgot to put a lock in. I was testing it with no other gear so it never changed for me. http://pastebin.com/wBQXf6gP fixed in the link. Carbuncle.Akivatoo said: »so if i understood well i need to put all in one fonction to avoid repetition problem of "function job_buff_change(buff, gain")?
and i need to put "end" of each "if" or "elseif" i open You have the right idea, but the wrong implementation. Anytime you start an "elseif" you have to put the command for it directly after, otherwise it won't execute. For things like Rampart and Sentinel, you only need the item on at the time of use, so having them on any other time is worthless.
Carbuncle.Akivatoo
Server: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2015-07-15 05:20:05
yeah don't blame me, i'm very interested to learn how to code for gearswap.
i greatly thank you yo your support and your explanation.
so doom now work like a charm (that gonna change my life)
- cover fonction don't hold equipment until cover off
- options.HybridDefenseModes = {'None', 'Charm', 'Reraise'} have deseapear
- How can i make "state.CastingMode:options('Normal','Noblink')"
in the "Noblink" casting mode gs didn't swap precast and midcast set to avoid take big damage during cast (i hope it's possible).
- why we don't include in each .lua file all content to avoid pick up external ressource like the "include('Mote-Include.lua')" ?
- one last question about the change you made on similar name equipement pices Code function init_gear_sets()
WeardMantle = {}
WeardMantle.Enmity = {name="Weard Mantle",augments={'VIT+2','Enmity+7','Phalanx +2',}}
WeardMantle.Phalanx = {name="Weard Mantle",augments={'VIT+5','DEX+3','"Phalanx"+5',}} i didn't catch why change that GS seem's pick the good one if you use the export fonction
i ask code-noob questions but i'm interest ^^
Server: Asura
Game: FFXI
Posts: 115
By Asura.Pintseyes 2015-07-15 07:21:47
Quick question.
Somehow my ring1 has become "defaulted" to Adoulin ring, for example, no matter what I put into a set other than precasting, ring1 will always be adoulin ring. I've looked through every mote, every sets function, I'm not seeing why this is happening? In fact searching all the lua files for Adoulin, all I'm finding is Towns, Idle. Nothing that has to do with this ring.
I'm not sure if this helps, it's also not even showing up as a /showswap, only reason I know it's happening is because it's always on ring1 no matter what any other function tells ring1 what to be, adoulin ring has slot priority?
Anyone happen to know why this is happening and/or where I can change it back to allowing my sets to define ring1?
Sorry lots of text for a quick question lol. As always, your time and effort is much appreciated.
Cerberus.Tidis
Server: Cerberus
Game: FFXI
Posts: 3927
By Cerberus.Tidis 2015-07-15 08:10:30
Post your gearswap file or no one is going to be able to help.
Server: Asura
Game: FFXI
Posts: 115
By Asura.Pintseyes 2015-07-15 09:44:37
Post your gearswap file or no one is going to be able to help.
Really, which lua would you like? My blm lua where this is NOT entered in the sets as i stated.. Would you like me to post every lua and mote?
This is a global effect. NO it's not in the globals.lua either. This should not be something in my jobs.lua files as, like I stated, I've searched those and it's not in them.
If it's really necessary I'll post whatever is needed. Thing is, this seems pretty obvious to someone that understands how the motes work. That person is obviously not me. Again just so it's clear, THIS function is NOT in my job.lua files. It IS effecting every job. It is NOT in my globals.lua. What should I post?
Blm.lua
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
-- 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()
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant', 'Proc')
state.IdleMode:options('Normal', 'PDT')
state.MagicBurst = M(false, 'Magic Burst')
lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
-- Additional local binds
send_command('bind input /ma Stun <t>')
send_command('bind @` gs c activate MagicBurst')
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind @`')
end
function init_gear_sets()
sets.precast.JA.Manafont = {body="Arch. Coat"}
sets.precast.JA['Mana Wall'] = {feet="Wicce Sabots +1"}
-- equip to maximize HP (for Tarus) and minimize MP loss before using convert
sets.precast.JA.Convert = {ear1="Ethereal Earring"}
sets.precast.AMII = {hands ="Archmage's Gloves +1"}
sets.precast.FC = {main="Keraunos",
sub="Elder's Grip +1",
ammo="Impatiens",
head="Haruspex Hat",
neck="Imbodla Necklace",
ear1="Moonshade Earring",
ear2="Loquacious Earring",
body="Wicce Coat +1",
hands="Repartie Gloves",
ring2="Fenrir Ring +1",
waist="Witful Belt",
back="Ogapepo Cape",
legs="Orvail Pants +1",
feet="Chelona Boots"}
sets.precast.WS['Myrkr'] = {
ammo="Kalboron Stone",
head="Orvail Corona +1",
left_ear="Moonshade Earring",
right_ear="Loquac. Earring",
body="Wicce Coat +1",
hands="Otomi Gloves",
ring1="Adoulin Ring",
ring2="Fenrir Ring +1",
waist="Fucho-no-obi",
legs="Wicce Chausses +1",
feet="Archmage's Sabots +1",
back="Bane Cape"}
---------------------- Midcast Sets ------------------------
-- Elemental Magic sets
sets.midcast['Elemental Magic'] =
{ammo="Dosis Tathlum",
head="Hagondes Hat +1",
neck="Deviant Necklace",
ear1="Hecate's Earring",
ear2="Friomisi Earring",
body="Spaekona's Coat +1",
hands="Wicce Gloves +1",
ring2="Fenrir Ring +1",
waist="Aswang Sash",
legs="Hagondes Pants +1",
feet="Helios Boots",
back="Bane Cape"}
sets.midcast.AMII = {head="Arch. Petasos +1",feet="Arch. Sabots +1"}
sets.midcast.cure =
{head="Telchine Cap",
hands="Telchine Gloves",
neck="Deviant Necklace",
body="Telchine Chasuble",
legs="Nares Trews",
feet="Telchine Pigaches",
back="Pahtli Cape"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast['Enhancing Magic'] =
{head="Telchine Cap",
ear1="Gwati Earring",
ear2="Lifestorm Earring",
body="Telchine Chasuble",
hands="Telchine Gloves",
ring2="Sheltered Ring",
waist="Aswang Sash",
legs="Wicce Chausses +1",
back="Pahtli Cape"}
sets.midcast.Stoneskin =
{sub="Elder's Grip +1",
ammo="Kalboron Stone",
head="Hagondes Hat +1",
neck="Imbodla Necklace",
ear1="Gwati Earring",
ear2="Lifestorm Earring",
body="Wicce Coat +1",
hands="Wicce Gloves +1",
ring2="Fenrir Ring +1",
waist="Aswang Sash",
legs="Wicce Chausses +1",
feet="Archmage's Sabots +1",
back="Pahtli Cape"}
sets.midcast['Enfeebling Magic'] =
{sub="Elder's Grip +1",
ammo="Kalboron Stone",
head="Telchine Cap",
neck="Imbodla Necklace",
ear1="Gwati Earring",
ear2="Lifestorm Earring",
body="Wicce Coat +1",
hands="Hagondes cuffs +1",
ring2="Fenrir Ring +1",
waist="Aswang Sash",
legs="Wicce Chausses +1",
feet="Archmage's Sabots +1"}
sets.midcast.ElementalEnfeeble =
{sub="Elder's Grip +1",
ammo="Kalboron Stone",
head="Arch. Petasos +1",
neck="Imbodla Necklace",
ear1="Gwati Earring",
ear2="Lifestorm Earring",
ear1="Hecate's Earring",
body="Wicce Coat +1",
hands="Hagondes cuffs +1",
ring2="Fenrir Ring +1",
waist="Aswang Sash",
legs="Wicce Chausses +1",
feet="Archmage's Sabots +1",
back="Bane Cape"}
sets.midcast['Dark Magic'] =
{sub="Elder's Grip +1",
ammo="Kalboron Stone",
head="Telchine Cap",
neck="Dark Torque",
ear1="Gwati Earring",
body="Wicce Coat +1",
waist="Aswang Sash",
legs="Wicce Chausses +1",
hands="Hagondes cuffs +1",
feet="Wicce Sabots +1"}
sets.midcast.Drain =
{sub="Elder's Grip +1",
ammo="Kalboron Stone",
head="Striga Crown",
ear1="Gwati Earring",
neck="Dark Torque",
body="Wicce Coat +1",
ring2="Fenrir Ring +1",
waist="Fucho-no-Obi",
hands="Hagondes cuffs +1",
legs="Wicce Chausses +1",
feet="Wicce Sabots +1"}
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Stun = sets.midcast.Drain
-- Resting sets
sets.resting =
{main="Boonwell Staff",
sub="Elder's Grip +1",
ammo="Kalboron Stone",
head="Orvail Corona +1",
neck="Eidolon Pendant",
ear1="Hecate's Earring",
ear2="Relaxing Earring",
body="Hagondes Coat +1",
hands="Tethyan Cuffs +1",
ring1="Angha Ring",
ring2="Fenrir Ring +1",
back="Vita Cape",
waist="Fucho-no-obi",
legs="Nares Trews",
feet="Chelona Boots"}
-- Idle sets
sets.latent_refresh = {body="Wicce Coat +1",legs="Nares Trews",waist="Fucho-no-obi"}
-- Normal refresh idle set
sets.aftercast = {ammo="Kalboron Stone",
head="Orvail Corona +1",
left_ear="Moonshade Earring",
right_ear="Loquac. Earring",
body="Wicce Coat +1",
hands="Otomi Gloves",
ring2="Fenrir Ring +1",
waist="Fucho-no-obi",
legs="Tatsu. Sitagoromo",
feet="Herald's Gaiters",
back="Bane Cape"}
sets.idle = {ammo="Kalboron Stone",
head="Orvail Corona +1",
left_ear="Moonshade Earring",
right_ear="Loquac. Earring",
body="Wicce Coat +1",
hands="Otomi Gloves",
ring2="Fenrir Ring +1",
waist="Fucho-no-Obi",
legs="Tatsu. Sitagoromo",
feet="Herald's Gaiters",
back="Bane Cape"}
sets.Obi = {}
sets.Obi.Thunder = {ring2="Zodiac Ring", back="Twilight Cape", waist='Rairin Obi'}
sets.Obi.Fire = {ring2="Zodiac Ring", back="Twilight Cape", waist='Karin Obi'}
sets.Obi.Ice = {ring2="Zodiac Ring", back="Twilight Cape", waist='Hyorin Obi'}
sets.Obi.Wind = {ring2="Zodiac Ring", back="Twilight Cape", waist='Furin Obi'}
sets.Obi.Water = {ring2="Zodiac Ring", back="Twilight Cape"}
sets.Obi.Earth = {ring2="Zodiac Ring", back="Twilight Cape"}
sets.magic_burst = {hands="Archmage's Gloves +1",ring2="Locus Ring"}
sets.buff['Mana Wall'] = {feet="Wicce Sabots +1"}
sets.buff.Manafont = {body="Wicce Coat +1"}
-- Normal melee group
sets.engaged =
{head="Hagondes Hat +1",
neck="Asperity Necklace",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Hagondes Coat +1",
back="Blithe Mantle",
body="Hagondes Coat +1",
hands="Otomi Gloves",
waist="Cetl Belt",
ring2="Yacuruna Ring",
legs="Wicce Chausses +1",
feet="Archmage's Sabots +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
end
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Elemental Magic' then
if state.MagicBurst.value then
equip(sets.magic_burst)
end
if spell.element == world.day_element or spell.element == world.weather_element then
equip(sets.midcast['Elemental Magic'], sets.Obi[spell.element])
end
end
end
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock feet after using Mana Wall.
if not spell.interrupted then
if spell.english == 'Mana Wall' then
enable('feet')
equip(sets.buff['Mana Wall'])
disable('feet')
elseif buff == "Manafont" then
enable('body')
equip(sets.buff.Manafont)
disable('body')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
function job_buff_change(buff, gain)
if buff == "Mana Wall" and not gain then
enable('feet')
handle_equipping_gear(player.status)
elseif buff == "Manafont" and not gain then
enable('body')
handle_equipping_gear(player.status)
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Normal' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
end
end
-- Modify the default idle set after it was constructed.
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(1, 1)
end
Globals -------------------------------------------------------------------------------------------------------------------
-- An example of setting up user-specific global handling of certain events.
-- This is for personal globals, as opposed to library globals.
-------------------------------------------------------------------------------------------------------------------
-- Global intercept on midcast.
function aftercast(spell)
if player.status == 'Idle' then
equip_idle_set()
elseif sets.aftercast[player.status] then
equip(sets.aftercast[player.status],sets.aftercast)
else
equip(sets.Idle,sets.aftercast)
end
end
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-------------------------------------------------------------------------------------------------------------------
-- Test function to use to avoid modifying library files.
-------------------------------------------------------------------------------------------------------------------
function user_test(params)
end
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-15 11:16:54
Really, which lua would you like? My blm lua where this is NOT entered in the sets as i stated.. Would you like me to post every lua and mote?
This is a global effect. NO it's not in the globals.lua either. This should not be something in my jobs.lua files as, like I stated, I've searched those and it's not in them.
If it's really necessary I'll post whatever is needed. Thing is, this seems pretty obvious to someone that understands how the motes work. That person is obviously not me. Again just so it's clear, THIS function is NOT in my job.lua files. It IS effecting every job. It is NOT in my globals.lua. What should I post? Turn on debug mode (gs debugmode) and show swaps (gs showswaps) and post screenshots. Right now, that will probably help more than any lua.
Server: Asura
Game: FFXI
Posts: 115
By Asura.Pintseyes 2015-07-17 00:23:36
Turn on debug mode (gs debugmode) and show swaps (gs showswaps) and post screenshots. Right now, that will probably help more than any lua.
Here ya go.
http://s23.postimg.org/cwa06k497/img_20150716_221713.png
What's debugmode for besides showing phases in showswaps? Did it happen to create a output file we can view or was that it's whole effect?
Lookin at the picture I just noticed that neither ring1 or 2 is showing in showswaps. I can verify ring2 does change when I set it in sets.. Ring1 stays locked and will not change no matter what sets has defined. <--- Upon looking at my lua you may see that, geez stupid guy you dont have anything set in sets to change ring1.. Ya I took them all out when I realized they had no gs effect. I didnt know or want it to create some kind of laggy conflict or errors, so I removed ring1 all together.
Thanks for your time
Lakshmi.Byrth
VIP
Server: Lakshmi
Game: FFXI
Posts: 6184
By Lakshmi.Byrth 2015-07-17 08:15:37
Debugmode enables //gs eval "code" and causes some debug messages, but it's mostly for people that are actually debugging gearswap.
Overall, I'd guess that you're having a disable issue.
Server: Asura
Game: FFXI
Posts: 115
By Asura.Pintseyes 2015-07-17 13:44:09
Debugmode enables //gs eval "code" and causes some debug messages, but it's mostly for people that are actually debugging gearswap.
Overall, I'd guess that you're having a disable issue.
Ahh ok, so debugmode isnt very effective for a user then. Just a simple text output.
Could you elaborate a little on the disable? If I had to think I caused this I would think I edited a mote like modes or something and seen a default ring and added mine. Thing is, I've opened all the lua's in the core folder, rev1,libs, my data folder,its rev1.. Using NP++ to search every lua and I don't see this ring listed anywhere, the only hits I get is for town/idle sets.
It will precast though or it's just stuck enabled and never swapping.
Being this isn't within my lua, likewise I don't recall editing any of the motes other than to change them to username.lua, so would simply removing my data folder and reinstalling motes fix this you think or even just removing gs as a whole and reinstalling it and motes then moving my data folder back? Sorry for the obvious question of a fix, I'm not sure what or where a disable would be to say if that would work.
Thanks for your time.
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-17 14:20:31
Debugmode enables //gs eval "code" and causes some debug messages, but it's mostly for people that are actually debugging gearswap.
Overall, I'd guess that you're having a disable issue.
Ahh ok, so debugmode isnt very effective for a user then. Just a simple text output.
Could you elaborate a little on the disable? If I had to think I caused this I would think I edited a mote like modes or something and seen a default ring and added mine. Thing is, I've opened all the lua's in the core folder, rev1,libs, my data folder,its rev1.. Using NP++ to search every lua and I don't see this ring listed anywhere, the only hits I get is for town/idle sets.
It will precast though or it's just stuck enabled and never swapping.
Being this isn't within my lua, likewise I don't recall editing any of the motes other than to change them to username.lua, so would simply removing my data folder and reinstalling motes fix this you think or even just removing gs as a whole and reinstalling it and motes then moving my data folder back? Sorry for the obvious question of a fix, I'm not sure what or where a disable would be to say if that would work.
Thanks for your time. So, I just looked over your entire .lua and none of the sets have a ring1 slot, so GS has nothing it would ever change to. It has ring1="Adoulin Ring" in your sets.precast.WS['Myrkr'] set and nothing until sets.resting. I missed it too, but I almost guarantee that will fix your problem. If you put it back in at the very least precast & midcast for a spell, and idle than screencap showswaps, that might get us somewhere other than seeing GS do exactly what your posted file would tell it, which, in the case of ring1, was nothing.
Server: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2015-07-17 14:21:16
Debugmode enables //gs eval "code" and causes some debug messages, but it's mostly for people that are actually debugging gearswap.
Overall, I'd guess that you're having a disable issue. Main reason I wanted him to debugmode was to see exactly which sets were being called and what might have been triggering his ring.
Just looking for someone to explain this addon a bit for me. It looks like it is an alternative to Spellcast.
Is it going to be replacing Spellcast? In which ways is it better or worse. I don't know any programming but I've slowly learned more and more about spellcast and the 'language' used in gearswap is confusing to me.
It says it uses packets so it potentially could be more detectable? but does that also eliminate any lag that spellcast may encounter?
I plan on redoing my PUP xml to include pet casting sets thanks to the new addon petschool. I'm just not sure if it's worth it to just wait until gearswap gets more popular or to go ahead and do it in spellcast.
If anyone could give me more info I'd greatly appreciate it.
|
|