|
lua small issue
サーバ: Asura
Game: FFXI
Posts: 27
By Asura.Xxpoure 2022-01-13 11:45:55
hey guys i have noticed in lua that when i ws the earrings are not changing .. i really for the life of me cannot figure out why .. can some one plz look and see what i messed up plz??? 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('Ragnarok','Reikiko')
state.mainweapon:options('Ragnarok','Naegling','Chango','Shine','Club')
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')
Ukon_weapons = S{'Ragnarok'}
Shield_weapons = S{'Blurred Shield +1'}
Chango_weapons = S{'Chango'}
Shine_weapons = S{'Shining One'}
Club_weapons = S{'Beryllium Mace +1'}
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.Ragnarok = {
main="Ragnarok",
sub="Utu Grip"
}
sets.mainweapon.Naegling = {
main="Naegling",
sub="Blurred Shield +1"
}
sets.mainweapon.Chango = {
main="Chango",
sub="Utu Grip"
}
sets.mainweapon.Shine = {
main="Shining One",
sub="Utu Grip"
}
sets.mainweapon.Club = {
main="Loxotic mace +1",
sub="Blurred Shield +1"}
-- Define sets and vars used by this job file.
function init_gear_sets()
-- Precast sets
sets.precast.JA['Berserk'] = {body="Pumm. Lorica +3",feet="Agoge Calligae +3"}
sets.precast.JA['Warcry'] = {head="Agoge Mask +3"}
sets.precast.JA['Aggressor'] = {head="Pummeler's Mask +2",body="Agoge Lorica +3"}
sets.precast.JA['Blood Rage'] = {body="Boii Lorica +1"}
sets.precast.JA['Retaliation'] = {feet="Boii Calligae +1",hands="Pummeler's Mufflers +1"}
sets.precast.JA['Restraint'] = {hands="Boii Mufflers +1"}
sets.precast.JA['Mighty Strikes'] = {hands="Agoge Mufflers +3"}
sets.precast.JA['Defender'] = {hands="Agoge Mufflers +3"}
sets.precast.JA["Warrior's Charge"] = {legs="Agoge Cuisses +3"}
sets.precast.JA['Provoke'] = {
ammo="Sapience orb",
head="Pummeler's Mask +2",
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Unmoving Collar +1",
waist="Trance Belt",
left_ear="Friomisi Earring",
right_ear="Cryptic Earring",
left_ring="Begrudging ring",
right_ring="Supershear Ring",
back={ name="Cichol's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Enmity+10','Damage taken-5%',}},
}
-- Fast cast sets for spells
sets.precast.FC = {
ammo="Impatiens",
head="Sakpata's helm",
body="",
ear1="Loquacious Earring",
hands="",
ring1="Rahab ring",
ring2="Prolix Ring",
legs="",
feet=""}
-- Midcast Sets
sets.midcast.FastRecast = {
ammo="Staunch Tathlum",
head="Hjarrandi Helm",
body="Hjarrandi Breast.",
hands="Volte Moufles",
legs="Souv. Diechlings +1",
feet="Hermes' Sandals",
neck="War. Beads +2",
waist="Flume Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Moonbeam Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Damage taken-5%',}},
}
sets.midcast.Flash = {
ammo="Aqreqaq Bomblet",
head="Pummeler's Mask +3",
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
neck="Unmoving Collar +1",
waist="Trance Belt",
left_ear="Friomisi Earring",
right_ear="Cryptic Earring",
left_ring="Eihwaz Ring",
right_ring="Supershear Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Damage taken-5%',}},
}
-- Resting sets
sets.resting = {
ammo="Staunch Tathlum",
head="Sakpata's Helm",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Sulevia's leggings +2",
neck="War. Beads +2",
waist="Flume Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Damage taken-5%',}},
}
-- Idle sets
sets.idle = {
ammo="Staunch Tathlum +1",
head="Hjarrandi Helm",
body="Hjarrandi breastplate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Flam. Gambieras +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist="Sailfi Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Karieyh Ring +1",
back="Moonlight cape"
}
sets.idle.PDT = {
ammo="Staunch Tathlum +1",
head="Hjarrandi Helm",
body="Hjarrandi breastplate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Flam. Gambieras +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist="Sailfi Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Niqmaddu Ring",
back="Moonlight cape"
}
sets.idle.Town = {
ammo="Staunch Tathlum +1",
head="Hjarrandi Helm",
body="Hjarrandi breastplate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Flam. Gambieras +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist="Sailfi Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Niqmaddu Ring",
back="Moonlight cape"
}
sets.engaged = {
ammo="Coiste bodhar",
head="Hjarrandi Helm",
neck="Warrior's Bead Necklace +2",
ear1="Cessance Earring",
ear2="Telos Earring",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
waist="Ioskeha Belt +1",
legs="Tatenashi haidate +1",
feet="Flamma Gambieras +2"
}
sets.engaged.Blurred = {
ammo="Ginsen",
head="Hjarrandi Helm",
neck="Warrior's Bead Necklace +2",
ear1="Cessance Earring",
ear2="Telos Earring",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
waist="Ioskeha Belt +1",
legs="Tatenashi haidate +1",
feet="Flamma Gambieras +2"
}
sets.engaged.Blurred.PDT = {
ammo="Ginsen",
head="Hjarrandi Helm",
neck="Warrior's Bead Necklace +2",
ear1="Cessance Earring",
ear2="Telos Earring",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
waist="Ioskeha Belt +1",
legs="Tatenashi haidate +1",
feet="Flamma Gambieras +2"
}
-- Weaponskill sets
sets.precast.WS = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands={ name="Odyssean Gauntlets", augments={'Accuracy+11 Attack+11','Weapon skill damage +3%','Accuracy+15','Attack+11',}},
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
left_ear="Ishvara Earring",
neck="Warrior's bead necklace +2",
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
right_ear="Moonshade earring",
left_ring="Epaminondas's 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.Acc = set_combine(sets.precast.WS, {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands={ name="Valorous Mitts", augments={'Accuracy+20','Weapon skill damage +4%','STR+12',}},
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
left_ear="Ishvara Earring",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
right_ear="Thrud earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
})
sets.precast.WS["Ukko's Fury"] = {
ammo="Yetshila +1",
head="Hjarrandi Helm",
body="Hjarrandi Breast.",
hands="Flam. Manopolas +2",
legs="Jokushu haidate",
feet="Boii calligae +1",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
ear1="Brutal Earring",
ear2="Moonshade Earring",
left_ring="Epaminondas's 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="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
left_ear="Ishvara Earring",
right_ear="Thrud earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Savage Blade"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Sakpata's gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
left_ear="Ishvara Earring",
neck="Warrior's bead necklace +2",
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
right_ear="Thrud earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Metatron Torment"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
ear1="Ishvara Earring",
ear2="Moonshade earring",
left_ring="Epaminondas's 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["Full Break"] = {
ammo="Pemphredo Tathlum",
head="Hjarrandi Helm",
body="Sakpata's Plate",
hands="Flam. Manopolas +2",
legs="Flamma Dirs +2",
feet="Flam. Gambieras +2",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Digni. Earring",
right_ear="Telos Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring +1",
back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Impulse Drive"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
left_ear="Ishvara Earring",
right_ear="Moonshade earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Hexa Strike"] = {
ammo="Yetshila +1",
head="Hjarrandi Helm",
body="Hjarrandi Breast.",
hands="Flam. Manopolas +2",
legs="Jokushu haidate",
feet="Boii calligae +1",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
left_ear="Brutal Earring",
right_ear="Moonshade Earring",
left_ring="Epaminondas's ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Judgement"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Moonshade earring",
left_ring="Epaminondas's ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','STR+10','Weapon skill damage +10%',}},
}
-- Mighty Strikes WS Set --
sets.MS_WS = {ammo="Yetshila +1", 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 update_combat_form()
-- Check Weapontype
if Ukon_weapons:contains(player.equipment.main) then
state.CombatForm:set('Ragnarok')
elseif
Shield_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Blurred')
elseif
Chango_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Chango')
elseif
Shine_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Shine')
elseif
Club_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Club')
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", "Torcleaver", "Savage Blade"}
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if world.time >= (17*60) or world.time <= (7*60) then
equip({ear1="",ear2=""})
end
if moonshade_WS:contains(spell.english) and player.tp<2950 then
equip({ear2=""})
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.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spellMap == 'Cure' and spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
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,9 )
elseif player.sub_job == 'NIN' then
set_macro_page(1, 9)
elseif player.sub_job == 'RDM' then
set_macro_page(1, 9)
elseif player.sub_job == 'THF' then
set_macro_page(1, 9)
else
set_macro_page(1, 9)
end
end
サーバ: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2022-01-13 12:03:03
On ANY WS or a specific WS? Which one? Which earring isn't switching, both? Is any other gear switching?
For what it's worth, I've never seen a lua where WS gear wasn't first, but I doubt that's the issue.
More info please
サーバ: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2022-01-13 12:24:18
Nevermind, the issue is that all of your weaponskills are in quotes, and they should be in single... uh... whatever they're called.
Yours:
sets.precast.WS["Savage Blade"] = {}
Mine:
sets.precast.WS['Savage Blade'] = {}
Although... something else is also screwed up. Gimme a minute.
Leviathan.Boposhopo
サーバ: Leviathan
Game: FFXI
Posts: 229
By Leviathan.Boposhopo 2022-01-13 12:25:59
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if world.time >= (17*60) or world.time <= (7*60) then
equip({ear1="",ear2=""})
end
if moonshade_WS:contains(spell.english) and player.tp<2950 then
equip({ear2=""})
end
I knew your lua was driving me insane cause it was constantly switching from ear1/ear2 to left_ear/right_ear, but you also have a fuction in there to equip certain earrings based on time of day and TP amount that are labled ear1 and ear2 that are just blank. Likely your issue. I'd get them all consistently on Ear1 and Ear2 instead of having both.
[+]
Leviathan.Boposhopo
サーバ: Leviathan
Game: FFXI
Posts: 229
By Leviathan.Boposhopo 2022-01-13 12:27:06
Nevermind, the issue is that all of your weaponskills are in quotes, and they should be in single... uh... whatever they're called.
Yours:
sets.precast.WS["Savage Blade"] = {}
Mine:
sets.precast.WS['Savage Blade'] = {}
Although... something else is also screwed up. Gimme a minute.
you can do it either way, you can even use no quotes if it's just a single word and isn't a two word WS
サーバ: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2022-01-13 13:00:25
Leviathan.Boposhopo said: »function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if world.time >= (17*60) or world.time <= (7*60) then
equip({ear1="",ear2=""})
end
if moonshade_WS:contains(spell.english) and player.tp<2950 then
equip({ear2=""})
end
I knew your lua was driving me insane cause it was constantly switching from ear1/ear2 to left_ear/right_ear, but you also have a fuction in there to equip certain earrings based on time of day and TP amount that are labled ear1 and ear2 that are just blank. Likely your issue. I'd get them all consistently on Ear1 and Ear2 instead of having both.
Beat me to it, but this is the correct answer.
Delete lines 485-490, that are telling it to equip nothing in ear2 during time/tp alternatives. or fill them out correctly, either way
サーバ: Asura
Game: FFXI
Posts: 27
By Asura.Xxpoure 2022-01-13 13:09:40
that awesome guys i owe you ... thanks so much
hey guys i have noticed in lua that when i ws the earrings are not changing .. i really for the life of me cannot figure out why .. can some one plz look and see what i messed up plz??? 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('Ragnarok','Reikiko')
state.mainweapon:options('Ragnarok','Naegling','Chango','Shine','Club')
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')
Ukon_weapons = S{'Ragnarok'}
Shield_weapons = S{'Blurred Shield +1'}
Chango_weapons = S{'Chango'}
Shine_weapons = S{'Shining One'}
Club_weapons = S{'Beryllium Mace +1'}
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.Ragnarok = {
main="Ragnarok",
sub="Utu Grip"
}
sets.mainweapon.Naegling = {
main="Naegling",
sub="Blurred Shield +1"
}
sets.mainweapon.Chango = {
main="Chango",
sub="Utu Grip"
}
sets.mainweapon.Shine = {
main="Shining One",
sub="Utu Grip"
}
sets.mainweapon.Club = {
main="Loxotic mace +1",
sub="Blurred Shield +1"}
-- Define sets and vars used by this job file.
function init_gear_sets()
-- Precast sets
sets.precast.JA['Berserk'] = {body="Pumm. Lorica +3",feet="Agoge Calligae +3"}
sets.precast.JA['Warcry'] = {head="Agoge Mask +3"}
sets.precast.JA['Aggressor'] = {head="Pummeler's Mask +2",body="Agoge Lorica +3"}
sets.precast.JA['Blood Rage'] = {body="Boii Lorica +1"}
sets.precast.JA['Retaliation'] = {feet="Boii Calligae +1",hands="Pummeler's Mufflers +1"}
sets.precast.JA['Restraint'] = {hands="Boii Mufflers +1"}
sets.precast.JA['Mighty Strikes'] = {hands="Agoge Mufflers +3"}
sets.precast.JA['Defender'] = {hands="Agoge Mufflers +3"}
sets.precast.JA["Warrior's Charge"] = {legs="Agoge Cuisses +3"}
sets.precast.JA['Provoke'] = {
ammo="Sapience orb",
head="Pummeler's Mask +2",
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Unmoving Collar +1",
waist="Trance Belt",
left_ear="Friomisi Earring",
right_ear="Cryptic Earring",
left_ring="Begrudging ring",
right_ring="Supershear Ring",
back={ name="Cichol's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Enmity+10','Damage taken-5%',}},
}
-- Fast cast sets for spells
sets.precast.FC = {
ammo="Impatiens",
head="Sakpata's helm",
body="",
ear1="Loquacious Earring",
hands="",
ring1="Rahab ring",
ring2="Prolix Ring",
legs="",
feet=""}
-- Midcast Sets
sets.midcast.FastRecast = {
ammo="Staunch Tathlum",
head="Hjarrandi Helm",
body="Hjarrandi Breast.",
hands="Volte Moufles",
legs="Souv. Diechlings +1",
feet="Hermes' Sandals",
neck="War. Beads +2",
waist="Flume Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Moonbeam Ring",
right_ring="Defending Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Damage taken-5%',}},
}
sets.midcast.Flash = {
ammo="Aqreqaq Bomblet",
head="Pummeler's Mask +3",
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
neck="Unmoving Collar +1",
waist="Trance Belt",
left_ear="Friomisi Earring",
right_ear="Cryptic Earring",
left_ring="Eihwaz Ring",
right_ring="Supershear Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Damage taken-5%',}},
}
-- Resting sets
sets.resting = {
ammo="Staunch Tathlum",
head="Sakpata's Helm",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Sulevia's leggings +2",
neck="War. Beads +2",
waist="Flume Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Damage taken-5%',}},
}
-- Idle sets
sets.idle = {
ammo="Staunch Tathlum +1",
head="Hjarrandi Helm",
body="Hjarrandi breastplate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Flam. Gambieras +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist="Sailfi Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Karieyh Ring +1",
back="Moonlight cape"
}
sets.idle.PDT = {
ammo="Staunch Tathlum +1",
head="Hjarrandi Helm",
body="Hjarrandi breastplate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Flam. Gambieras +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist="Sailfi Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Niqmaddu Ring",
back="Moonlight cape"
}
sets.idle.Town = {
ammo="Staunch Tathlum +1",
head="Hjarrandi Helm",
body="Hjarrandi breastplate",
hands="Sakpata's Gauntlets",
legs="Sakpata's Cuisses",
feet="Flam. Gambieras +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist="Sailfi Belt +1",
left_ear="Odnowa earring +1",
right_ear="Moonshade earring",
left_ring="Defending Ring",
right_ring="Niqmaddu Ring",
back="Moonlight cape"
}
sets.engaged = {
ammo="Coiste bodhar",
head="Hjarrandi Helm",
neck="Warrior's Bead Necklace +2",
ear1="Cessance Earring",
ear2="Telos Earring",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
waist="Ioskeha Belt +1",
legs="Tatenashi haidate +1",
feet="Flamma Gambieras +2"
}
sets.engaged.Blurred = {
ammo="Ginsen",
head="Hjarrandi Helm",
neck="Warrior's Bead Necklace +2",
ear1="Cessance Earring",
ear2="Telos Earring",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
waist="Ioskeha Belt +1",
legs="Tatenashi haidate +1",
feet="Flamma Gambieras +2"
}
sets.engaged.Blurred.PDT = {
ammo="Ginsen",
head="Hjarrandi Helm",
neck="Warrior's Bead Necklace +2",
ear1="Cessance Earring",
ear2="Telos Earring",
body="Sakpata's Plate",
hands="Sakpata's Gauntlets",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
waist="Ioskeha Belt +1",
legs="Tatenashi haidate +1",
feet="Flamma Gambieras +2"
}
-- Weaponskill sets
sets.precast.WS = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands={ name="Odyssean Gauntlets", augments={'Accuracy+11 Attack+11','Weapon skill damage +3%','Accuracy+15','Attack+11',}},
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
left_ear="Ishvara Earring",
neck="Warrior's bead necklace +2",
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
right_ear="Moonshade earring",
left_ring="Epaminondas's 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.Acc = set_combine(sets.precast.WS, {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands={ name="Valorous Mitts", augments={'Accuracy+20','Weapon skill damage +4%','STR+12',}},
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
left_ear="Ishvara Earring",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
right_ear="Thrud earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
})
sets.precast.WS["Ukko's Fury"] = {
ammo="Yetshila +1",
head="Hjarrandi Helm",
body="Hjarrandi Breast.",
hands="Flam. Manopolas +2",
legs="Jokushu haidate",
feet="Boii calligae +1",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
ear1="Brutal Earring",
ear2="Moonshade Earring",
left_ring="Epaminondas's 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="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck={ name="War. Beads +2", augments={'Path: A',}},
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
left_ear="Ishvara Earring",
right_ear="Thrud earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Savage Blade"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Sakpata's gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
left_ear="Ishvara Earring",
neck="Warrior's bead necklace +2",
waist={ name="Sailfi Belt +1", augments={'Path: A',}},
right_ear="Thrud earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Metatron Torment"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
ear1="Ishvara Earring",
ear2="Moonshade earring",
left_ring="Epaminondas's 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["Full Break"] = {
ammo="Pemphredo Tathlum",
head="Hjarrandi Helm",
body="Sakpata's Plate",
hands="Flam. Manopolas +2",
legs="Flamma Dirs +2",
feet="Flam. Gambieras +2",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Digni. Earring",
right_ear="Telos Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring +1",
back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Impulse Drive"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
left_ear="Ishvara Earring",
right_ear="Moonshade earring",
left_ring="Epaminondas's ring",
right_ring="Karieyh Ring +1",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Hexa Strike"] = {
ammo="Yetshila +1",
head="Hjarrandi Helm",
body="Hjarrandi Breast.",
hands="Flam. Manopolas +2",
legs="Jokushu haidate",
feet="Boii calligae +1",
neck="Warrior's bead necklace +2",
waist="Sailfi belt +1",
left_ear="Brutal Earring",
right_ear="Moonshade Earring",
left_ring="Epaminondas's ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS["Judgement"] = {
ammo="Knobkierrie",
head={ name="Agoge Mask +3", augments={'Enhances "Savagery" effect',}},
body="Pumm. Lorica +3",
hands="Nyame Gauntlets",
legs="Nyame flanchard",
feet="Sulev. Leggings +2",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Moonshade earring",
left_ring="Epaminondas's ring",
right_ring="Niqmaddu Ring",
back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','STR+10','Weapon skill damage +10%',}},
}
-- Mighty Strikes WS Set --
sets.MS_WS = {ammo="Yetshila +1", 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 update_combat_form()
-- Check Weapontype
if Ukon_weapons:contains(player.equipment.main) then
state.CombatForm:set('Ragnarok')
elseif
Shield_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Blurred')
elseif
Chango_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Chango')
elseif
Shine_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Shine')
elseif
Club_weapons:contains(player.equipment.sub) then
state.CombatForm:set('Club')
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", "Torcleaver", "Savage Blade"}
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if world.time >= (17*60) or world.time <= (7*60) then
equip({ear1="",ear2=""})
end
if moonshade_WS:contains(spell.english) and player.tp<2950 then
equip({ear2=""})
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.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spellMap == 'Cure' and spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
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,9 )
elseif player.sub_job == 'NIN' then
set_macro_page(1, 9)
elseif player.sub_job == 'RDM' then
set_macro_page(1, 9)
elseif player.sub_job == 'THF' then
set_macro_page(1, 9)
else
set_macro_page(1, 9)
end
end
|
|