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['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
- state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] 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.CastingMode:options('Normal', 'Resistant')
- state.IdleMode:options('Normal', 'PDT', 'Craft')
- select_default_macro_book()
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- -- Precast Sets
- -- Fast cast sets for spells
- sets.precast.FC = {main="C. Palug Hammer",
- sub="Genmei Shield",
- ammo="Incantor Stone",
- head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
- body="Inyanga Jubbah +2",
- hands="Nyame Gauntlets",
- legs="Aya. Cosciales +2",
- feet="Regal Pumps +1",
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist="Shinjutsu-no-Obi +1",
- left_ear="Odnowa Earring +1",
- right_ear="Loquac. Earring",
- left_ring="Kishar Ring",
- right_ring="Medada's Ring",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
- sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {})
- sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {})
- sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {legs="Ebers Pant. +2",
- feet="Hygieia Clogs +1",})
- sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
- sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {neck="Aceso's Choker +1",
- feet="Hygieia Clogs +1",
- lear="Mendi. Earring",})
- sets.precast.FC.Curaga = sets.precast.FC.Cure
- sets.precast.FC.CureSolace = sets.precast.FC.Cure
- -- CureMelee spell map should default back to Healing Magic.
- sets.precast.FC.Impact = set_combine(sets.precast.FC, {head="Empty",
- body="Twilight Cloak"})
- -- Precast sets to enhance JAs
- sets.precast.JA.Benediction = {body="Piety Bliaut +3"}
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {}
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- gear.default.weaponskill_neck = "Fotia Necklace"
- gear.default.weaponskill_waist = ""
- sets.precast.WS = {ammo="Floestone",
- head="Aya. Zucchetto +2",
- body="Ayanmo Corazza +2",
- hands="Aya. Manopolas +2",
- legs="Aya. Cosciales +2",
- feet="Aya. Gambieras +2",
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist="Grunfeld Rope",
- left_ear="Regal Earring",
- right_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
- left_ring="Petrov Ring",
- right_ring="Metamor. Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.precast.WS['Flash Nova'] = set_combine(sets.precast.WS, {})
- -- midcast Sets
- sets.midcast.FastRecast = {}
- -- Cure sets
- gear.default.obi_waist = "Goading Belt"
- gear.default.obi_back = "Mending Cape"
- sets.midcast.CureSolace = {main="Bunzi's Rod",
- sub="Sors Shield",
- ammo="Clarus Stone",
- head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs="Ebers Pant. +2",
- feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
- neck="Clr. Torque +1",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Naji's Loop",
- right_ring="Mephitas's Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.midcast.Cure = {main="Bunzi's Rod",
- sub="Sors Shield",
- ammo="Clarus Stone",
- head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs="Ebers Pant. +2",
- feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
- neck="Clr. Torque +1",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Naji's Loop",
- right_ring="Mephitas's Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.midcast.Curaga = {main="Daybreak",
- sub="Sors Shield",
- ammo="Leisure Musk +1",
- head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs="Ebers Pant. +2",
- feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
- left_ear="Novia Earring",
- right_ear="Meili Earring",
- left_ring="Naji's Loop",
- right_ring={ name="Mephitas's Ring +1", augments={'Path: A',}},
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}},}
- sets.midcast.CureMelee = set_combine(sets.midcast.Cure, {})
- sets.midcast.Cursna = {
- main="Yagrush",
- sub="Ammurapi Shield",
- ammo="Staunch Tathlum",
- head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- body="Ebers Bliaut +2",
- hands={ name="Fanatic Gloves", augments={'MP+20','Healing magic skill +3',}},
- legs="Th. Pant. +3",
- feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- neck="Debilis Medallion",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Haoma's Ring",
- right_ring="Menelaus's Ring",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}}}
- sets.midcast.StatusRemoval = {main="Yagrush",
- sub="Ammurapi Shield",
- ammo="Incantor Stone",
- head="Ebers Cap +2",
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs={ name="Piety Pantaln. +3", augments={'Enhances "Afflatus Misery" effect',}},
- feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Stikini Ring +1",
- right_ring="Chirich Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- -- 110 total Enhancing Magic Skill; caps even without Light Arts
- sets.midcast['Enhancing Magic'] = {main="C. Palug Hammer",
- sub="Ammurapi Shield",
- ammo="Clarus Stone",
- head={ name="Telchine Cap", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- body={ name="Telchine Chas.", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- hands={ name="Telchine Gloves", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- legs={ name="Telchine Braconi", augments={'"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
- feet="Theo. Duckbills +3",
- neck="Incanter's Torque",
- waist="Embla Sash",
- left_ear="Andoaa Earring",
- right_ear="Mimir Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.midcast.Haste = sets.midcast['Enhancing Magic']
- sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{neck="Nodens Gorget"})
- sets.midcast.Auspice = set_combine(sets.midcast['Enhancing Magic'],{feet="Ebers Duckbills +2"})
- sets.midcast.BarElement = set_combine(sets.midcast['Enhancing Magic'],{
- main="Beneficus",
- sub="Ammurapi Shield",
- ammo="Clarus Stone",
- head="Ebers Cap +2",
- body="Ebers Bliaut +2",
- hands="Ebers Mitts +2",
- legs={ name="Piety Pantaln. +3", augments={'Enhances "Afflatus Misery" effect',}},
- feet="Ebers Duckbills +2",
- neck="Incanter's Torque",
- waist="Embla Sash",
- left_ear="Andoaa Earring",
- right_ear="Mimir Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}})
- sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {main="Bolelabunga",
- sub="Ammurapi Shield",
- head="Inyanga Tiara +2",
- body="Piety Bliaut +3",
- hands="Ebers Mitts +2",
- legs="Th. Pant. +3",
- feet="Bunzi's Sabots"})
- sets.midcast.Protectra = sets.midcast['Enhancing Magic']
- sets.midcast.Shellra = sets.midcast['Enhancing Magic']
- sets.midcast['Divine Magic'] = {main="Yagrush",
- sub="Culminus",
- ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
- head="C. Palug Crown",
- body={ name="Vanya Robe", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- hands={ name="Fanatic Gloves", augments={'MP+20','Healing magic skill +3',}},
- legs="Th. Pant. +3",
- feet="Ebers Duckbills +2",
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Malignance Earring",
- left_ring="Medada's Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}}}
- sets.midcast['Dark Magic'] = {}
- -- Custom spell classes
- sets.midcast.MndEnfeebles = { main="Bunzi's Rod",
- sub="Culminus",
- ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
- head="Befouled Crown",
- body="Theo. Bliaut +3",
- hands="Bunzi's Gloves",
- legs="Ebers Pant. +2",
- feet="Inyan. Crackows +2",
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Loquac. Earring",
- right_ear="Malignance Earring",
- left_ring="Medada's Ring",
- right_ring="Stikini Ring +1",
- back={ name="Aurist's Cape +1", augments={'Path: A',}}}
- sets.midcast.IntEnfeebles = { main="Bunzi's Rod",
- sub="Culminus",
- ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
- head="Befouled Crown",
- body="Theo. Bliaut +3",
- hands="Bunzi's Gloves",
- legs="Ebers Pant. +2",
- feet="Inyan. Crackows +2",
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Loquac. Earring",
- right_ear="Malignance Earring",
- left_ring="Medada's Ring",
- right_ring="Stikini Ring +1",
- back={ name="Aurist's Cape +1", augments={'Path: A',}}}
- sets.midcast.Impact = sets.precast.FC.Impact
- -- Sets to return to when not performing an action.
- -- Resting sets
- sets.resting = {main="Bolelabunga",
- sub="Ammurapi Shield",
- ammo="Homiliary",
- head="Befouled Crown",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Assid. Pants +1",
- feet="Theo. Duckbills +3",
- neck="Sibyl Scarf",
- waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
- left_ear="Magnetic Earring",
- right_ear="Regal Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10',}}}
- -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
- sets.idle = { main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Nyame Helm",
- body="Ebers Bliaut +2",
- hands={ name="Chironic Gloves", augments={'Pet: Accuracy+27 Pet: Rng. Acc.+27','Pet: "Dbl. Atk."+1','"Refresh"+2','Accuracy+18 Attack+18',}},
- legs={ name="Chironic Hose", augments={'Pet: "Regen"+5','Pet: CHR+8','"Refresh"+2','Mag. Acc.+3 "Mag.Atk.Bns."+3',}},
- feet="Herald's Gaiters",
- neck="Loricate Torque +1",
- waist="Fucho-no-Obi",
- left_ear="Odnowa Earring +1",
- right_ear="Genmei Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.idle.PDT = {main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Nyame Helm",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Ebers Pant. +2",
- feet="Nyame Sollerets",
- neck="Loricate Torque +1",
- waist="Plat. Mog. Belt",
- left_ear="Etiolation Earring",
- right_ear="Sanare Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.idle.Craft = {body="Blacksmith's Apn.",
- hands="Smithy's Mitts",
- neck="Smithy's Torque",
- waist="Blacksmith's Blt.",
- left_ring="Orvail Ring",}
- sets.idle.Town = sets.idle
- sets.idle.Weak = sets.idle.PDT
- -- Defense sets
- sets.defense.PDT = {main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Inyanga Tiara +2",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Ebers Pant. +2",
- feet="Herald's Gaiters",
- neck="Loricate Torque +1",
- waist="Plat. Mog. Belt",
- left_ear="Etiolation Earring",
- right_ear="Sanare Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.defense.MDT = {main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Inyanga Tiara +2",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Ebers Pant. +2",
- feet="Herald's Gaiters",
- neck="Loricate Torque +1",
- waist="Plat. Mog. Belt",
- left_ear="Etiolation Earring",
- right_ear="Sanare Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.Kiting = {feet="Herald's Gaiters"}
- 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
- -- Basic set for if no TP weapon is defined.
- sets.engaged = {ammo="Jukukik Feather",
- head="Aya. Zucchetto +2",
- body="Ayanmo Corazza +2",
- hands="Aya. Manopolas +2",
- legs="Aya. Cosciales +2",
- feet="Aya. Gambieras +2",
- neck="Lissome Necklace",
- waist="Windbuffet Belt +1",
- left_ear="Brutal Earring",
- right_ear="Telos Earring",
- left_ring="Petrov Ring",
- right_ring="Hetairoi Ring",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
- sets.buff['Divine Caress'] = {hands="Ebers Mitts +2",back="Mending Cape"}
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for standard casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
- function job_precast(spell, action, spellMap, eventArgs)
- if spell.english == "Paralyna" and buffactive.Paralyzed then
- -- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
- eventArgs.handled = true
- end
- if spell.skill == 'Healing Magic' then
- gear.default.obi_back = "Mending Cape"
- else
- gear.default.obi_back = "Toro Cape"
- end
- end
- function job_post_midcast(spell, action, spellMap, eventArgs)
- -- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
- if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
- equip(sets.buff['Divine Caress'])
- 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 == 'Normal' then
- disable('main','sub','range')
- else
- enable('main','sub','range')
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- 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') and player.status == 'Engaged' then
- return "CureMelee"
- elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
- return "CureSolace"
- elseif spell.skill == "Enfeebling Magic" then
- if spell.type == "WhiteMagic" then
- return "MndEnfeebles"
- else
- return "IntEnfeebles"
- end
- end
- end
- end
- function customize_idle_set(idleSet)
- if player.mpp < 51 then
- idleSet = set_combine(idleSet, sets.latent_refresh)
- end
- return idleSet
- end
- -- Called by the 'update' self-command.
- function job_update(cmdParams, eventArgs)
- if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
- local needsArts =
- player.sub_job:lower() == 'sch' and
- not buffactive['Light Arts'] and
- not buffactive['Addendum: White'] and
- not buffactive['Dark Arts'] and
- not buffactive['Addendum: Black']
- if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
- if needsArts then
- send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
- else
- send_command('@input /ja "Afflatus Solace" <me>')
- end
- end
- end
- end
- -- Function to display the current relevant user state when doing an update.
- 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
- set_macro_page(2, 1)
- end-------------------------------------------------------------------------------------------------------------------
- -- 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['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
- state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] 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.CastingMode:options('Normal', 'Resistant')
- state.IdleMode:options('Normal', 'PDT', 'Craft')
- select_default_macro_book()
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- -- Precast Sets
- -- Fast cast sets for spells
- sets.precast.FC = {main="C. Palug Hammer",
- sub="Genmei Shield",
- ammo="Incantor Stone",
- head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
- body="Inyanga Jubbah +2",
- hands="Nyame Gauntlets",
- legs="Aya. Cosciales +2",
- feet="Regal Pumps +1",
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist="Shinjutsu-no-Obi +1",
- left_ear="Odnowa Earring +1",
- right_ear="Loquac. Earring",
- left_ring="Kishar Ring",
- right_ring="Medada's Ring",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
- sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {})
- sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {})
- sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {legs="Ebers Pant. +2",
- feet="Hygieia Clogs +1",})
- sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
- sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {neck="Aceso's Choker +1",
- feet="Hygieia Clogs +1",
- lear="Mendi. Earring",})
- sets.precast.FC.Curaga = sets.precast.FC.Cure
- sets.precast.FC.CureSolace = sets.precast.FC.Cure
- -- CureMelee spell map should default back to Healing Magic.
- sets.precast.FC.Impact = set_combine(sets.precast.FC, {head="Empty",
- body="Twilight Cloak"})
- -- Precast sets to enhance JAs
- sets.precast.JA.Benediction = {body="Piety Bliaut +3"}
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {}
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- gear.default.weaponskill_neck = "Fotia Necklace"
- gear.default.weaponskill_waist = ""
- sets.precast.WS = {ammo="Floestone",
- head="Aya. Zucchetto +2",
- body="Ayanmo Corazza +2",
- hands="Aya. Manopolas +2",
- legs="Aya. Cosciales +2",
- feet="Aya. Gambieras +2",
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist="Grunfeld Rope",
- left_ear="Regal Earring",
- right_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
- left_ring="Petrov Ring",
- right_ring="Metamor. Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.precast.WS['Flash Nova'] = set_combine(sets.precast.WS, {})
- -- midcast Sets
- sets.midcast.FastRecast = {}
- -- Cure sets
- gear.default.obi_waist = "Goading Belt"
- gear.default.obi_back = "Mending Cape"
- sets.midcast.CureSolace = {main="Bunzi's Rod",
- sub="Sors Shield",
- ammo="Clarus Stone",
- head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs="Ebers Pant. +2",
- feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
- neck="Clr. Torque +1",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Naji's Loop",
- right_ring="Mephitas's Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.midcast.Cure = {main="Bunzi's Rod",
- sub="Sors Shield",
- ammo="Clarus Stone",
- head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs="Ebers Pant. +2",
- feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
- neck="Clr. Torque +1",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Naji's Loop",
- right_ring="Mephitas's Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.midcast.Curaga = {main="Daybreak",
- sub="Sors Shield",
- ammo="Leisure Musk +1",
- head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs="Ebers Pant. +2",
- feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
- left_ear="Novia Earring",
- right_ear="Meili Earring",
- left_ring="Naji's Loop",
- right_ring={ name="Mephitas's Ring +1", augments={'Path: A',}},
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}},}
- sets.midcast.CureMelee = set_combine(sets.midcast.Cure, {})
- sets.midcast.Cursna = {
- main="Yagrush",
- sub="Ammurapi Shield",
- ammo="Staunch Tathlum",
- head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- body="Ebers Bliaut +2",
- hands={ name="Fanatic Gloves", augments={'MP+20','Healing magic skill +3',}},
- legs="Th. Pant. +3",
- feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- neck="Debilis Medallion",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Haoma's Ring",
- right_ring="Menelaus's Ring",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}}}
- sets.midcast.StatusRemoval = {main="Yagrush",
- sub="Ammurapi Shield",
- ammo="Incantor Stone",
- head="Ebers Cap +2",
- body="Ebers Bliaut +2",
- hands="Theophany Mitts +3",
- legs={ name="Piety Pantaln. +3", augments={'Enhances "Afflatus Misery" effect',}},
- feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- neck={ name="Clr. Torque +1", augments={'Path: A',}},
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Meili Earring",
- left_ring="Stikini Ring +1",
- right_ring="Chirich Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- -- 110 total Enhancing Magic Skill; caps even without Light Arts
- sets.midcast['Enhancing Magic'] = {main="C. Palug Hammer",
- sub="Ammurapi Shield",
- ammo="Clarus Stone",
- head={ name="Telchine Cap", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- body={ name="Telchine Chas.", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- hands={ name="Telchine Gloves", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- legs={ name="Telchine Braconi", augments={'"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
- feet="Theo. Duckbills +3",
- neck="Incanter's Torque",
- waist="Embla Sash",
- left_ear="Andoaa Earring",
- right_ear="Mimir Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.midcast.Haste = sets.midcast['Enhancing Magic']
- sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{neck="Nodens Gorget"})
- sets.midcast.Auspice = set_combine(sets.midcast['Enhancing Magic'],{feet="Ebers Duckbills +2"})
- sets.midcast.BarElement = set_combine(sets.midcast['Enhancing Magic'],{
- main="Beneficus",
- sub="Ammurapi Shield",
- ammo="Clarus Stone",
- head="Ebers Cap +2",
- body="Ebers Bliaut +2",
- hands="Ebers Mitts +2",
- legs={ name="Piety Pantaln. +3", augments={'Enhances "Afflatus Misery" effect',}},
- feet="Ebers Duckbills +2",
- neck="Incanter's Torque",
- waist="Embla Sash",
- left_ear="Andoaa Earring",
- right_ear="Mimir Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}})
- sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {main="Bolelabunga",
- sub="Ammurapi Shield",
- head="Inyanga Tiara +2",
- body="Piety Bliaut +3",
- hands="Ebers Mitts +2",
- legs="Th. Pant. +3",
- feet="Bunzi's Sabots"})
- sets.midcast.Protectra = sets.midcast['Enhancing Magic']
- sets.midcast.Shellra = sets.midcast['Enhancing Magic']
- sets.midcast['Divine Magic'] = {main="Yagrush",
- sub="Culminus",
- ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
- head="C. Palug Crown",
- body={ name="Vanya Robe", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- hands={ name="Fanatic Gloves", augments={'MP+20','Healing magic skill +3',}},
- legs="Th. Pant. +3",
- feet="Ebers Duckbills +2",
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Regal Earring",
- right_ear="Malignance Earring",
- left_ring="Medada's Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}}}
- sets.midcast['Dark Magic'] = {}
- -- Custom spell classes
- sets.midcast.MndEnfeebles = { main="Bunzi's Rod",
- sub="Culminus",
- ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
- head="Befouled Crown",
- body="Theo. Bliaut +3",
- hands="Bunzi's Gloves",
- legs="Ebers Pant. +2",
- feet="Inyan. Crackows +2",
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Loquac. Earring",
- right_ear="Malignance Earring",
- left_ring="Medada's Ring",
- right_ring="Stikini Ring +1",
- back={ name="Aurist's Cape +1", augments={'Path: A',}}}
- sets.midcast.IntEnfeebles = { main="Bunzi's Rod",
- sub="Culminus",
- ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
- head="Befouled Crown",
- body="Theo. Bliaut +3",
- hands="Bunzi's Gloves",
- legs="Ebers Pant. +2",
- feet="Inyan. Crackows +2",
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Loquac. Earring",
- right_ear="Malignance Earring",
- left_ring="Medada's Ring",
- right_ring="Stikini Ring +1",
- back={ name="Aurist's Cape +1", augments={'Path: A',}}}
- sets.midcast.Impact = sets.precast.FC.Impact
- -- Sets to return to when not performing an action.
- -- Resting sets
- sets.resting = {main="Bolelabunga",
- sub="Ammurapi Shield",
- ammo="Homiliary",
- head="Befouled Crown",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Assid. Pants +1",
- feet="Theo. Duckbills +3",
- neck="Sibyl Scarf",
- waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
- left_ear="Magnetic Earring",
- right_ear="Regal Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10',}}}
- -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
- sets.idle = { main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Nyame Helm",
- body="Ebers Bliaut +2",
- hands={ name="Chironic Gloves", augments={'Pet: Accuracy+27 Pet: Rng. Acc.+27','Pet: "Dbl. Atk."+1','"Refresh"+2','Accuracy+18 Attack+18',}},
- legs={ name="Chironic Hose", augments={'Pet: "Regen"+5','Pet: CHR+8','"Refresh"+2','Mag. Acc.+3 "Mag.Atk.Bns."+3',}},
- feet="Herald's Gaiters",
- neck="Loricate Torque +1",
- waist="Fucho-no-Obi",
- left_ear="Odnowa Earring +1",
- right_ear="Genmei Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}}
- sets.idle.PDT = {main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Nyame Helm",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Ebers Pant. +2",
- feet="Nyame Sollerets",
- neck="Loricate Torque +1",
- waist="Plat. Mog. Belt",
- left_ear="Etiolation Earring",
- right_ear="Sanare Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.idle.Craft = {body="Blacksmith's Apn.",
- hands="Smithy's Mitts",
- neck="Smithy's Torque",
- waist="Blacksmith's Blt.",
- left_ring="Orvail Ring",}
- sets.idle.Town = sets.idle
- sets.idle.Weak = sets.idle.PDT
- -- Defense sets
- sets.defense.PDT = {main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Inyanga Tiara +2",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Ebers Pant. +2",
- feet="Herald's Gaiters",
- neck="Loricate Torque +1",
- waist="Plat. Mog. Belt",
- left_ear="Etiolation Earring",
- right_ear="Sanare Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.defense.MDT = {main="Daybreak",
- sub="Genmei Shield",
- ammo="Homiliary",
- head="Inyanga Tiara +2",
- body="Ebers Bliaut +2",
- hands="Volte Gloves",
- legs="Ebers Pant. +2",
- feet="Herald's Gaiters",
- neck="Loricate Torque +1",
- waist="Plat. Mog. Belt",
- left_ear="Etiolation Earring",
- right_ear="Sanare Earring",
- left_ring="Defending Ring",
- right_ring="Stikini Ring +1",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- sets.Kiting = {feet="Herald's Gaiters"}
- 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
- -- Basic set for if no TP weapon is defined.
- sets.engaged = {ammo="Jukukik Feather",
- head="Aya. Zucchetto +2",
- body="Ayanmo Corazza +2",
- hands="Aya. Manopolas +2",
- legs="Aya. Cosciales +2",
- feet="Aya. Gambieras +2",
- neck="Lissome Necklace",
- waist="Windbuffet Belt +1",
- left_ear="Brutal Earring",
- right_ear="Telos Earring",
- left_ring="Petrov Ring",
- right_ring="Hetairoi Ring",
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
- sets.buff['Divine Caress'] = {hands="Ebers Mitts +2",back="Mending Cape"}
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for standard casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
- function job_precast(spell, action, spellMap, eventArgs)
- if spell.english == "Paralyna" and buffactive.Paralyzed then
- -- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
- eventArgs.handled = true
- end
- if spell.skill == 'Healing Magic' then
- gear.default.obi_back = "Mending Cape"
- else
- gear.default.obi_back = "Toro Cape"
- end
- end
- function job_post_midcast(spell, action, spellMap, eventArgs)
- -- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
- if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
- equip(sets.buff['Divine Caress'])
- 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 == 'Normal' then
- disable('main','sub','range')
- else
- enable('main','sub','range')
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- 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') and player.status == 'Engaged' then
- return "CureMelee"
- elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
- return "CureSolace"
- elseif spell.skill == "Enfeebling Magic" then
- if spell.type == "WhiteMagic" then
- return "MndEnfeebles"
- else
- return "IntEnfeebles"
- end
- end
- end
- end
- function customize_idle_set(idleSet)
- if player.mpp < 51 then
- idleSet = set_combine(idleSet, sets.latent_refresh)
- end
- return idleSet
- end
- -- Called by the 'update' self-command.
- function job_update(cmdParams, eventArgs)
- if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
- local needsArts =
- player.sub_job:lower() == 'sch' and
- not buffactive['Light Arts'] and
- not buffactive['Addendum: White'] and
- not buffactive['Dark Arts'] and
- not buffactive['Addendum: Black']
- if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
- if needsArts then
- send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
- else
- send_command('@input /ja "Afflatus Solace" <me>')
- end
- end
- end
- end
- -- Function to display the current relevant user state when doing an update.
- 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
- set_macro_page(2, 1)
- end
Advertisement
Add Comment
Please, Sign In to add comment