|
RDM Lua, Help, Can I Have It?
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2014-10-16 02:06:14
Ok, I feel bad for asking, but is there any way someone would be willing to update my Gearswap for me?
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff.Saboteur = buffactive.saboteur or false
event_list = L{}
event_list:append(windower.register_event('time change', time_change))
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.CombatModes = {'Frontline', 'Backline'}
options.OffenseModes = {'Normal', 'Acc', 'TH'}
options.DefenseModes = {'Normal', 'DT'}
options.WeaponskillModes = {'Normal', 'Acc', 'TH'}
options.CastingModes = {'Normal', 'Acc', 'TH'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT', 'RefreshPDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
state.CombatForm = nil
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
state.CombatMode = 'Frontline'
else
state.CombatMode = 'Backline'
end
select_default_macro_book()
EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle'}
INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
event_list:map(unregister_event)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
back="Swith Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Cheruski Needle",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS.Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS.TH= {ammo="Cheruski Needle",
head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Tarutaru Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Vanir Boots"}
sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
-- Midcast Sets
sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Tarutaru Sash"})
sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Tarutaru Sash",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
--sets.midcast.Aspir = sets.midcast.Drain
-- Sets for special buff conditions on spells.
sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
-- 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
-- Normal melee group
sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Tarutaru Sash",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
-- Defensive melee group
sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer of fast recast.
equip(sets.midcast.FastRecast)
end
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Enhancing Magic' then
if spell.target.type == 'PLAYER' and buffactive.composure then
if spell.english == 'Phalanx II' then
equip(sets.buff.EnhancingDuration)
else
equip(sets.buff.ComposureOther)
end
else
equip(sets.midcast.EnhancingDuration)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
if state.CombatMode == 'Frontline' then
return "FrontlineCure"
else
return "BacklineCure"
end
elseif MNDPotencySpells:contains(spell.english) then
return 'MNDPotency'
elseif spell.english == 'Silence' then
return 'MNDAccuracy'
elseif spell.english == 'Blind' then
return 'INTPotency'
elseif INTAccuracySpells:contains(spell.english) then
return 'INTAccuracy'
elseif EnhancingSpells:contains(spell.english) then
return 'Enhancing'
elseif IceSpells:contains(spell.english) then
return 'Blizzard'
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
function get_custom_wsmode(spell, action, spellMap, default_wsmode)
if default_wsmode == 'Acc' and classes.Daytime then
return 'DaytimeAcc'
end
end
function job_time_change(new_time, old_time)
classes.CustomMeleeGroups:clear()
if classes.Daytime then
classes.CustomMeleeGroups:append('Daytime')
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
if weapons then
equip(weapons)
weapons = nil
eventArgs.handled = true
end
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'CombatMode' then
if newValue == 'Frontline' then
weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
send_command('wait 0.1; gs disable main sub')
else
enable('main', 'sub')
end
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local defenseString = ''
if state.Defense.Active then
local defMode = state.Defense.PhysicalMode
if state.Defense.Type == 'Magical' then
defMode = state.Defense.MagicalMode
end
defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
end
local meleeString = ''
if state.OffenseMode == 'Normal' then
--meleeString = 'Melee: Weapons locked, '
end
add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString..
'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting])
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, 5)
-- Default macro set/book
if player.sub_job == 'BLM' then
set_macro_page(2, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(5, 5)
elseif player.sub_job == 'DRK' then
set_macro_page(7, 5)
elseif player.sub_job == 'PLD' then
set_macro_page(8, 5)
end
end
About 2~3 months ago I effectively quit the game. During that time it's my understanding there was an update of some sort that requires changes to my Lua that I'm not quite sure how to do myself(pops something up in my log when I log in about it too). The last thing I want to do upon just returning is spend hours trying to update this thing, so I'm hoping someone would be so kind as to help me with it. Also if anyone has any suggestions on how to clean it up or anything that'd be great too. Thank you.
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-10-16 02:18:30
Phoenix.Demonjustin said: »Ok, I feel bad for asking, but is there any way someone would be willing to update my Gearswap for me?
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff.Saboteur = buffactive.saboteur or false
event_list = L{}
event_list:append(windower.register_event('time change', time_change))
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.CombatModes = {'Frontline', 'Backline'}
options.OffenseModes = {'Normal', 'Acc', 'TH'}
options.DefenseModes = {'Normal', 'DT'}
options.WeaponskillModes = {'Normal', 'Acc', 'TH'}
options.CastingModes = {'Normal', 'Acc', 'TH'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT', 'RefreshPDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
state.CombatForm = nil
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
state.CombatMode = 'Frontline'
else
state.CombatMode = 'Backline'
end
select_default_macro_book()
EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle'}
INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
event_list:map(unregister_event)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
back="Swith Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Cheruski Needle",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS.Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS.TH= {ammo="Cheruski Needle",
head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Tarutaru Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Vanir Boots"}
sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
-- Midcast Sets
sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Tarutaru Sash"})
sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Tarutaru Sash",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
--sets.midcast.Aspir = sets.midcast.Drain
-- Sets for special buff conditions on spells.
sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
-- 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
-- Normal melee group
sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Tarutaru Sash",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
-- Defensive melee group
sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer of fast recast.
equip(sets.midcast.FastRecast)
end
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Enhancing Magic' then
if spell.target.type == 'PLAYER' and buffactive.composure then
if spell.english == 'Phalanx II' then
equip(sets.buff.EnhancingDuration)
else
equip(sets.buff.ComposureOther)
end
else
equip(sets.midcast.EnhancingDuration)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
if state.CombatMode == 'Frontline' then
return "FrontlineCure"
else
return "BacklineCure"
end
elseif MNDPotencySpells:contains(spell.english) then
return 'MNDPotency'
elseif spell.english == 'Silence' then
return 'MNDAccuracy'
elseif spell.english == 'Blind' then
return 'INTPotency'
elseif INTAccuracySpells:contains(spell.english) then
return 'INTAccuracy'
elseif EnhancingSpells:contains(spell.english) then
return 'Enhancing'
elseif IceSpells:contains(spell.english) then
return 'Blizzard'
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
function get_custom_wsmode(spell, action, spellMap, default_wsmode)
if default_wsmode == 'Acc' and classes.Daytime then
return 'DaytimeAcc'
end
end
function job_time_change(new_time, old_time)
classes.CustomMeleeGroups:clear()
if classes.Daytime then
classes.CustomMeleeGroups:append('Daytime')
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
if weapons then
equip(weapons)
weapons = nil
eventArgs.handled = true
end
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'CombatMode' then
if newValue == 'Frontline' then
weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
send_command('wait 0.1; gs disable main sub')
else
enable('main', 'sub')
end
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local defenseString = ''
if state.Defense.Active then
local defMode = state.Defense.PhysicalMode
if state.Defense.Type == 'Magical' then
defMode = state.Defense.MagicalMode
end
defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
end
local meleeString = ''
if state.OffenseMode == 'Normal' then
--meleeString = 'Melee: Weapons locked, '
end
add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString..
'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting])
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, 5)
-- Default macro set/book
if player.sub_job == 'BLM' then
set_macro_page(2, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(5, 5)
elseif player.sub_job == 'DRK' then
set_macro_page(7, 5)
elseif player.sub_job == 'PLD' then
set_macro_page(8, 5)
end
end
About 2~3 months ago I effectively quit the game. During that time it's my understanding there was an update of some sort that requires changes to my Lua that I'm not quite sure how to do myself(pops something up in my log when I log in about it too). The last thing I want to do upon just returning is spend hours trying to update this thing, so I'm hoping someone would be so kind as to help me with it. Also if anyone has any suggestions on how to clean it up or anything that'd be great too. Thank you.
Redownload motes - copy and paste all you gear across takes 10 minutes.
enjoy.
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2014-10-16 05:06:10
Well, I did try updating it by simply copy pasting, but this is what I get now. : (
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.Saboteur = buffactive.saboteur or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.CombatModes:options('Frontline', 'Backline')
state.OffenseModes:options('Normal', 'Acc', 'TH')
state.DefenseModes:options('Normal', 'DT')
state.WeaponskillModes:options('Normal', 'Acc', 'TH')
state.CastingModes:options('Normal', 'Acc', 'TH')
state.IdleModes:options('Normal')
state.RestingModes:options('Normal')
state.PhysicalDefenseModes:options('PDT', 'RefreshPDT')
state.MagicalDefenseModes:options('MDT')
select_default_macro_book()
state.Defense.PhysicalMode = 'PDT'
state.CombatForm = nil
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
state.CombatMode = 'Frontline'
else
state.CombatMode = 'Backline'
end
EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle'}
INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
back="Swith Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Cheruski Needle",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS.Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS.TH= {ammo="Cheruski Needle",
head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Tarutaru Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Vanir Boots"}
sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
-- Midcast Sets
sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Tarutaru Sash"})
sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Tarutaru Sash",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
--sets.midcast.Aspir = sets.midcast.Drain
-- Sets for special buff conditions on spells.
sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
-- 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
-- Normal melee group
sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Tarutaru Sash",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
-- Defensive melee group
sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Enhancing Magic' then
if buffactive.composure and spell.target.type == 'PLAYER' then
if spell.english == 'Phalanx II' then
equip(sets.buff.EnhancingDuration)
else
equip(sets.buff.ComposureOther)
end
else
equip(sets.midcast.EnhancingDuration)
end
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 == 'CombatMode' then
if newValue == 'Frontline' then
weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
send_command('wait 0.1; gs disable main sub')
else
enable('main', 'sub')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
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
if player.sub_job == 'BLM' then
set_macro_page(2, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(5, 5)
elseif player.sub_job == 'DRK' then
set_macro_page(7, 5)
elseif player.sub_job == 'PLD' then
set_macro_page(8, 5)
else
set_macro_page(1, 5)
end
end
Carbuncle.Bukadan
サーバ: Carbuncle
Game: FFXI
Posts: 280
By Carbuncle.Bukadan 2014-10-18 23:02:53
i dont know how much it has changed over the last few months, but my luas are all Name_Job.lua.
Ok, I feel bad for asking, but is there any way someone would be willing to update my Gearswap for me?
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff.Saboteur = buffactive.saboteur or false
event_list = L{}
event_list:append(windower.register_event('time change', time_change))
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.CombatModes = {'Frontline', 'Backline'}
options.OffenseModes = {'Normal', 'Acc', 'TH'}
options.DefenseModes = {'Normal', 'DT'}
options.WeaponskillModes = {'Normal', 'Acc', 'TH'}
options.CastingModes = {'Normal', 'Acc', 'TH'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT', 'RefreshPDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
state.CombatForm = nil
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
state.CombatForm = 'DW'
else
state.CombatForm = nil
end
if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
state.CombatMode = 'Frontline'
else
state.CombatMode = 'Backline'
end
select_default_macro_book()
EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle'}
INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
event_list:map(unregister_event)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
back="Swith Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Cheruski Needle",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS.Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS.TH= {ammo="Cheruski Needle",
head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Tarutaru Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Vanir Boots"}
sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Wanion Belt",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
-- Midcast Sets
sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Tarutaru Sash"})
sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Tarutaru Sash",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
--sets.midcast.Aspir = sets.midcast.Drain
-- Sets for special buff conditions on spells.
sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
-- 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
-- Normal melee group
sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Letalis Mantle",waist="Shetal Stone",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Tarutaru Sash",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
-- Defensive melee group
sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer of fast recast.
equip(sets.midcast.FastRecast)
end
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Enhancing Magic' then
if spell.target.type == 'PLAYER' and buffactive.composure then
if spell.english == 'Phalanx II' then
equip(sets.buff.EnhancingDuration)
else
equip(sets.buff.ComposureOther)
end
else
equip(sets.midcast.EnhancingDuration)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
if state.CombatMode == 'Frontline' then
return "FrontlineCure"
else
return "BacklineCure"
end
elseif MNDPotencySpells:contains(spell.english) then
return 'MNDPotency'
elseif spell.english == 'Silence' then
return 'MNDAccuracy'
elseif spell.english == 'Blind' then
return 'INTPotency'
elseif INTAccuracySpells:contains(spell.english) then
return 'INTAccuracy'
elseif EnhancingSpells:contains(spell.english) then
return 'Enhancing'
elseif IceSpells:contains(spell.english) then
return 'Blizzard'
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
function get_custom_wsmode(spell, action, spellMap, default_wsmode)
if default_wsmode == 'Acc' and classes.Daytime then
return 'DaytimeAcc'
end
end
function job_time_change(new_time, old_time)
classes.CustomMeleeGroups:clear()
if classes.Daytime then
classes.CustomMeleeGroups:append('Daytime')
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
if weapons then
equip(weapons)
weapons = nil
eventArgs.handled = true
end
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'CombatMode' then
if newValue == 'Frontline' then
weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
send_command('wait 0.1; gs disable main sub')
else
enable('main', 'sub')
end
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local defenseString = ''
if state.Defense.Active then
local defMode = state.Defense.PhysicalMode
if state.Defense.Type == 'Magical' then
defMode = state.Defense.MagicalMode
end
defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
end
local meleeString = ''
if state.OffenseMode == 'Normal' then
--meleeString = 'Melee: Weapons locked, '
end
add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString..
'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting])
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, 5)
-- Default macro set/book
if player.sub_job == 'BLM' then
set_macro_page(2, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(5, 5)
elseif player.sub_job == 'DRK' then
set_macro_page(7, 5)
elseif player.sub_job == 'PLD' then
set_macro_page(8, 5)
end
end
About 2~3 months ago I effectively quit the game. During that time it's my understanding there was an update of some sort that requires changes to my Lua that I'm not quite sure how to do myself(pops something up in my log when I log in about it too). The last thing I want to do upon just returning is spend hours trying to update this thing, so I'm hoping someone would be so kind as to help me with it. Also if anyone has any suggestions on how to clean it up or anything that'd be great too. Thank you.
|
|