Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------------------------------------------
- -- 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.OffenseMode:options('None', 'Normal')
- state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
- state.CastingMode:options('Normal', 'Resistant')
- state.IdleMode:options('Normal', 'PDT', 'MDT')
- gear.default.obi_waist = "Sekhmet Corset"
- select_default_macro_book()
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- grio_fc = { name="Grioavolr", augments={'"Fast Cast"+3','MND+13','Mag. Acc.+28','"Mag.Atk.Bns."+5','Magic Damage +6',}}
- grio_enhancing = { name="Grioavolr", augments={'Enh. Mag. eff. dur. +8','INT+15','Mag. Acc.+19','"Mag.Atk.Bns."+9',}}
- telchine_head_enh_duration = { name="Telchine Cap", augments={'Enh. Mag. eff. dur. +9',}}
- telchine_body_enh_duration = { name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +9',}}
- telchine_legs_enh_duration = { name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +9',}}
- merlinic_body_macc = { name="Merlinic Jubbah", augments={'Mag. Acc.+29','Magic dmg. taken -2%','MND+13','"Mag.Atk.Bns."+4',}}
- merlinic_legs_macc = { name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','INT+14','Mag. Acc.+10',}}
- chironic_legs_macc = { name="Chironic Hose", augments={'AGI+9','Mag. Acc.+28','"Fast Cast"+1','Mag. Acc.+14 "Mag.Atk.Bns."+14',}}
- merlinic_hands_refresh = { name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+7','Mag. Acc.+24 "Mag.Atk.Bns."+24','"Refresh"+2','Accuracy+13 Attack+13',}}
- chironic_feet_refresh = { name="Chironic Slippers", augments={'AGI+4','STR+2','"Refresh"+1','Accuracy+17 Attack+17','Mag. Acc.+9 "Mag.Atk.Bns."+9',}}
- sucellos_cure = { name="Sucellos's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Cure" potency +10%',}}
- sucellos_macc = sucellos_cure
- -- Precast Sets
- -- Precast sets to enhance JAs
- sets.precast.JA['Chainspell'] = {body="Viti. Tabard +1"}
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {
- head="Hagondes hat",
- body="Gendewitha Bliaut",hands="Helios Gloves",
- back="Refraction Cape",legs="Orvail Pants +1",feet="Uk'uxkaj Boots"}
- -- 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=grio_fc,ammo="Impatiens",
- head="Atro. Chapeau +2",neck="Orunmila's torque",lear="Enchntr. Earring +1",rear="Loquac. Earring",
- body="Viti. Tabard +1",hands="Leyline Gloves",lring="Lebeche Ring",rring="Prolix Ring",
- back="Perimede Cape",waist="Witful Belt",legs="Psycloth Lappas",feet="Merlinic Crackows"}
- 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="Paeapua",
- head="Taeon chapeau",neck="Fotia gorget",lear="Bladeborn Earring",rear="Steelflash Earring",
- body="Taeon tabard",hands="Taeon Gloves",lring="Rajas Ring",rring="K'ayres Ring",
- back="Bleating Mantle",waist="Fotia Belt",legs="Taeon tights",feet="Atrophy Boots +1"}
- sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS, {ammo="Memoria sachet",
- head="Helios band",neck="Eddy Necklace",lear="Friomisi Earring",rear="Sortiarius Earring",
- body="Hagondes coat",hands="Helios gloves",lring="Fenrir Ring +1",rring="Acumen Ring",
- back="Toro Cape",waist="Othila sash",legs="Hagondes pants",feet="Helios Boots"})
- sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ammo="Oreiad's tathlum",
- head="Atro. Chapeau +2",neck="Tlamiztli collar",lear="Lifestorm Earring",rear="Bladeborn Earring",
- body="Viti. Tabard +1",hands="Atrophy Gloves +2",lring="Rajas Ring",rring="Etana Ring",
- back="Buquwik Cape",waist="Prosilo Belt +1",legs="Psycloth Lappas",feet="Skaoi Boots"})
- sets.precast.WS['Aeolian Edge'] = set_combine(sets.precast.WS, {ammo="Memoria sachet",
- head="Helios band",neck="Eddy Necklace",lear="Friomisi Earring",rear="Hecate's Earring",
- body="Hagondes coat",hands="Helios gloves",lring="Fenrir Ring +1",rring="Acumen Ring",
- back="Toro Cape",waist="Othila sash",legs="Hagondes pants",feet="Helios Boots"})
- sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS, {ammo="Yetshila",
- head="Atro. Chapeau +2",neck="Fotia gorget",lear="Brutal Earring",rear="Moonshade Earring",
- body="Taeon Tabard",hands="Lethargy Gantherotes",lring="Rajas ring",rring="Karieyh Ring",
- back="Buquwik cape",waist="Fotia Belt",legs="Psycloth Lappas",feet="Leth. Houseaux"})
- sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {ammo="Yetshila",
- head="Taeon chapeau",neck="Shifting necklace",lear="Brutal Earring",rear="Moonshade Earring",
- body="Taeon Tabard",hands="Taeon gloves",lring="Rajas ring",rring="Jupiter's Ring",
- back="Kayapa cape",waist="Artful Belt +1",legs="Taeon tights",feet="Taeon Boots"})
- sets.precast.WS['Evisceration'] = set_combine(sets.precast.WS, {ammo="Yetshila",
- head="Taeon chapeau",neck="Shifting necklace",lear="Brutal Earring",rear="Moonshade Earring",
- body="Taeon Tabard",hands="Taeon gloves",lring="Rajas ring",rring="Jupiter's Ring",
- back="Kayapa cape",waist="Artful Belt +1",legs="Taeon tights",feet="Taeon Boots"})
- sets.precast.WS['Death Blossom'] = set_combine(sets.precast.WS, {ammo="Yetshila",
- head="Atro. Chapeau +2",neck="Fotia gorget",lear="Brutal Earring",rear="Moonshade Earring",
- body="Taeon tabard",hands="Lethargy Gantherotes +1",lring="Rajas ring",rring="Karieyh Ring",
- back="Buquwik cape",waist="Fotia Belt",legs="Psycloth Lappas",feet="Leth. Houseaux"})
- -- Midcast Sets
- sets.midcast.Cure = {main="Tamaxchi",sub="Sors shield",ammo="Esper Stone +1",
- head="Vanya Hood",neck="Colossus's Torque",lear="Enchntr. Earring +1",rear="Gwati Earring",
- body="Viti. Tabard +1",hands="Leth. Gantherots +1",lring="Ephedra Ring",rring="Haoma's Ring",
- back="Vates cape +1",waist="Luminary Sash",legs="Atrophy Tights +1",feet="Vanya Clogs"}
- sets.midcast.Curaga = sets.midcast.Cure
- sets.midcast.CureSelf = {lring="Kunaji Ring",rring="Asklepian Ring",hands="Buremte Gloves"}
- sets.midcast['Enhancing Magic'] = {main=grio_enhancing,sub="Pukulatmuj",
- head="Leth. Chappel +1",neck="Colossus's Torque",lear="Andoaa Earring",rear="Augmenting Earring",
- body="Lethargy Sayon +1",hands="Atrophy Gloves +2",lring="Etana Ring",
- back=sucellos_cure,waist="Olympus Sash",legs="Leth. Fuseau +1",feet="Leth. Houseaux +1"}
- sets.midcast['Enhancing Magic'].EnSpells = set_combine(sets.midcast['Enhancing Magic'],{rear="Hollow Earring",hands="Viti. Gloves +1"})
- sets.midcast['Enhancing Magic'].GainSpells = set_combine(sets.midcast['Enhancing Magic'],{hands="Viti. Gloves +1"})
- sets.midcast.EnhancingDuration = {main=grio_enhancing,
- head=telchine_head_enh_duration,lear="Enchntr. Earring +1",rear="Andoaa Earring",
- body=telchine_body_enh_duration,hands="Atrophy Gloves +2",
- back=sucellos_cure,waist="Olympus Sash",legs=telchine_legs_enh_duration,feet="Leth. Houseaux +1"}
- sets.buff.ComposureOther = {main=grio_enhancing,
- head="Leth. Chappel +1",neck="Colossus's Torque",lear="Enchntr. Earring +1",rear="Andoaa Earring",
- body="Lethargy Sayon +1",hands="Atrophy Gloves +2",lring="Etana Ring",
- back=sucellos_cure,waist="Olympus Sash",legs="Leth. Fuseau +1",feet="Leth. Houseaux +1"}
- sets.midcast.Protect = {rring="Sheltered Ring"}
- sets.midcast.Shell = sets.midcast.Protect
- sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'],{main="Egeking"})
- sets.midcast.Cursna = {neck="Malison medallion",back="Oretania's cape +1",lring="Haoma's ring",rring="ephedra ring",feet="Vanya Clogs"}
- sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{neck="Nodens Gorget",rear="Earthcry Earring",hands="Stone mufflers",waist="Siegel Sash",legs="Haven hose"})
- sets.midcast['Enfeebling Magic'] = {main=grio_fc,sub="Enki Strap",ammo="Regal Gem",
- head="Atro. Chapeau +2",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
- body="Atrophy Tabard +2",hands="Leth. Gantherots +1",lring="Stikini Ring",rring="Stikini Ring",
- back=sucellos_macc,waist="Luminary Sash",legs=chironic_legs_macc,feet="Skaoi Boots"}
- sets.midcast.Distract = {main=grio_fc,sub="Enki Strap",ammo="Regal Gem",
- head="Atro. Chapeau +2",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
- body="Atrophy Tabard +2",hands="Leth. Gantherots +1",lring="Stikini Ring",rring="Stikini Ring",
- back=sucellos_macc,waist="Luminary Sash",legs=chironic_legs_macc,feet="Skaoi Boots"}
- sets.midcast.Frazzle = {main=grio_fc,sub="Enki Strap",ammo="Regal Gem",
- head="Atro. Chapeau +2",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
- body="Atrophy Tabard +2",hands="Leth. Gantherots +1",lring="Stikini Ring",rring="Stikini Ring",
- back=sucellos_macc,waist="Luminary Sash",legs=chironic_legs_macc,feet="Skaoi Boots"}
- sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Viti. Chapeau +1"})
- sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Viti. Chapeau +1"})
- sets.midcast['Elemental Magic'] = {main=grio_enhancing,sub="Enki Strap",ammo="Pemphredo Tathlum",
- head="Helios band",neck="Eddy Necklace",lear="Friomisi Earring",rear="Sortiarius Earring",
- body="Hagondes coat",hands="Helios gloves",lring="Fenrir Ring +1",rring="Acumen Ring",
- back="Toro Cape",waist="Othila sash",legs="Hagondes pants",feet="Helios Boots"}
- sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
- sets.midcast.Drain = {main=grio_fc,sub="Enki Strap",ranged="Regal Gem",
- head="Befouled crown",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
- body="Atrophy Tabard +1",hands="Hagondes Cuffs",lring="Stikini Ring",rring="Stikini Ring",
- back=sucellos_macc,waist="Luminary Sash",legs="Leth. Fuseau +1",feet="Helios Boots"}
- sets.midcast.Aspir = {main=grio_fc,sub="Enki Strap",ranged="Regal Gem",
- head="Befouled crown",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
- body="Atrophy Tabard +1",hands="Hagondes Cuffs",lring="Stikini Ring",rring="Stikini Ring",
- back=sucellos_macc,waist="Luminary Sash",legs="Leth. Fuseau +1",feet="Helios Boots"}
- sets.midcast['Stun'] = {main=grio_fc,sub="Enki Strap",ammo="Impatiens",
- head="Atro. Chapeau +2",neck="Orunmila's torque",lear="Estoqueur's Earring",rear="Regal Earring",
- body="Viti. Tabard +1",hands="Leyline Gloves",lring="Stikini Ring",rring="Stikini Ring",
- back=sucellos_macc,waist="Pya'ekue Belt",legs="Psycloth Lappas",feet="Helios Boots"}
- sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {lring="Excelsis Ring", waist="Fucho-no-Obi"})
- sets.midcast.Aspir = sets.midcast.Drain
- -- Sets to return to when not performing an action.
- -- Resting sets
- sets.resting = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
- head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
- body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
- back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
- -- Idle sets
- sets.idle = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
- head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
- body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
- back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
- sets.idle.Town = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
- head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
- body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
- back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
- sets.idle.Weak = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
- head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
- body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
- back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
- -- Defense sets
- sets.defense.PDT = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
- head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
- body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
- back="Umbra Cape",waist="Slipor Sash",legs="Carmine Cuisses",feet=chironic_feet_refresh}
- sets.defense.MDT = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
- head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
- body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
- back="Umbra Cape",waist="Slipor Sash",legs="Carmine Cuisses",feet=chironic_feet_refresh}
- sets.Kiting = {legs="Carmine Cuisses"}
- sets.latent_refresh = {waist="Fucho-no-obi"}
- -- 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="Pukulatmuj",sub="Beatific shield",ammo="Paeapua",
- head="Taeon chapeau",neck="Asperity Necklace",lear="Brutal Earring",rear="Suppanomimi",
- body="Taeon tabard",hands="Taeon Gloves",lring="Rajas Ring",rring="K'ayres Ring",
- back="Bleating Mantle",waist="windbuffet Belt +1",legs="Taeon tights",feet="Taeon Boots"}
- -- Sets for special buff conditions on spells.
- sets.buff.Saboteur = {hands="Leth. Gantherots +1"}
- 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
- equip(sets.midcast.EnhancingDuration)
- if buffactive.composure and spell.target.type == 'PLAYER' then
- equip(sets.buff.ComposureOther)
- end
- elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
- equip(sets.midcast.CureSelf)
- end
- end
- function job_get_spell_map(spell, default_spell_map)
- if spell.action_type == 'Magic' then
- if spell.skill == 'Enhancing Magic' then
- if spell.english:startswith('En') then
- return 'EnSpells'
- elseif spell.english:startswith('Gain') then
- return 'GainSpells'
- end
- elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
- equip(sets.midcast.CureSelf)
- 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 == 'Offense Mode' then
- if newValue == 'None' then
- enable('main','sub','range')
- else
- disable('main','sub','range')
- 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 == 'DNC' then
- set_macro_page(2, 4)
- elseif player.sub_job == 'NIN' then
- set_macro_page(3, 4)
- elseif player.sub_job == 'THF' then
- set_macro_page(4, 4)
- else
- set_macro_page(1, 2)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment