-------------------------------------------------------------------------------------------------------------------
-- 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
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'Normal'}
options.DefenseModes = {'Normal'}
options.WeaponskillModes = {'Normal'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
select_default_macro_book(1, 5)
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
end
-- Define sets and vars used by this job file.
function init_gear_sets()
if player.sub_job:lower() == 'nin' then
init_melee_gear_sets()
return
end
if player.sub_job:lower() == 'dnc' then
init_melee_gear_sets()
return
end
--------------------------------------
-- 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 = {}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- 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="Estoqueur's 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="Vitivation Boots +1"}
sets.precast.FC.ElementalMagic = set_combine(sets.precast.FC, {ammo="Witchstone", belt="Sekhmet Corset"})
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Midcast Sets
sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast.Cure = {main="Tefnut Wand",sub="Genbu's Shield",ammo="Impatiens",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estoqueur's Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
sets.midcast.EnhancingMagic = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Colossus's Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Viti. Gloves +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Estoqueur's Cape",waist="Siegel Sash",legs="Shedir Seraweels",feet="Estq. Houseaux +2"}
sets.midcast['Phalanx'] = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Colossus's Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Viti. Gloves +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Estoqueur's Cape",waist="Siegel Sash",legs="Shedir Seraweels",feet="Estq. Houseaux +2"}
sets.midcast.Refresh = {legs="Estoqueur's Fuseau +2"}
sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash"}
sets.midcast.EnfeeblingMagic = {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="Hagondes Gloves +1",ring1="Sangoma Ring",ring2="Strendu Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
--MND Potency
sets.midcast['Paralyze'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast['Paralyze II'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast['Slow'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast['Slow II'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast['Addle'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- MND Accuracy
sets.midcast['Silence'] = {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="Hagondes Gloves +1",ring1="Sangoma Ring",ring2="Strendu Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
-- INT Potency
sets.midcast['Blind'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Spiral Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
-- INT Accuracy
sets.midcast['Sleep'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Sleep II'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Sleepga'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Sleepga II'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Break'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Bind'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Dispel'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's 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="Vitivation Boots +1"}
sets.midcast['Gravity'] = {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="Hagondes Gloves +1",ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast['Gravity II'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",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="Atrophy Tabard +1",hands="Hagondes Gloves +1",ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.ElementalMagic = {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="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
sets.midcast.Impact = set_combine(sets.midcast.ElementalEnfeeble, {head=empty,body="Twilight Cloak"})
sets.midcast.DarkMagic = {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="Hagondes Gloves +1",ring1="Sangoma Ring",ring2="Diamond Ring",
back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"})
--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 = {back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Estoqueur's Gantherots +2",
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="Shikargar",sub="Genbu's Shield",ammo="Impaties",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Prolix 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="Shikargar",sub="Genbu's Shield",ammo="Impaties",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Shikargar",sub="Genbu's Shield",ammo="Impaties",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Shikargar",sub="Genbu's Shield",ammo="Impaties",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impaties",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impaties",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Estoqueur's Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Engaged sets
-- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
-- sets if more refined versions aren't defined.
-- If you create a set with both offense and defense modes, the offense mode should be first.
-- EG: sets.engaged.Dagger.Accuracy.Evasion
-- Normal melee group
sets.engaged = {}
end
-- Separates between Magic Only Subjob sets and Melee Subjob sets.
function init_melee_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="Excalibur",sub="Buramenk'ah",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="Espial Socks"}
sets.precast.FC.EnhancingMagic = set_combine(sets.precast.FC, {ammo=empty,waist=empty})
sets.precast.FC['Utsusemi'] = set_combine(sets.precast.FC, {ammo=empty,waist=empty})
sets.precast.FC.Impact = set_combine(sets.precast.FC, {ammo=empty,head=empty,body="Twilight Cloak",waist=empty})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {main="Excalibur",sub="Buramenk'ah",ammo="Cheruski Needle",
head="Espial Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Espial Gambison",hands="Espial Bracers",ring1="Aqua Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Espial Hose",feet="Espial Socks"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = {main="Excalibur",sub="Buramenk'ah",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['Knights of Round'] = {main="Excalibur",sub="Buramenk'ah",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['Death Blossom'] = {main="Excalibur",sub="Buramenk'ah",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['Chant du Cygne'] = {main="Excalibur",sub="Buramenk'ah",ammo="Cheruski Needle",
head="Espial Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Espial Gambison",hands="Espial Bracers",ring1="Thundersoul Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Wanion Belt",legs="Espial Hose",feet="Espial Socks"}
-- Midcast Sets
sets.midcast.FastRecast = {main="Excalibur",sub="Buramenk'ah",ammo="Hasty Pinion",
head="Viti. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Espial Bracers",ring1="Prolix Ring",ring2="Shadow Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Espial Socks"}
sets.midcast.Cure = {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="Witful Belt",legs="Atrophy Tights",feet="Vitivation Boots +1"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast.EnhancingMagic = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Viti. Gloves +1",ring1="Prolix Ring",ring2="Shadow Ring",
back="Estoqueur's Cape",waist="Siegel Sash",legs="Shedir Seraweels",feet="Estq. Houseaux +2"}
sets.midcast.Refresh = {legs="Estoqueur's Fuseau +2"}
sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
sets.midcast.EnfeeblingMagic = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Orunmila's Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Aqua Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Tarutaru Sash"})
sets.midcast['Dia III'] = set_combine(sets.midcast.EnfeeblingMagic, {head="Viti. Chapeau +1"})
sets.midcast['Slow II'] = set_combine(sets.midcast.EnfeeblingMagic, {head="Viti. Chapeau +1"})
sets.midcast.ElementalMagic = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Orunmila's Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Aqua Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.midcast.Impact = set_combine(sets.midcast.ElementalMagic, {head=empty,body="Twilight Cloak"})
sets.midcast.DarkMagic = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
head="Viti. Chapeau +1",neck="Orunmila's Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Aqua Ring",
back="Swith Cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
--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 = {back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Estoqueur's Gantherots +2",
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="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="K'ayres 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="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="K'ayres Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="K'ayres Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="K'ayres Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="K'ayres Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.defense.MDT = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="K'ayres Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
-- Engaged sets
-- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
-- sets if more refined versions aren't defined.
-- If you create a set with both offense and defense modes, the offense mode should be first.
-- EG: sets.engaged.Dagger.Accuracy.Evasion
-- Normal melee group
sets.engaged = {main="Excalibur",sub="Buramenk'ah",ammo="Cheruski Needle",
head="Espial Cap",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi",
body="Espial Gambison",hands="Espial Bracers",ring1="K'ayres Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Cetl Belt",legs="Espial Hose",feet="Espial Socks"}
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 == 'EnfeeblingMagic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'EnhancingMagic' then
if buffactive.composure and spell.english == 'Phalanx II' and spell.target.type == 'PLAYER' then
equip(sets.buff.EnhancingMagic)
elseif buffactive.composure and spell.target.type == 'PLAYER' then
equip(sets.buff.ComposureOther)
elseif spell.target.type == 'SELF' then
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.
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-- 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
-- Called when the player's subjob changes.
function sub_job_change(newSubjob, oldSubjob)
select_default_macro_book()
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)
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,'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(8, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(6, 5)
end
end
function get_spell_class(spell, action, spellMap)
local spellclass
if spell.action_type == 'Magic' then
if spell.skill == "EnfeeblingMagic" then
if spell.type == "WhiteMagic" then
spellclass = "MndEnfeebles"
else
spellclass = "IntEnfeebles"
end
end
end
return spellclass
end