|
Gearswap Support Thread
By Boshi 2017-12-07 15:49:59
Has anybody figured out a way to toggle in a stp set when using wings
Quetzalcoatl.Windowpane
サーバ: Quetzalcoatl
Game: FFXI
Posts: 12
By Quetzalcoatl.Windowpane 2017-12-07 18:10:46
Can someone explain why this is not locking my gear? I combined the WHM thread lua with some code I found to lock gear slots for Aptitude Mantle, rings, etc. but it does nothing. I cannot decipher this stuff well.
Code -------------------------------------------------------------------------------------------------------------------
-- 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')
include('organizer-lib')
include('Windowpane_custom_functions.lua')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT','MDT','Encumberance')
state.PhysicalDefenseMode:options('PDT') --'Shield'
--get_current_strategem_count()
select_default_macro_book()
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
function user_setup()
send_command('@wait 6;input /ignoretrust on')
send_command('@wait 15;input /lockstyleset 1')
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_unload()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Fast cast sets for spells
sets.precast.FC = {
main="Chatoyant Staff",
sub="Clerisy Strap",
ammo="Impatiens",
head="",
body="Inyanga Jubbah",
hands="Magavan Mitts",
legs="",
feet="Teal Pigaches",
neck="Orison Locket",
waist="Witful Belt",
left_ear="Enchanter Earring +1",
right_ear="Loquac. Earring",
left_ring="",
right_ring="Prolix Ring",
back="Swith Cape"
}
sets.precast.FC.Trust = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="Impatiens",
head="Piety Cap +1",
body="Piety Briault +1",
hands="Piety Mitts +1",
legs="Piety Pantaloons +1",
feet="Piety Duckbills +1",
neck="Orison Locket",
waist="Witful Belt",
left_ear="Enchanter Earring +1",
right_ear="Loquac. Earring",
left_ring="",
right_ring="Prolix Ring",
back="Swith Cape"
}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {})
sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {})
sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {body="",legs="Ebers Pantaloons +1"})
sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="",
head="Piety Cap +1",
body="",
hands="",
legs="Ebers Pantaloons +1",
feet="Cure Clogs",
neck="Aceso's Choker",
waist="",
left_ear="",
right_ear="",
left_ring="",
right_ring="",
back=""
})
sets.precast.FC.Impact = {head=empty,body="Twilight Cloak"}
sets.precast.FC.Curaga = sets.precast.FC.Cure
sets.precast.FC.CureSolace = sets.precast.FC.Cure
-- CureMelee spell map should default back to Healing Magic.
-- Precast sets to enhance JAs
sets.precast.JA.Benediction = {body="Piety Briault +1"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {}
-- Midcast Sets
sets.midcast.FastRecast = {
main="Chatoyant Staff",
sub="Clerisy Strap",
ammo="Impatiens",
head="Piety Cap +1",
body="Inyanga Jubbah",
hands="Magavan Mitts",
legs="Ebers Pantaloons +1",
feet="Battlecast Gaiters",
neck="Orison Locket",
waist="Witful Belt",
left_ear="Enchanter Earring +1",
right_ear="Loquac. Earring",
left_ring="",
right_ring="Prolix Ring",
back="Swith Cape"
}
------------ Cure sets-------------------
sets.midcast.CureWithLightWeather = set_combine(sets.midcast.Cure, {
main="Chatoyant Staff", sub="Curation Grip", back="Twilight Cape", waist="Korin Obi",
})
sets.midcast.CureSolace = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="Impatiens",
head="Ebers Cap",
body="Theophany Briault +1",
hands="Weatherspoon Cuffs",
legs="Ebers Pantaloons +1",
feet="Piety Duckbills +1",
neck="",
waist="Witful Belt",
left_ear="Orison Earring",
right_ear="Roundel Earring",
left_ring="Aqua Ring",
right_ring="Prolix Ring",
back="Oretania's Cape"
}
sets.midcast.Cure = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="Impatiens",
head="Ebers Cap",
body="Theophany Briault +1",
hands="Weatherspoon Cuffs",
legs="Ebers Pantaloons +1",
feet="Piety Duckbills +1",
neck="",
waist="Witful Belt",
left_ear="Orison Earring",
right_ear="Roundel Earring",
left_ring="Aqua Ring",
right_ring="Prolix Ring",
back="Oretania's Cape"
}
sets.midcast.Curaga = set_combine(sets.midcast.Cure,{
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="Impatiens",
head="Theophany Cap +1",
body="Vanir Cotehardie",
hands="Theophany Mitts +1",
legs="Ebers Pantaloons +1",
feet="Theophany Duckbills +1",
neck="Nuna Gorget +1",
waist="Cleric's Belt",
left_ear="Aredan Earring",
right_ear="Roundel Earring",
left_ring="Aqua Ring",
right_ring="Perception Ring",
back="Alaunus's Cape"
})
sets.midcast.CureMelee = {
head="Ebers Cap",
body="Theophany Briault +1",
hands="Weatherspoon Cuffs",
legs="Ebers Pantaloons +1",
feet="Piety Duckbills +1",
neck="",
waist="Witful Belt",
left_ear="Orison Earring",
right_ear="Roundel Earring",
left_ring="Aqua Ring",
right_ring="Prolix Ring",
back="Oretania's Cape"
}
sets.midcast.Cursna = {
main="",
sub="",
neck="Malison Medallion",
head="",
ear1="",
ear2="",
body="Ebers Bliaud +1",
hands="",
ring1="",
ring2="",
back="Alaunus's Cape",
waist="",
legs="Theophany Pantaloons +1",
feet="Gendewitha Galoshes"
}
sets.midcast.Cursna.Accession = set_combine(sets.midcast.Cursna,{
main="",
})
sets.midcast.Doom = set_combine(sets.midcast.Cursna,{
main="",
head="Ebers Cap",
})
sets.midcast.Yagdoom = set_combine(sets.midcast.Cursna,{
sub="",
})
sets.midcast.Arise = set_combine(sets.midcast.FastRecast,{
neck="",
})
sets.midcast.StatusRemoval = set_combine(sets.midcast.FastRecast,{
main="",
})
--------------ENHANCING AND SUCH---------------------
sets.midcast['Enhancing Magic'] = {
main="Beneficus",
sub="Sors Shield",
ammo="",
head="",
body="",
hands="",
legs="Piety Pantaloons +1",
feet="Ebers Duckbills +1",
neck="",
waist="Cascade Belt",
left_ear="",
right_ear="",
left_ring="",
right_ring="",
back=""
}
sets.midcast.Haste = set_combine(sets.midcast['Enhancing Magic'],{})
sets.midcast.Storm = sets.midcast['Enhancing Magic']
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'],{
main="",
head="",
waist="",
legs="",
})
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{
neck="",
legs="",
lear="",
waist="Siegel Sash"
})
sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'],{})
sets.midcast.Auspice = set_combine(sets.midcast['Enhancing Magic'],{feet="Ebers Duckbills +1"})
sets.midcast.BarElement = {
main="Beneficus",
sub="Sors Shield",
head="Ebers Cap",
neck="",
ear1="",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="",
ring2="",
back="Alaunus's Cape",
waist="",
legs="Piety Pantaloons +1",
feet="Ebers Duckbills +1"
}
sets.midcast.BarStatus = set_combine(sets.midcast['Enhancing Magic'],{})
sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
main="",
head="",
body="Piety Briault +1",
hands="Ebers Mitts",
legs="Theophany Pantaloons +1",
feet=""
})
sets.midcast.Protectra = set_combine(sets.midcast['Enhancing Magic'], {
feet="Piety Duckbills +1"
})
sets.midcast.Shellra = set_combine(sets.midcast['Enhancing Magic'], {
legs="Piety Pantaloons +1"
})
sets.midcast.Dia = set_combine(sets.midcast.MndEnfeebles, {
waist=""
})
sets.midcast['Divine Magic'] = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="",
head="",
neck="Erra Pendant",
ear1="Enchanter Earring +1",
ear2="Aredan Earring",
ring1="",
ring2="Perception Ring",
body="Inyanga Jubbah",
hands="Piety Mitts +1",
back="Alaunus's Cape",
waist="",
legs="Theophany Pantaloons +1",
feet=""
}
sets.midcast['Dark Magic'] = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="",
head="",
neck="Erra Pendant",
ear1="Enchanter Earring +1",
ear2="Aredan Earring",
ring1="",
ring2="Perception Ring",
body="Inyanga Jubbah",
hands="Magavan Mitts",
back="Alaunus's Cape",
waist="",
legs="",
feet=""
}
-- Custom spell classes
sets.midcast.MndEnfeebles = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="",
head="",
neck="Enfeebling Torque",
ear1="Enchanter Earring +1",
ear2="Aredan Earring",
ring1="",
ring2="Perception Ring",
body="Inyanga Jubbah",
hands="Magavan Mitts",
back="Alaunus's Cape",
waist="",
legs="",
feet=""
}
sets.midcast.IntEnfeebles = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="",
head="",
neck="Enfeebling Torque",
ear1="Enchanter Earring +1",
ear2="Aredan Earring",
ring1="",
ring2="Perception Ring",
body="Inyanga Jubbah",
hands="Magavan Mitts",
back="Alaunus's Cape",
waist="",
legs="",
feet=""
}
sets.midcast.Impact = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Sors Shield",
ammo="",
head="",
neck="Erra Pendant",
ear1="Enchanter Earring +1",
ear2="Aredan Earring",
ring1="",
ring2="Perception Ring",
body="Twilight Cloak",
hands="Magavan Mitts",
back="Alaunus's Cape",
waist="",
legs="",
feet="",}
-- Sets to return to when not performing an action.
-- Resting set
sets.resting = set_combine(sets.Idle,{})
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Serpentes Cuffs",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
}
sets.idle.PDT = set_combine(sets.Idle,{
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
})
sets.idle.MDT = set_combine(sets.Idle,{
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
})
sets.idle.Encumberance = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
}
sets.idle.Town = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
}
sets.idle.Weak = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
}
-- Defense sets
sets.defense.PDT = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
}
--sets.defense.Shield = {
-- main="Mafic cudgel", -- 10% PDT;
-- sub="Genmei shield", -- 10% PDT; Block +6; Counter +4
-- ammo="Brigantia pebble",
-- head=gear.chirhead_block, -- 2% MDT; Block +3
-- neck="Loricate torque +1", -- 6% DT
-- ear1="Thureous earring", -- Block +2
-- ear2="Genmei earring", -- 2% PDT; Counter +1
-- body="Vrikodara jupon", -- 3% PDT
-- hands=gear.chirhands_block, -- Block +4
-- ring1="Defending Ring", -- 10% DT
-- ring2="Dark Ring", -- 5% PDT; 4% MDT
-- back="Moonlight Cape", -- 4% DT
-- waist="Slipor sash", -- 3% MDT
-- legs=gear.chirlegs_block, -- Block +3
-- feet=gear.chirfeet_block -- 2% PDT; Block +4
-- }
sets.defense.MDT = {
main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
sub="Genbu's Shield",
ammo="",
neck="Twilight Torque",
ear1="",
ear2="",
head="Piety Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts",
ring1="Defending Ring",
ring2="",
back="Shadow Mantle",
waist="",
legs="Ebers Pantaloons +1",
feet="Crier's Gaiters"
}
sets.Kiting = {feet="Crier's gaiters"}
sets.latent_refresh = {
hands="Serpentes Cuffs",
feet="Serpentes Sabots"
}
-- Engaged sets
-- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
-- sets if more refined versions aren't defined.
-- If you create a set with both offense and defense modes, the offense mode should be first.
-- EG: sets.engaged.Dagger.Accuracy.Evasion
-- Basic set for if no TP weapon is defined.
sets.engaged = {
main="Sindri",
sub={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
ammo="Cheruski Needle",
neck="Twilight Torque",
ear1="Mache Earring",
ear2="Brutal Earring",
head="Espial Cap",
body="Espial Gambison",
hands="Espial Bracers",
ring1="Rajas Ring",
ring2="Enlivened Ring",
back="Alaunus's Cape",
waist="Witful Belt",
legs="Espial Hose",
feet="Battlecast Gaiters"
}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = set_combine(sets.engaged,{
neck="Fotia Gorget",
ear2="Moonshade Earring",
waist="Fotia Belt",
})
-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
sets.buff['Divine Caress'] = {hands="Ebers mitts +1",back=""}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific pretarget
-------------------------------------------------------------------------------------------------------------------
function pretarget(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
eventArgs.cancel = true
send_command('input /item "Echo Drops" <me>')
end
if spell.name == 'Impact' then
equip(sets.precast.FC.Impact)
eventArgs.handled = true
end
end
Cures = S{'Cure','Cure II','Cure III','Cure IV','Cure V','Cure VI'}
Curagas = S{'Curaga','Curaga II','Curaga III','Curaga IV','Curaga V','Cura','Cura II','Cura III'}
Lyna = S{'Paralyna','Silena','Viruna','Erase','Stona','Blindna','Poisona'}
Barspells = S{'Barfira','Barfire','Barwater','Barwatera','Barstone','Barstonra','Baraero','Baraera','Barblizzara','Barblizzard','Barthunder','Barthundra'}
Turtle = S{'Protectra V','Shellra V'}
Cursna = S{'Cursna'}
Regens = S{'Regen','Regen II','Regen III','Regen IV','Regen V'}
Enhanced = S{'Flurry','Haste','Refresh'}
Banished = S{'Banish','Banish II','Banish III','Banishga','Banishga II'}
Smited = S{'Holy','Holy II'}
Reposed = S{'Repose','Flash'}
Potency = S{'Slow','Paralyze'}
Defense = S{'Stoneskin'}
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if spell.english == "Impact" then
equip(sets.precast.FC,sets.precast.FC.Impact)
end
end
function job_precast(spell, action, spellMap, eventArgs)
if spell.skill == "Trust Magic" then
equip(sets.precast.FC.Trust)
end
end
function job_handle_equipping_gear(playerStatus, eventArgs) -- Lock Equipment Here --
if player.equipment.left_ring == "Warp Ring" or player.equipment.right_ring == "Warp Ring" or player.equipment.left_ring == "Capacity Ring" or player.equipment.right_ring == "Capacity Ring" or player.equipment.left_ring == "Trizek Ring" or player.equipment.right_ring == "Trizek Ring" or player.equipment.left_ring == "Dimensional Ring (Dem)" or player.equipment.right_ring == "Dimensional Ring (Dem)" or player.equipment.left_ring == "Dimensional Ring (Mea)" or player.equipment.right_ring == "Dimensional Ring (Mea)" or player.equipment.left_ring == "Echad Ring" or player.equipment.right_ring == "Echad Ring" or player.equipment.left_ring == "Emperor Band" or player.equipment.right_ring == "Emperor Band" or player.equipment.left_ring == "Reraise Ring" or player.equipment.right_ring == "Reraise Ring" or player.equipment.left_ring == "Tavnazian Ring" or player.equipment.right_ring == "Tavnazian Ring" or player.equipment.left_ring == "Olduum Ring" or player.equipment.right_ring == "Olduum Ring" or player.equipment.left_ring == "Caliber Ring" or player.equipment.right_ring == "Caliber Ring" or player.equipment.left_ring == "Facility Ring" or player.equipment.right_ring == "Facility Ring" then
disable('ring1','ring2')
elseif player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Aptitude Mantle +1" or player.equipment.back == "Aptitude Mantle" then
disable('back')
elseif player.equipment.left_ear == "Terminus Earring" or player.equipment.right_ear == "Terminus Earring" or player.equipment.left_ear == "Liminus Earring" or player.equipment.right_ear == "Liminus Earring" then disable('ear1','ear2')
else
enable('ring1','ring2','back','ear1','ear2')
end
end
function job_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Healing Magic' then
if Cures:contains(spell.name) then
if world.day =='Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm' then
equip(sets.midcast.CureWithLightWeather)
elseif buffactive['Afflatus Solace'] then
equip(sets.midcast.CureSolace)
end
end
if Curagas:contains(spell.name) then
if world.day =='Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm' then
equip(sets.midcast.CureWithLightWeather)
else
equip(sets.midcast.Curaga)
end
end
end
end
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
if spell.english == 'Cursna' then
equip(check_player_for_doom(spell.target.name))
end
end
if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
equip(sets.buff['Divine Caress'])
end
end
party_buffs = {}
function party_buff_change(party_member,name,gain,buff)
if name == 'doom' and gain then
party_buffs[party_member.name] = name
elseif name == 'doom' and gain == false then
if table.containskey(party_buffs, party_member.name) then
party_buffs[party_member.name] = nil
end
end
end
function check_player_for_doom(target)
if table.containskey(party_buffs, target) then
if player.sub_job == "DNC" or player.sub_job == "NIN" then
return sets.midcast.Yagdoom
elseif buffactive.Accession then
return sets.midcast.Cursna.Accession
else
return sets.midcast.Doom
end
else
return sets.midcast.Cursna
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
return "CureMelee"
elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
return "CureSolace"
elseif default_spell_map == 'BarStatus' then
return "BarStatus"
elseif (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and (world.day == 'Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm') then
return "CureWithLightWeather"
elseif spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- 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()
-- Default macro set/book
set_macro_page(1, 1)
end
By Archaide 2017-12-07 23:36:34
I'm really new to gearswap and am having trouble with my warrior lua, everything works great except my moonshade earring swap function, can anyone see whats going on with it?
line 1018 is the function, ive tried putting other earrings in the sets instead of moonshade ive changed the tp<2950 to tp>2950, and I cant think of anything else.
Code -- Initialization function for this job file.
function get_sets()
mote_include_version = 2
include('Mote-Include.lua')
end
-- //gs debugmode
-- //gs showswaps
function binds_on_load()
-- F9-F12
send_command('bind f9 gs c cycle OffenseMode')
send_command('bind f10 gs c cycle HybridMode')
send_command('bind f11 gs c cycle CastingMode')
send_command('bind f12 gs c update user')
-- CTRL F9-F12
send_command('bind ^q gs c mainweapon')
send_command('bind ^f9 gs c cycle WeaponskillMode')
-- ALT F9-12
send_command('bind !f9 gs c cycle IdleMode')
send_command('bind !f10 gs c cycle RangedMode')
send_command('bind !f12 gs c cycle Kiting')
end
function job_setup()
state.mainweapon = M{['description'] = 'Main Weapon'}
--state.mainweapon:options('HepatizonAxe','Ragnarok','Barbarity','HepatizonSapara')
state.mainweapon:options('HepatizonAxe','Ragnarok','Barbarity','HepatizonSapara')
end
function user_setup()
-- Options: Override default values
state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc')
state.WeaponskillMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'PDT')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal','PDT')
state.PhysicalDefenseMode:options('PDT', 'MDT')
HepatizonAxe_weapons = S{'Hepatizon Axe +1'}
Rag_weapons = S{'Ragnarok'}
Shield_weapons = S{'Blurred Shield'}
update_combat_form()
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
end
sets.mainweapon = {}
sets.mainweapon.HepatizonAxe = {
main="Hepatizon Axe +1",
sub="Utu Grip",
}
sets.mainweapon.BlurredAxe = {
main="Barbarity",
sub="Blurred Shield",
}
sets.mainweapon.BlurredSword = {
main="Hepatizon Sapara +1",
sub="Blurred Shield",
}
sets.mainweapon = {}
sets.mainweapon.Ragnarok = {
main="Ragnarok",
sub="Utu Grip",
}
-- Define sets and vars used by this job file.
function init_gear_sets()
-- Precast sets
sets.precast.JA['Berserk'] = {
body="Pumm. Lorica +3",
feet={ name="Agoge Calligae +1", augments={'Enhances "Tomahawk" effect',}},
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.precast.JA['Warcry'] = {
head={ name="Agoge Mask +1", augments={'Enhances "Savagery" effect',}},}
sets.precast.JA['Aggressor'] = {
head="Pummeler's Mask +3",
body={ name="Agoge Lorica +1", augments={'Enhances "Aggressive Aim" effect',}},}
sets.precast.JA['Blood Rage'] = {
body="Boii Lorica +1",}
sets.precast.JA['Retaliation'] = {
feet="Boii Calligae +1",
hands="Pummeler's Mufflers +3"}
sets.precast.JA['Restraint'] = {
hands="Boii Mufflers +1",}
sets.precast.JA['Mighty Strikes'] = {
hands="Agoge Mufflers +1"}
sets.precast.JA["Warrior's Charge"] = {
legs={ name="Agoge Cuisses +1", augments={'Enhances "Warrior\'s Charge" effect',}},}
sets.precast.JA['Provoke'] = {
ammo="Staunch Tathlum",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
body={ name="Odyss. Chestplate", augments={'Accuracy+23','"Store TP"+7','STR+9','Attack+8',}},
hands="Pumm. Mufflers +3",
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Brutal Earring",
left_ring="Petrov Ring",
right_ring="Niqmaddu Ring",
back="Philidor Mantle",}
-- Fast cast sets for spells
sets.precast.FC = {
ammo="Sapience Orb",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
body={ name="Odyss. Chestplate", augments={'Accuracy+23','"Store TP"+7','STR+9','Attack+8',}},
hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
legs={ name="Founder's Hose", augments={'MND+10','Mag. Acc.+15','Attack+15','Breath dmg. taken -5%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Diemer Gorget",
waist="Gishdubar Sash",
left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring",
left_ring="Weather. Ring",
right_ring="Niqmaddu Ring",
back="Solemnity Cape",}
-- Midcast Sets
sets.midcast.FastRecast = {
body={ name="Odyss. Chestplate", augments={'Accuracy+7','"Fast Cast"+5',}},
legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
feet={ name="Odyssean Greaves", augments={'Accuracy+7 Attack+7','"Fast Cast"+3','Accuracy+12','Attack+11',}},
right_ear="Loquac. Earring",}
sets.midcast.Flash = {
ammo="Staunch Tathlum",
head="Pummeler's Mask +3",
body={ name="Souveran Cuirass", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
hands="Macabre Gaunt. +1",
legs={ name="Souveran Diechlings", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
feet={ name="Eschite Greaves", augments={'HP+80','Enmity+7','Phys. dmg. taken -4',}},
neck="Diemer Gorget",
waist="Nierenschutz",
left_ear="Friomisi Earring",
right_ear="Loquacious Earring",
left_ring="Apeile Ring",
right_ring="Apeile Ring +1",
back="Philidor Mantle",}
-- Resting sets
sets.resting = {}
-- Idle sets
sets.idle = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.idle.PDT = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.idle.Town = {
ammo="Ginsen",
head="Pummeler's Mask +3",
body="Pumm. Lorica +3",
hands="Pumm. Mufflers +3",
legs="Pumm. Cuisses +3",
feet="Hermes' Sandals",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Dim. Ring (Dem)",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.idle.Weak = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back="Moonbeam Cape",}
--Engaged Hepatizon Axe +1
sets.engaged.HepatizonAxe = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.HepatizonAxe.PDT = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.HepatizonAxe.LowAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.HepatizonAxe.LowAcc.PDT = sets.engaged.HepatizonAxe.PDT
sets.engaged.HepatizonAxe.MidAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.HepatizonAxe.MidAcc.PDT = {}
sets.engaged.HepatizonAxe.HighAcc = {
ammo="Seeth. Bomblet +1",
head="Pummeler's Mask +3",
body="Pumm. Lorica +3",
hands="Pumm. Mufflers +3",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Sanctity Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Zennaroi Earring",
left_ring="Regal Ring",
right_ring="Chirich Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.HepatizonAxe.HighAcc.PDT = sets.engaged.HepatizonAxe.MidAcc.PDT
--Engaged Ragnarok
sets.engaged.Ragnarok = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.Ragnarok.PDT = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.Ragnarok.LowAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.Ragnarok.LowAcc.PDT = sets.engaged.Ragnarok.PDT
sets.engaged.Ragnarok.MidAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.Ragnarok.MidAcc.PDT = {}
sets.engaged.Ragnarok.HighAcc = {
ammo="Seeth. Bomblet +1",
head="Pummeler's Mask +3",
body="Pumm. Lorica +3",
hands="Pumm. Mufflers +3",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Sanctity Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Zennaroi Earring",
left_ring="Regal Ring",
right_ring="Chirich Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.Ragnarok.HighAcc.PDT = sets.engaged.Ragnarok.MidAcc.PDT
-- Sword and Board Sets
sets.engaged.BlurredAxe = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredAxe.PDT = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredAxe.LowAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredAxe.LowAcc.PDT = sets.engaged.BlurredAxe.PDT
sets.engaged.BlurredAxe.MidAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredAxe.MidAcc.PDT = {}
sets.engaged.BlurredAxe.HighAcc = {
ammo="Seeth. Bomblet +1",
head="Pummeler's Mask +3",
body="Pumm. Lorica +3",
hands="Pumm. Mufflers +3",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Sanctity Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Zennaroi Earring",
left_ring="Regal Ring",
right_ring="Chirich Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredAxe.HighAcc.PDT = sets.engaged.BlurredAxe.MidAcc.PDT
sets.engaged.BlurredSword = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredSword.PDT = {
ammo="Ginsen",
head="Arke Zuchetto",
body="Arke Corazza",
hands="Sulev. Gauntlets +2",
legs="Arke Cosciales",
feet="Pumm. Calligae +3",
neck="Loricate Torque +1",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Regal Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredSword.LowAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredSword.LowAcc.PDT = sets.engaged.BlurredSword.PDT
sets.engaged.BlurredSword.MidAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+24 Attack+24','"Store TP"+6','STR+7','Accuracy+12',}},
hands="Sulev. Gauntlets +2",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Cessance Earring",
left_ring="Flamma Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredSword.MidAcc.PDT = {}
sets.engaged.BlurredSword.HighAcc = {
ammo="Seeth. Bomblet +1",
head="Pummeler's Mask +3",
body="Pumm. Lorica +3",
hands="Pumm. Mufflers +3",
legs="Pumm. Cuisses +3",
feet="Pumm. Calligae +3",
neck="Sanctity Necklace",
waist="Ioskeha Belt",
left_ear="Telos Earring",
right_ear="Zennaroi Earring",
left_ring="Regal Ring",
right_ring="Chirich Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
sets.engaged.BlurredSword.HighAcc.PDT = sets.engaged.BlurredSword.MidAcc.PDT
-- Weaponskill sets
sets.precast.WS = {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},})
sets.precast.WS['Fell Cleave'] = {
ammo="Knobkierrie",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body="Pumm. Lorica +3",
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Ishvara Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Fell Cleave'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Knobkierrie",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body="Pumm. Lorica +3",
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Ishvara Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},})
sets.precast.WS['Ukkos Fury'] = {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands="Flam. Manopolas +2",
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Caro Necklace",
waist="Grunfeld Rope",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Ukkos Fury'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands="Flam. Manopolas +2",
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Caro Necklace",
waist="Grunfeld Rope",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},})
sets.precast.WS['Upheaval'] = {
ammo="Oneiros Pebble",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Pumm. Calligae +3",
neck="Fotia Gorget",
waist="Ioskeha Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},}
sets.precast.WS['Upheaval'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Oneiros Pebble",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Pumm. Calligae +3",
neck="Fotia Gorget",
waist="Ioskeha Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},})
sets.precast.WS['Kings Justice'] = {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},}
sets.precast.WS['Kings Justice'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},})
sets.precast.WS['Steel Cyclone'] = {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Prosilio Belt +1",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Steel Cyclone'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Prosilio Belt +1",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},})
sets.precast.WS['Shockwave'] = {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Shockwave'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},})
sets.precast.WS['Scourge'] = {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Scourge'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},})
sets.precast.WS['Ground Strike'] = {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Ground Strike'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},})
sets.precast.WS['Resolution'] = {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},}
sets.precast.WS['Resolution'].Acc = set_combine(sets.precast.WS.Acc, {
ammo="Seeth. Bomblet +1",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Pumm. Calligae +3",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Brutal Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},})
sets.precast.WS['Mistral Axe'] = {
ammo="Knobkierrie",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body="Pumm. Lorica +3",
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Mistral Axe'].Acc = {
ammo="Knobkierrie",
head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
body="Pumm. Lorica +3",
hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Cloudsplitter'] = {
ammo="Knobkierrie",
head={ name="Jumalik Helm", augments={'MND+10','"Mag.Atk.Bns."+15','Magic burst dmg.+10%','"Refresh"+1',}},
body={ name="Found. Breastplate", augments={'Accuracy+15','Mag. Acc.+15','Attack+15','"Mag.Atk.Bns."+15',}},
hands={ name="Founder's Gauntlets", augments={'STR+5','Attack+8','"Mag.Atk.Bns."+9',}},
legs={ name="Odyssean Cuisses", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Phys. dmg. taken -1%','INT+3','Mag. Acc.+6','"Mag.Atk.Bns."+13',}},
feet={ name="Founder's Greaves", augments={'VIT+9','Accuracy+14','"Mag.Atk.Bns."+13','Mag. Evasion+15',}},
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Friomisi Earring",
left_ring="Regal Ring",
right_ring="Acumen Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Cloudsplitter'].Acc = {
ammo="Knobkierrie",
head={ name="Jumalik Helm", augments={'MND+10','"Mag.Atk.Bns."+15','Magic burst dmg.+10%','"Refresh"+1',}},
body={ name="Found. Breastplate", augments={'Accuracy+15','Mag. Acc.+15','Attack+15','"Mag.Atk.Bns."+15',}},
hands={ name="Founder's Gauntlets", augments={'STR+5','Attack+8','"Mag.Atk.Bns."+9',}},
legs={ name="Odyssean Cuisses", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Phys. dmg. taken -1%','INT+3','Mag. Acc.+6','"Mag.Atk.Bns."+13',}},
feet={ name="Founder's Greaves", augments={'VIT+9','Accuracy+14','"Mag.Atk.Bns."+13','Mag. Evasion+15',}},
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Friomisi Earring",
left_ring="Regal Ring",
right_ring="Acumen Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Savage Blade'] = {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
sets.precast.WS['Savage Blade'].Acc = {
ammo="Knobkierrie",
head="Sulevia's Mask +2",
body="Pumm. Lorica +3",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Caro Necklace",
waist="Metalsinger Belt",
left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
right_ear="Zwazo Earring +1",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},}
-- Mighty Strikes WS Set --
sets.MS_WS = {ammo="Yetshila", feet="Boii Calligae +1"}
end
-- Job-specific hooks for standard casting events.
function job_midcast(spell, action, spellMap, eventArgs)
end
-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
end
function display_current_job_state(eventArgs)
local msg = 'Melee'
if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end
end
function update_combat_form()
-- Check Weapontype
if HepatizonAxe_weapons:contains(player.equipment.main) then
state.CombatForm:set('HepatizonAxe')
elseif
Rag_weapons:contains(player.equipment.main) then
state.CombatForm:set('Ragnarok')
elseif
Shield_weapons:contains(player.equipment.sub) then
state.CombatForm:set('BlurredAxe')
elseif
Shield_weapons:contains(player.equipment.sub) then
state.CombatForm:set('BlurredSword')
else
state.CombatForm:reset()
end
end
function job_self_command(cmdParams, eventArgs)
command = cmdParams[1]:lower()
if command=='mainweapon' then
enable('main','sub')
mainswap=1
send_command('gs c cycle mainweapon')
end
end
function job_update(cmdParams, eventArgs)
update_combat_form()
end
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
update_combat_form()
end
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
moonshade_WS = S{"Resolution", "Upheaval", "Savage Blade", "Ukkos Fury", "Ground Strike", "Scourge", "Steel Cyclone", "Kings Justice", "Mistral Axe", "Cloudsplitter", "Shockwave"}
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'Upheaval' then
if world.time >= (17*60) or world.time <= (7*60) then
equip({ear1="Lugra Earring +1",ear2="Lugra Earring"})
end
if moonshade_WS:contains(spell.english) and player.tp<2950 then
equip({ear1={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},})
end
if buffactive['Mighty Strikes'] then
if sets.precast.WS[spell] then
equipSet = sets.precast.WS[spell]
equipSet = set_combine(equipSet,sets.MS_WS)
equip(equipSet)
else
equipSet = sets.precast.WS
equipSet = set_combine(equipSet,sets.MS_WS)
equip(equipSet)
end
end
end
end
function customize_idle_set(idleSet)
if mainswap then
mainswap=0
enable('main','sub')
equip(sets.mainweapon[state.mainweapon.value])
disable('main','sub')
end
if player.mpp < 51 then
return set_combine(idleSet, sets.latent_refresh)
end
if state.Buff.Doom or state.Buff.Curse then
return set_combine(idleSet, sets.Doom)
else
return idleSet
end
end
function customize_melee_set(meleeSet)
if mainswap then
mainswap=0
enable('main','sub')
equip(sets.mainweapon[state.mainweapon.value])
disable('main','sub')
end
if state.Buff.Aftermath then
return set_combine(meleeSet, sets.Aftermath)
end
if state.Buff.Doom then
return set_combine(meleeSet, sets.Doom)
end
if state.Buff.Curse then
return set_combine(meleeSet, sets.Curse)
else
return meleeSet
end
end
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'SAM' then
set_macro_page(5, 11)
elseif player.sub_job == 'NIN' then
set_macro_page(5, 11)
elseif player.sub_job == 'RDM' then
set_macro_page(5, 11)
elseif player.sub_job == 'THF' then
set_macro_page(5, 11)
else
set_macro_page(5, 11)
end
end
Bahamut.Ayasha
サーバ: Bahamut
Game: FFXI
Posts: 96
By Bahamut.Ayasha 2017-12-08 05:23:19
Change your job_post_precast() function to this. Code
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'Upheaval' then
if world.time >= (17*60) or world.time <= (7*60) then
equip({ear1="Lugra Earring +1",ear2="Lugra Earring"})
end
if buffactive['Mighty Strikes'] then
if sets.precast.WS[spell] then
equipSet = sets.precast.WS[spell]
equipSet = set_combine(equipSet,sets.MS_WS)
equip(equipSet)
else
equipSet = sets.precast.WS
equipSet = set_combine(equipSet,sets.MS_WS)
equip(equipSet)
end
end
end
if moonshade_WS:contains(spell.english) and player.tp<2950 then
equip({ear1={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},})
end
end
Only change was moving the 'if moonshade_ws:contains...end' block to just after line 1034.
If you look at where you have the conditional that checks to see if the WS is a valid Moonshade WS you will see that your original code will ONLY do the check if you are using Upheaval. Moving it as shown above will check regardless of the WS you are using.
Asura.Neufko
サーバ: Asura
Game: FFXI
Posts: 236
By Asura.Neufko 2017-12-08 17:31:32
I'd like to find a way to automaticaly change offense mode to PDT when Shadows wear off as nin, using mote.
I tried this kind of things :
Code function job_buff_change(buff, gain)
if buff == "Copy Image" and not gain then
send_command('gs c set OffenseMode DT')
end
end
The same code works very well with 'gain' instead of 'not gain'
Code function job_buff_change(buff, gain)
if buff == "Copy Image (4+)" and gain then
send_command('gs c set OffenseMode Normal')
end
end
This code above will always go to offensemode normal when I cast Ustusemi, but not the other way around
any ideas?
By Archaide 2017-12-08 21:17:40
Thank you Ayasha, works perfect.
Shiva.Hiep
サーバ: Shiva
Game: FFXI
Posts: 669
By Shiva.Hiep 2017-12-08 23:01:19
How would I make it to where my PDT set changes to another set when Mana Wall is active? I'm trying to swap hands for the PDT that I lose when I disable back/feet.
Quetzalcoatl.Windowpane
サーバ: Quetzalcoatl
Game: FFXI
Posts: 12
By Quetzalcoatl.Windowpane 2017-12-09 09:48:12
Quetzalcoatl.Windowpane said: »-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
return "CureMelee"
elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
return "CureSolace"
elseif default_spell_map == 'BarStatus' then
return "BarStatus"
elseif (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and (world.day == 'Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm') then
return "CureWithLightWeather"
elseif spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
I think I found my fix by a lot of trial and error troubleshooting, for anyone who is facing a similar issue. The problem seems to lie within this code:
Code -- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
return "CureMelee"
elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
return "CureSolace"
elseif default_spell_map == 'BarStatus' then
return "BarStatus"
elseif (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and (world.day == 'Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm') then
return "CureWithLightWeather"
elseif spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
I tediously scrolled through the Mote-include and other Mote lua's and my custom functions one that I stole from Sammeh, and figured out it was the WHM lua that was the final culprit. So I just added one line to it:
Code function job_get_spell_map(spell, default_spell_map)
disable_specialgear()
I cleaned up the gear-locking portion that was in my original post and moved it to my custom functions lua, and that line calls this from the custom functions lua:
Code function disable_specialgear() -- Lock Equipment Here --
if player.equipment.ring1 == "Warp Ring" or
player.equipment.ring1 == "Capacity Ring" or
player.equipment.ring1 == "Trizek Ring" or
player.equipment.ring1 == "Dim. Ring (Dem)" or
player.equipment.ring1 == "Dim. Ring (Mea)" or
player.equipment.ring1 == "Dim. Ring (Holla)" or
player.equipment.ring1 == "Echad Ring" or
player.equipment.ring1 == "Emperor Band" or
player.equipment.ring1 == "Reraise Ring" or
player.equipment.ring1 == "Tavnazian Ring" or
player.equipment.ring1 == "Caliber Ring" or
player.equipment.ring1 == "Olduum Ring" or
player.equipment.ring1 == "Facility Ring" then
disable('ring1')
else
enable('ring1')
end
if player.equipment.ring2 == "Warp Ring" or
player.equipment.ring2 == "Capacity Ring" or
player.equipment.ring2 == "Trizek Ring" or
player.equipment.ring2 == "Dim. Ring (Dem)" or
player.equipment.ring2 == "Dim. Ring (Mea)" or
player.equipment.ring2 == "Dim. Ring (Holla)" or
player.equipment.ring2 == "Echad Ring" or
player.equipment.ring2 == "Emperor Band" or
player.equipment.ring2 == "Reraise Ring" or
player.equipment.ring2 == "Tavnazian Ring" or
player.equipment.ring2 == "Caliber Ring" or
player.equipment.ring2 == "Olduum Ring" or
player.equipment.ring2 == "Facility Ring" then
disable('ring2')
else
enable('ring2')
end
if player.equipment.back == "Mecisto. Mantle" or
player.equipment.back == "Aptitude Mantle +1" or
player.equipment.back == "Aptitude Mantle" then
disable('back')
else
enable('back')
end
if player.equipment.ear1 == "Terminus Earring" or
player.equipment.ear1 == "Liminus Earring" then
disable('ear1')
else
enable('ear1')
end
if player.equipment.ear2 == "Terminus Earring" or
player.equipment.ear2 == "Liminus Earring" then
disable('ear2')
else
enable('ear2')
end
end
By Boshi 2017-12-11 14:21:40
In. Similar note is there a way to vary your PDT set on how much haste you have
By NiroAL 2017-12-16 21:45:38
Does anyone happen to have a primer or tutorial on how to use texts.lua? I want to create a text box that tracks the current value of my arrays, but I'm at a complete loss.
Any help greatly appreciated!
By Boshi 2017-12-21 15:34:09
I've been wanting to add this to my lua for a while but not sure how to have it detect when it happens
I want my tp set to flip to an amended ".amnesia" (i already have this for when I have amnesia on) set whenever I'm engaged and my TP is greater than 2.9k
I'm just not sure how to go about having it detect when my tp becomes >2.9k to make this flip. made it some sort of state if tp >2.9k I assume but I just don't know how to actually implement it.
Carbuncle.Kigensuro
サーバ: Carbuncle
Game: FFXI
Posts: 93
By Carbuncle.Kigensuro 2017-12-29 10:10:54
I'd like to find a way to automaticaly change offense mode to PDT when Shadows wear off as nin, using mote.
I tried this kind of things :
Code function job_buff_change(buff, gain)
if buff == "Copy Image" and not gain then
send_command('gs c set OffenseMode DT')
end
end
...
This code above will always go to offensemode normal when I cast Ustusemi, but not the other way around
any ideas? its because you can lose more the one copy image at a time
try using buff:contains("Copy Image") or buff:startswith("Copy Image")
--the latter is probably better
also i think you can use state.OffenseMode:set('DT') instead of send_command('gs c set OffenseMode DT') to keep it in gearswap
Ragnarok.Martel
サーバ: Ragnarok
Game: FFXI
Posts: 2973
By Ragnarok.Martel 2017-12-29 10:29:03
The buff name varies depending on how many shadows you have up. buff == "Copy Image" and not gain is only true when you have only a single shadow up then lose it. Which would be fine except like mentioned above, you could lose multiple shadow at once, which would mean that you lost a different buff than "Copy Image"
A bit from the resources. Code
[66] = {id=66,en="Copy Image",ja="分身",enl="Copy Image",jal="分身"},
[444] = {id=444,en="Copy Image (2)",ja="分身(2)",enl="Copy Image (2)",jal="分身(2)"},
[445] = {id=445,en="Copy Image (3)",ja="分身(3)",enl="Copy Image (3)",jal="分身(3)"},
[446] = {id=446,en="Copy Image (4+)",ja="分身(4+)",enl="Copy Image (4+)",jal="分身(4+)"},
As you can see, the buff name and IDs vary depending on the number of shadows up. So if you had 2 shadows and lost both in one attack then you lost the "Copy Image (2)" buff. not "Copy image"
That being said, that code should still be a valid solution.
EDIT: Thinking about this more... Using buff:startswith("Copy Image") and so on would make this trigger when going from 4 shadows to 3, etc. cause you're losing copy image (4+), and gaining copy image (3). You'd need checks to make sure you lost a copy image buff, but didn't gain any. Or maybe just make it so that gaining any copy image cancels the change to DT. Feels messy though as you'd be changing back and forth with every shadow lost.
By Rainemard 2017-12-31 11:59:16
https://pastebin.com/4xPhN2KR
Need some help on my warrior lua. Currently I have two problems:
1. When I swap jobs, my mainweapon list doesn't reload. I know why it's not doing that, since it's binds_on_load, but I want it to bind on subjob change too, is there a way of doing this? Currently, if I //gs reload after changing job, the function works properly and loads the correct mainweapon list. I just don't know how to make the bindings reload on subjob change, need help with that.
2. When I reload gs, or log in, whichever loads my war lua, --Rest's bindings won't actually equip the correct weapon. It'll show the message "Main weapon is now Ragnarok" for example, but it won't actually equip Ragnarok. If I cycle through my mainweapon list with f11 however, every bind works correctly. If I press windows + 1 after pressing f11 once, it'll both show the message and equip the weapon correctly. No idea on how to fix this.
Thanks for helping out in advance, really appreciate it. Trying to make this lua as smooth as possible.
サーバ: Shiva
Game: FFXI
Posts: 291
By Shiva.Kasaioni 2017-12-31 12:21:15
For BLU
I'm new to gearswap so I mostly just paste my gear in the appropriate slot and hope the template works; it might seem messy.
https://pastebin.com/Baz02xBa
I'm having an issue where, when I'm engaged, this lua doesn't swap gear associated with magical/physical blue magic spells unless I manually change the casting mode (it'll only read from the generic 'Blue Magic' midcast set lines when in 'Normal' casting mode). But when I'm not engaged, it does change gear automatically based on the physical/magical blue spell sets that I have defined.
It has something to do with the casting modes I think, but I just want it to automatically change gear based on the type of blu spell (physical/magical) I use.
By inkydo 2018-01-01 11:06:43
Anyone seeing this I am getting it only for COR at this point..
GearSwap/Equip_processing.lua:246: attempt to Index Field
Sorry if it has been posted.
Asura.Eiryl
By Asura.Eiryl 2018-01-01 11:08:12
I already answered it in the windwer thread.
Resources (and other things) need to be fixed. You can't use any gear created since July if you want to use GS
aka: no hepatizon saparas and no relic+2/3
[+]
By inkydo 2018-01-01 11:15:20
Ok, any idea on when this can be fixed and thanks for the quick response.
Asura.Eiryl
By Asura.Eiryl 2018-01-01 11:17:31
No idea, just as soon as a windower dev wakes up and reads this/that
Cair is usually pretty good about it, but being a holiday, might take a bit
Leviathan.Sidra
サーバ: Leviathan
Game: FFXI
Posts: 334
By Leviathan.Sidra 2018-01-01 11:45:46
So, my DRG Gearswap just randomly stopped working. I was looking through it, and I think i may have accidentally just typed a random something somewhere. I get a nil value line 246 error which is an empty line after my last gear related swap (breaths) and before the rules in the last section. The Error comes up just after i swap jobs before i do any actions and keeps coming. Any ideas?
Asura.Eiryl
By Asura.Eiryl 2018-01-01 11:51:12
Already addressed...
...Just read 2 posts up.
Leviathan.Sidra
サーバ: Leviathan
Game: FFXI
Posts: 334
By Leviathan.Sidra 2018-01-01 11:55:10
My bad, I didnt read anything else as my assumption was it was something I did and not a global issue.
I had an Exalted Staff equipped - have we gone backwards? It was working.
Carbuncle.Kigensuro
サーバ: Carbuncle
Game: FFXI
Posts: 93
By Carbuncle.Kigensuro 2018-01-01 13:12:39
Does anyone happen to have a primer or tutorial on how to use texts.lua? I want to create a text box that tracks the current value of my arrays, but I'm at a complete loss.
Any help greatly appreciated! texts is not easy to work with and one mistake can take hours/days to find
you can look at my gearswap skillup tool if you like
https://github.com/smd111/Gearswap-Skillup
i would also say look at my gearswap but it very complicated to where i never have to adjust any code when i add/remove any thing to/from it
Bahamut.Neb
サーバ: Bahamut
Game: FFXI
Posts: 189
By Bahamut.Neb 2018-01-01 16:27:06
Organizer seem to be broken as of this morning anyone else having any issues?
Asura.Eiryl
By Asura.Eiryl 2018-01-01 16:46:01
Everything should be corrected now, if you update windower
Official explaination is on windowers github
tl;dr they had an oops, caused old files to go live
サーバ: Asura
Game: FFXI
Posts: 1421
By Asura.Toralin 2018-01-03 19:48:55
on my BLU I have a list of spells that are defined as diffusion spells (including mighty guard and harden shell) MG works and the midcast equips my boots but harden shell does not Code sets.Diffusion = {feet="Luhlaza Charuqs +1"} Code -- Diffusion --
BlueMagic_Diffusion = S{
'Amplification','Cocoon','Exuviation','Feather Barrier','Harden*','Memento Mori','Metallic Body',
'Mighty Guard','Plasma Charge','Reactor Cool','Refueling','Saline Coat','Warm-Up','Zephyr Mantle'}
-- Unbridled --
BlueMagic_Unbridled = S{
'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
'Droning Whirlwind','Gates of Hades','Harden*','Mighty Guard','Pyric Bulwark',
'Thunderbolt','Tourbillion'}
Code elseif BlueMagic_Diffusion:contains(spell.english) and buffactive.Diffusion then
equipSet = set_combine(equipSet,sets.Diffusion)
Bismarck.Dunigs
サーバ: Bismarck
Game: FFXI
Posts: 83
By Bismarck.Dunigs 2018-01-03 20:39:46
on my BLU I have a list of spells that are defined as diffusion spells (including mighty guard and harden shell) MG works and the midcast equips my boots but harden shell does not
I don't believe :contains will parse * as a wildcard like most your xml files do, but I do think there's a helper function for it in the strings library. I'd just spell out Harden Shell.
Carbuncle.Kigensuro
サーバ: Carbuncle
Game: FFXI
Posts: 93
By Carbuncle.Kigensuro 2018-01-03 23:49:21
-- Diffusion --
BlueMagic_Diffusion = S{
'Amplification','Cocoon','Exuviation','Feather Barrier','Harden*','Memento Mori','Metallic Body',
'Mighty Guard','Plasma Charge','Reactor Cool','Refueling','Saline Coat','Warm-Up','Zephyr Mantle'}
-- Unbridled --
BlueMagic_Unbridled = S{
'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
'Droning Whirlwind','Gates of Hades','Harden*','Mighty Guard','Pyric Bulwark',
'Thunderbolt','Tourbillion'} on my BLU I have a list of spells that are defined as diffusion spells (including mighty guard and harden shell) MG works and the midcast equips my boots but harden shell does not
I don't believe :contains will parse * as a wildcard like most your xml files do, but I do think there's a helper function for it in the strings library. I'd just spell out Harden Shell. as Toralin said you cant use wildcards in lua like this
-lua uses regEx along with such like string.gmatch
however sence i have these alredy built these lists ill give you my full lists for them Code -- Diffusion --
BlueMagic_Diffusion = S{"Metallic Body","Cocoon","Refueling","Feather Barrier","Memento Mori","Zephyr Mantle","Warm-Up","Amplification",
"Triumphant Roar","Saline Coat","Reactor Cool","Exuviation","Plasma Charge","Regeneration","Battery Charge","Animating Wail","Magic Barrier",
"Fantod","Occultation","Mighty Guard"}
-- Unbridled --
BlueMagic_Unbridled = S{"Harden Shell","Thunderbolt","Absolute Terror","Gates of Hades","Tourbillion","Pyric Bulwark","Bilgestorm","Bloodrake","Droning Whirlwind",
"Carcharian Verve","Blistering Roar","Mighty Guard","Cruel Joke","Cesspool","Tearing Gust"}
By Rainemard 2018-01-04 03:24:40
https://pastebin.com/93GbgPSg
Could someone help me out? I've been struggling with getting sets.midcast.Stoneskin and sets.midcast.Refresh to work; I can load them using //gs equip sets.midcast.Stoneskin, but if I actually cast stoneskin, it equips my sets.midcast['Enhancing Magic'] set. I tried switching the order around to no avail, I've used set_combine in stoneskin to combine the sets.midcast['Enhancing Magic'] with the Stoneskin potency items and I've tried adding Stoneskin to the list of spells in GearSwap/libs/Mote-Mappings.lua. The one thing that has made it work so far is blatantly deleting the sets.midcast['Enhancing Magic'], which I don't want to do obviously since it'd affect my other enhancing spells. I figured it must be a priority problem of some sorts, but I don't know how to fix this. Also, I've added all enspells in GearSwap/libs/Mote-Mappings.lua under the group 'Enspell', one by one. Does this mean I can use them as sets.midcast.Enspell in my RDM lua? Thanks in advance for helping out! :)
Can anyone help me on this? I've been trying out stuff but I can't find a fix. If you do know a fix, I'd love it if you could explain why it works as well, trying to get better at gs. :)
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.
|
|