I have no idea of the "language" of Gearswap except to add equipment. Could someone assist me in figuring out what I'm missing? It would be greatly appreciated.
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')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff.Hasso = buffactive.Hasso or false
state.Buff.Souleater = buffactive.souleater or false
state.Buff['Last Resort'] = buffactive['Last Resort'] or false
weapon_list = S{"Apocalypse", "Ragnarok", "Naegling",}
no_swap_gear = S{"Warp Ring", "Dim. Ring (Dem)", "Dim. Ring (Holla)", "Dim. Ring (Mea)",
"Facility Ring", "Capacity Ring"}
elemental_ws = S{'Dark Harvest','Shadow of Death','Infernal Scythe','Frostbite','Freezebite',"Herculean Slash",
'Burning Blade','Red Lotus Blade','Shining Blade','Seraph Blade','Sanguine Blade'}
lockstyleset = 3
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent.
function user_setup()
state.OffenseMode:options('STP', 'Normal', 'LowAcc', 'MidAcc', 'HighAcc')
state.HybridMode:options('Normal', 'DT')
state.WeaponskillMode:options('Normal', 'Acc')
state.PhysicalDefenseMode:options('PDT', 'MDT')
state.IdleMode:options('Normal', 'DT')
state.WeaponSet = M{['description']='Weapon Set', 'Ragnarok', 'Apocalypse'}
state.MagicBurst = M(false, 'Magic Burst')
state.Critical = M(false, 'Critical Aftermath TP')
state.CP = M(false, "Capacity Points Mode")
-- Additional local binds
include('Global-Binds.lua') -- OK to remove this line
include('Global-BRD-Binds.lua') -- OK to remove this line
--send_command('bind !` gs c toggle MagicBurst')
--send_command('bind @a gs c toggle Critical')
--send_command('bind @c gs c toggle CP')
--send_command('bind @e gs c cycleback WeaponSet')
--send_command('bind @r gs c cycle WeaponSet')
--send_command('bind !q input /ma "Drain III" <t>')
--send_command('bind !w input /ja "Last Resort" <me>')
--send_command('bind !e input /ja "Hasso" <me>')
--send_command('bind !p input /ma "Dread Spikes" <me>')
-- if player.sub_job == 'WAR' then
-- send_command('bind ^numpad/ input /ja "Berserk" <me>')
-- send_command('bind ^numpad* input /ja "Warcry" <me>')
--send_command('bind ^numpad- input /ja "Aggressor" <me>')
-- elseif player.sub_job == 'SAM' then
-- send_command('bind ^numpad/ input /ja "Meditate" <me>')
-- send_command('bind ^numpad* input /ja "Sekkanoki" <me>')
-- send_command('bind ^numpad- input /ja "Third Eye" <me>')
end
-- send_command('bind ^numpad7 input /ws "Resolution" <t>')
-- send_command('bind ^numpad5 input /ws "Torcleaver" <t>')
--send_command('bind ^numpad1 input /ws "Freezebite" <t>')
select_default_macro_book()
set_lockstyle()
state.Auto_Kite = M(false, 'Auto_Kite')
Haste = 0
DW_needed = 0
DW = false
moving = false
update_combat_form()
determine_haste_group()
get_combat_weapon()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind !`')
send_command('unbind !q')
send_command('unbind !w')
send_command('bind !e input /ma "Haste" <stpc>')
send_command('unbind !p')
send_command('unbind @a')
send_command('unbind @c')
send_command('unbind @e')
send_command('unbind @r')
send_command('unbind ^numpad/')
send_command('unbind ^numpad*')
send_command('unbind ^numpad-')
send_command('unbind ^numpad7')
send_command('unbind ^numpad8')
send_command('unbind ^numpad4')
send_command('unbind ^numpad5')
send_command('unbind ^numpad6')
send_command('unbind ^numpad1')
end
function get_sets()
-- JSE
AF = {} -- leave this empty
RELIC = {} -- leave this empty
EMPY = {} -- leave this empty
-- Fill this with your own JSE.
--Ignominy
AF.Head = ""
AF.Body = "Ignominy Cuirass +1"
AF.Hands = ""
AF.Legs = "Ignominy Flanchard +1"
AF.Feet = ""
--Fallen's
RELIC.Head = "Fallen's Burgeonet +3"
RELIC.Body = "Fallen's Cuirass +1"
RELIC.Hands = "Fallen's Finger Gauntlets +1"
RELIC.Legs = "Fallen's Flanchard +3"
RELIC.Feet = "Fallen's Sollerets"
--Heathen's
EMPY.Head = "Heathen's Burgeonet +2"
EMPY.Body = "Heathen's Cuirass +2"
EMPY.Hands = "Heathen's Gauntlets +2"
EMPY.Legs = "Heathen's Flanchard +2"
EMPY.Feet = "Heathen's Sollerets +2"
--Sulevia's
SulHead = "Sulevia's Mask"
SulBod = "Sulevia's Platemail +1"
SulHands = "Sulevia's Gauntlets +1"
SulLegs = "Sulevia's Cuisses +1"
SulFeet = "Sulevia's Leggings +1"
--Flamma
FlamHead = "Flamma Zucchetto"
FlamBod = "Flamma Korazin"
FlamHand = "Flamma Manopolas"
FlamLeg = "Flamma Dirs"
FlamFeet = "Flamma Gambieras +2"
-- Capes:
-- Sucellos's And such, add your own.
AthMan = "Atheling Mantle"
DRKCape = {}
--DRKCape.TP = { name="", augments={}}
DRKCape.WS = { name="Niht Mantle", augments={'Attack+5','Dark magic skill +6','"Drain" and "Aspir" potency +19','Weapon skill damage +2%',}}
end
-- Define sets and vars used by this job file.
function init_gear_sets()
------------------------------------------------------------------------------------------------
---------------------------------------- Precast Sets ------------------------------------------
------------------------------------------------------------------------------------------------
---- Precast Sets ----
-- Enmity set
sets.Enmity = {}
-- Precast sets to enhance JAs
--sets.precast.JA['Arcane Circle'] = {feet="Ig. Sollerets +3"}
sets.precast.JA['Blood Weapon'] = {body=RELIC.Body}
sets.precast.JA['Dark Seal'] = {head=RELIC.Head}
sets.precast.JA['Diabolic Eye'] = {hands=RELIC.Hands}
sets.precast.JA['Last Resort'] = {feet=RELIC.Feet} --back=gear.DRK_DA_Cape,}
sets.precast.JA['Nether Void'] = {legs=EMPY.Legs}
--sets.precast.JA['Souleater'] = {head="Ig. Burgonet +3"}
--sets.precast.JA['Weapon Bash'] = {hands="Ig. Gauntlets +2"}
sets.precast.FC = {
head="Cizin Helm +1", --5
neck="Orunmila's Torque", --5
ear1="Malignance Earring", --4
ear2="Loquacious Earring", --2
hands="Buremte Gloves", --3
ring1="Kishar Ring", --4
ring2="Prolix Ring", --2, 10 macc
legs="Enif Cosciales", --8
feet="Carmine Greaves +1", --8
back=""
--41 Total
}
sets.precast.FC['Dark Magic'] = set_combine(sets.precast.FC, {head="Fallen's Burgeonet +3"})
sets.precast.FC['Drain'] = set_combine(sets.precast.FC, {head="Fallen's Burgeonet +3"}) --12
sets.precast.FC['Drain II'] = set_combine(sets.precast.FC, {head="Fallen's Burgeonet +3"}) --12
sets.precast.FC['Drain III'] = set_combine(sets.precast.FC, {head="Fallen's Burgeonet +3"}) --12
--48 with above
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
neck = "Stoicheion Medal", --44 FC
})
------------------------------------------------------------------------------------------------
------------------------------------- Weapon Skill Sets ----------------------------------------
------------------------------------------------------------------------------------------------
sets.precast.WS = {
ammo = "Seething Bomblet",
head = RELIC.Head,
body = EMPY.Body,
hands = EMPY.Hands,
left_ring = "Mars's Ring",
legs = RELIC.Legs,
feet = EMPY.Feet,
neck = "Justiciar's Torque",
waist = "Fotia Belt",
left_ear = "Bladeborn Earring",
right_ear = "Heathen's Earring",
right_ring = "Niqmaddu Ring",
back = DRKCape.WS,
}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {
head = EMPY.Head,
right_ring = "Patricius Ring",
waist = "Eschan Stone",
left_ear = "Steelflash Earring",
})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Catastrophe'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Catastrophe'].Acc = {}
sets.precast.WS['Sanguine Blade'] = {}
sets.precast.WS['Torcleaver'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Torcleaver'].Acc = {}
sets.precast.WS['Scourge'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Scourge'].Acc = {}
sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Requiescat'] = {}
sets.precast.WS['Cross Reaper'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Cross Reaper'].Acc = {}
sets.precast.WS['Quietus'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Quietus'].Acc = {}
--sets.precast.WS['Entropy'] = {}
--sets.precast.WS['Entropy'].Acc = {}
sets.precast.WS['Insurgency'] = set_combine(sets.precast.WS, {waist="Prosilio Belt +1"})
--sets.precast.WS['Insurgency'].Acc = {}
--sets.precast.WS['Resolution'] = {}
--sets.precast.WS['Resolution'].Acc = {}
------------------------------------------------------------------------------------------------
---------------------------------------- Midcast Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.midcast.FastRecast = sets.precast.FC
sets.midcast['Enfeebling Magic'] = {
ammo = "Plumose Sachet",
head = "Befouled Crown",
body = EMPY.Body,
hands = EMPY.Hands,
left_ring = "Kishar Ring",
legs = EMPY.Legs,
feet = EMPY.Feet,
neck = "Eddy Necklace",
waist = "Eschan Stone",
left_ear = "Malignance Earring",
right_ear = "Heathen's Earring",
right_ring = "Fenrir Ring +1",
back = "Mollusca Mantle",
}
sets.midcast['Dark Magic'] = {
ammo = "Plumose Sachet",
head = EMPY.Head,
body = EMPY.Body,
hands = RELIC.Hands,
left_ring = "Kishar Ring",
legs = EMPY.Legs,
feet = EMPY.Feet,
neck = "Erra Pendant",
waist = "Eschan Stone",
left_ear = "Malignance Earring",
right_ear = "Friomisi Earring",
right_ring = "Fenrir Ring +1",
back = DRKCape.WS,
}
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
hands = EMPY.Hands,
--feet="Ig. Sollerets +3",
--ear1="Hirudinea Earring",
--ring1="Evanescence Ring",
right_ring = "Archon Ring",
back = "Niht Mantle",
--waist="Austerity Belt +1",
})
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Absorb = set_combine(sets.midcast['Dark Magic'], {
head="Ig. Burgonet +3",
hands="Pavor Gauntlets",
ring1="Kishar Ring",
back="Chuparrosa Mantle",
waist="Casso Sash",
})
sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb, {hands="Heath. Gauntlets +2"})
sets.midcast.Stun = {
ammo = "Plumose Sachet",
head = "Befouled Crown",
body = EMPY.Body,
hands = EMPY.Hands,
left_ring = "Kishar Ring",
legs = EMPY.Legs,
feet = EMPY.Feet,
neck = "Eddy Necklace",
waist = "Eschan Stone",
left_ear = "Malignance Earring",
right_ear = "Heathen's Earring",
right_ring = "Fenrir Ring +1",
back = "Mollusca Mantle",
}
sets.midcast['Dread Spikes'] = set_combine(sets.midcast['Dark Magic'], {
body = AF.Body,
left_ear = "Moonshade Earring",
right_ear = "Ethereal Earring",
left_ring = "Kunaj Ring",
right_ring = "Gelatinous Ring",
legs = RELIC.Legs,
feet = FlamFeet,
})
sets.midcast['Elemental Magic'] = {
ammo = "Plumose Sachet",
head = "Jumalik Helm",
body = AF.Body,
hands = AF.Hands,
left_ring = "Kishar Ring",
legs = EMPY.Legs,
feet = EMPY.Feet,
neck = "Stoicheion Medal",
waist = "Eschan Stone",
left_ear = "Malignance Earring",
right_ear = "Friomisi Earring",
right_ring = "Fenrir Ring +1",
back = "Argochampsa Mantle",
}
------------------------------------------------------------------------------------------------
----------------------------------------- Idle Sets --------------------------------------------
------------------------------------------------------------------------------------------------
sets.idle = {
ammo = "Demonry Stone",
head = "Jumalik Helm",
body = EMPY.Body,
hands = EMPY.Hands,
left_ring = "Defending Ring",
legs = EMPY.Legs,
feet = EMPY.Feet,
neck = "Twilight Torque",
waist = "Flume Belt",
left_ear = "Ethereal Earring",
right_ear = "Moonshade Earring",
right_ring = "Woltaris Ring +1",
back = "Mollusca Mantle",
}
-- sets.idle.DT = set_combine(sets.idle, {
-- ammo="Staunch Tathlum +1", --3/3
-- head="Hjarrandi Helm", --10/10
-- body="Hjarrandi Breast.", --12/12
--neck="Loricate Torque +1", --6/6
-- ear1="Odnowa Earring +1", --3/5
-- ring1="Defending Ring", --10/10
-- back="Moonlight Cape", --6/6
-- })
-- sets.idle.Town = set_combine(sets.idle, {
-- head="Volte Salade",
-- body="Ignominy Cuirass +3",
-- hands="Rat. Gadlings +1",
--legs="Fall. Flanchard +3",
-- feet="Rat. Sollerets +1",
-- neck="Abyssal Beads +2",
-- ear1="Odnowa Earring +1",
-- ear2="Thrud Earring",
--ring1={name="Chirich Ring +1", bag="wardrobe3"},
-- ring2={name="Chirich Ring +1", bag="wardrobe4"},
-- back=gear.DRK_DA_Cape,
-- })
sets.idle.Weak = set_combine(sets.idle, {})
------------------------------------------------------------------------------------------------
---------------------------------------- Defense Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.defense.PDT = sets.idle.DT
sets.defense.MDT = sets.idle.DT
------------------------------------------------------------------------------------------------
---------------------------------------- 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
sets.engaged = {
ammo = "Ginsen",
head = EMPY.Head,
body = EMPY.Body,
hands = "Eschite Gauntlets",
left_ring = "Cacoethic Ring +1",
legs = EMPY.Legs,
feet = EMPY.Feet,
neck = "Asperity Necklace",
waist = "Ioskeha Belt",
left_ear = "Brutal Earring",
right_ear = "Heathen's Earring",
right_ring = "Niqmaddu Ring",
back = "Atheling Mantle",
}
sets.engaged.LowAcc = set_combine(sets.engaged, {})
sets.engaged.MidAcc = set_combine(sets.engaged.LowAcc, {})
sets.engaged.HighAcc = set_combine(sets.engaged.MidAcc, {})
sets.engaged.STP = set_combine(sets.engaged, {})
sets.engaged.Caladbolg = set_combine(sets.engaged, {})
sets.engaged.Caladbolg.LowAcc = set_combine(sets.engaged.Apocalypse, {})
sets.engaged.Caladbolg.MidAcc = set_combine(sets.engaged.Apocalypse, {})
sets.engaged.Caladbolg.HighAcc = set_combine(sets.engaged.Apocalypse, {})
-- sets.engaged.Caladbolg.Aftermath = {
-- ammo="Yetshila +1", --2/6
-- --head="Blistering Sallet +1", --10/0
-- body="Hjarrandi Breast.", --13/0
--hands="Flam. Manopolas +2", --8/0,
--legs="Zoar Subligar +1", --5/0
--feet="Valorous Greaves", --0/4
-- neck="Abyssal Beads +2", --4/0
-- ring1="Hetairoi Ring", --1/0
--back=gear.DRK_Crit_Cape, --10/0
-- }
sets.engaged.Ragnarok = set_combine(sets.engaged, {
hands = EMPY.Hands,
})
sets.engaged.Apocalypse = set_combine(sets.engaged, {})
sets.engaged.Apocalypse.LowAcc = set_combine(sets.engaged.Apocalypse, {})
sets.engaged.Apocalypse.MidAcc = set_combine(sets.engaged.Apocalypse, {})
sets.engaged.Apocalypse.HighAcc = set_combine(sets.engaged.Apocalypse, {})
------------------------------------------------------------------------------------------------
---------------------------------------- Hybrid Sets -------------------------------------------
------------------------------------------------------------------------------------------------
-- sets.engaged.Hybrid = {
-- ammo="Seeth. Bomblet +1",
-- legs="Sulev. Cuisses +2",
-- ring1="Defending Ring",
--}
sets.engaged.DT = set_combine(sets.engaged, sets.engaged.Hybrid)
sets.engaged.LowAcc.DT = set_combine(sets.engaged.LowAcc, sets.engaged.Hybrid)
sets.engaged.MidAcc.DT = set_combine(sets.engaged.MidAcc, sets.engaged.Hybrid)
sets.engaged.HighAcc.DT = set_combine(sets.engaged.HighAcc, sets.engaged.Hybrid)
sets.engaged.STP.DT = set_combine(sets.engaged.STP, sets.engaged.Hybrid)
------------------------------------------------------------------------------------------------
---------------------------------------- Special Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.magic_burst = {}
sets.Kiting = {legs="Carmine Cuisses +1"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- sets.buff.Doom = {ring1={name="Saida Ring", bag="wardrobe3"}, ring2={name="Saida Ring", bag="wardrobe4"},}
-- sets.CP = {back="Mecisto. Mantle"}
sets.Caladbolg = {main="Caladbolg", sub="Utu Grip"}
sets.Apocalypse = {main="Apocalypse", sub="Utu Grip"}
sets.Ragnarok = {main="Ragnarok", sub="Dilettante's Grip +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting 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_precast(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_aftercast(spell, action, spellMap, eventArgs)
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
check_weaponset()
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.
function job_buff_change(buff,gain)
-- if buffactive['Reive Mark'] then
-- if gain then
-- equip(sets.Reive)
-- disable('neck')
-- else
-- enable('neck')
-- end
-- end
if buff == "doom" then
if gain then
equip(sets.buff.Doom)
send_command('@input /p Doomed.')
disable('ring1','ring2','waist')
else
enable('ring1','ring2','waist')
handle_equipping_gear(player.status)
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- 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_handle_equipping_gear(playerStatus, eventArgs)
check_gear()
update_combat_form()
determine_haste_group()
check_moving()
end
function job_update(cmdParams, eventArgs)
handle_equipping_gear(player.status)
get_combat_weapon()
end
function update_combat_form()
if DW == true then
state.CombatForm:set('DW')
elseif DW == false then
state.CombatForm:reset()
end
end
function get_custom_wsmode(spell, action, spellMap)
local wsmode
if state.OffenseMode.value == 'MidAcc' or state.OffenseMode.value == 'HighAcc' then
wsmode = 'Acc'
end
return wsmode
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.CP.current == 'on' then
equip(sets.CP)
disable('back')
else
enable('back')
end
if state.Auto_Kite.value == true then
idleSet = set_combine(idleSet, sets.Kiting)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if buffactive['Aftermath: Lv.3'] and player.equipment.main == "Caladbolg"
and state.Critical.value then
meleeSet = set_combine(meleeSet, sets.engaged.Caladbolg.Aftermath)
end
return meleeSet
end
-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
local cf_msg = ''
if state.CombatForm.has_value then
cf_msg = ' (' ..state.CombatForm.value.. ')'
end
local m_msg = state.OffenseMode.value
if state.HybridMode.value ~= 'Normal' then
m_msg = m_msg .. '/' ..state.HybridMode.value
end
local ws_msg = state.WeaponskillMode.value
local c_msg = state.CastingMode.value
local d_msg = 'None'
if state.DefenseMode.value ~= 'None' then
d_msg = state.DefenseMode.value .. state[state.DefenseMode.value .. 'DefenseMode'].value
end
local i_msg = state.IdleMode.value
local msg = ''
if state.MagicBurst.value then
msg = ' Burst: On |'
end
if state.Kiting.value then
msg = msg .. ' Kiting: On |'
end
add_to_chat(002, '| ' ..string.char(31,210).. 'Melee' ..cf_msg.. ': ' ..string.char(31,001)..m_msg.. string.char(31,002).. ' |'
..string.char(31,207).. ' WS: ' ..string.char(31,001)..ws_msg.. string.char(31,002).. ' |'
..string.char(31,060).. ' Magic: ' ..string.char(31,001)..c_msg.. string.char(31,002).. ' |'
..string.char(31,004).. ' Defense: ' ..string.char(31,001)..d_msg.. string.char(31,002).. ' |'
..string.char(31,008).. ' Idle: ' ..string.char(31,001)..i_msg.. string.char(31,002).. ' |'
..string.char(31,002)..msg)
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function get_combat_weapon()
state.CombatWeapon:reset()
if weapon_list:contains(player.equipment.main) then
state.CombatWeapon:set(player.equipment.main)
end
end
function determine_haste_group()
classes.CustomMeleeGroups:clear()
if DW == true then
if DW_needed <= 11 then
classes.CustomMeleeGroups:append('MaxHaste')
elseif DW_needed > 11 and DW_needed <= 21 then
classes.CustomMeleeGroups:append('HighHaste')
elseif DW_needed > 21 and DW_needed <= 27 then
classes.CustomMeleeGroups:append('MidHaste')
elseif DW_needed > 27 and DW_needed <= 37 then
classes.CustomMeleeGroups:append('LowHaste')
elseif DW_needed > 37 then
classes.CustomMeleeGroups:append('')
end
end
end
function job_self_command(cmdParams, eventArgs)
gearinfo(cmdParams, eventArgs)
end
function gearinfo(cmdParams, eventArgs)
if cmdParams[1] == 'gearinfo' then
if type(tonumber(cmdParams[2])) == 'number' then
if tonumber(cmdParams[2]) ~= DW_needed then
DW_needed = tonumber(cmdParams[2])
DW = true
end
elseif type(cmdParams[2]) == 'string' then
if cmdParams[2] == 'false' then
DW_needed = 0
DW = false
end
end
if type(tonumber(cmdParams[3])) == 'number' then
if tonumber(cmdParams[3]) ~= Haste then
Haste = tonumber(cmdParams[3])
end
end
if type(cmdParams[4]) == 'string' then
if cmdParams[4] == 'true' then
moving = true
elseif cmdParams[4] == 'false' then
moving = false
end
end
if not midaction() then
job_update()
end
end
end
function check_moving()
if state.DefenseMode.value == 'None' and state.Kiting.value == false then
if state.Auto_Kite.value == false and moving then
state.Auto_Kite:set(true)
elseif state.Auto_Kite.value == true and moving == false then
state.Auto_Kite:set(false)
end
end
end
function check_gear()
if no_swap_gear:contains(player.equipment.left_ring) then
disable("ring1")
else
enable("ring1")
end
if no_swap_gear:contains(player.equipment.right_ring) then
disable("ring2")
else
enable("ring2")
end
end
function check_weaponset()
equip(sets[state.WeaponSet.current])
end
windower.register_event('zone change',
function()
if no_swap_gear:contains(player.equipment.left_ring) then
enable("ring1")
equip(sets.idle)
end
if no_swap_gear:contains(player.equipment.right_ring) then
enable("ring2")
equip(sets.idle)
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 == 'SAM' then
-- set_macro_page(1, 4)
-- elseif player.sub_job == 'WAR' then
-- set_macro_page(1, 4)
-- else
-- set_macro_page(1, 4)
--end
end
function set_lockstyle()
send_command('wait 2; input /lockstyle on ' .. lockstyleset)
end