Advertisement
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.MagicBurst = M(false, 'Magic Burst')
- state.Spaekona = M(false, 'Spaekona')
- 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('Normal', 'HighMP')
- state.CastingMode:options('Normal', 'HighMP')
- state.IdleMode:options('Normal', 'HighMP')
- -- Additional local binds
- send_command('bind ^` gs c toggle MagicBurst')
- send_command('bind ^1 gs c toggle Spaekona')
- gear.aspir_body = {name="Merlinic Jubbah", augments={'Mag. Acc.+26','"Drain" and "Aspir" potency +11','INT+2','"Mag.Atk.Bns."+6',}}
- gear.aspir_hands = {name="Merlinic Dastanas", augments={'Mag. Acc.+6','"Drain" and "Aspir" potency +11','CHR+10',}}
- gear.aspir_legs = {name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+2',}}
- gear.aspir_feet = {name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+14','"Drain" and "Aspir" potency +11','Mag. Acc.+12',}}
- gear.fc_head = {name="Merlinic Hood", augments={'"Mag.Atk.Bns."+26','"Fast Cast"+6','INT+1',}}
- gear.fc_feet = {name="Merlinic Crackows", augments={'Accuracy+13','"Fast Cast"+6','Mag. Acc.+12','"Mag.Atk.Bns."+15',}}
- gear.nuke_head = {name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','INT+7','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}
- gear.nuke_body = {name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+8%','"Mag.Atk.Bns."+14',}}
- gear.nuke_legs = {name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+3','"Mag.Atk.Bns."+15',}}
- gear.nuke_feet = {name="Merlinic Crackows", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +2','INT+1','Mag. Acc.+2','"Mag.Atk.Bns."+14',}}
- gear.burst_head = {name="Merlinic Hood", augments={'"Mag.Atk.Bns."+30','Magic burst mdg.+9%','INT+5',}}
- gear.burst_body = {name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+8%','"Mag.Atk.Bns."+14',}}
- gear.burst_feet = {name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+28','Magic burst mdg.+10%','MND+5','Mag. Acc.+8',}}
- select_default_macro_book()
- end
- -- Called when this job file is unloaded (eg: job change)
- function user_unload()
- send_command('unbind ^`')
- send_command('unbind ^1')
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- ---- Idle Sets ----
- sets.idle = {
- ammo={name="Psilomene", priority=15},
- head={name="Hagondes Hat +1", priority=13},
- neck="Loricate Torque +1",
- ear1={name="Etiolation Earring", priority=16},
- ear2="Genmei Earring",
- body={name="Hagondes Coat +1", priority=12},
- hands={name="Hagondes Cuffs +1", priority=10},
- ring1="Defending Ring",
- ring2="Dark Ring",
- back="Umbra Cape",
- waist="Slipor Sash",
- legs={name="Hagondes Pants +1", priority=14},
- feet={name="Hagondes Sabots +1", priority=11},
- }
- sets.idle.HighMP = {
- ammo={name="Psilomene", priority=16},
- head={name="Amalric Coif", priority=7},
- neck="Loricate Torque +1",
- ear1={name="Etiolation Earring", priority=15},
- ear2={name="Loquacious Earring", priority=14},
- body={name="Amalric Doublet +1", priority=9},
- hands={name="Amalric Gages +1", priority=10},
- ring1="Defending Ring",
- ring2={name="Dark Ring", priority=8},
- back={name="Bane Cape", priority=11},
- waist="Slipor Sash",
- legs={name="Amalric Slops +1", priority=13},
- feet={name="Amalric Nails +1", priority=12},
- }
- ---- Precast Sets ----
- sets.precast.FC = {
- ammo="Impatiens",
- head=gear.fc_head,
- body="Zendik Robe",
- hands={name="Otomi Gloves", priority=16},
- legs="Psycloth Lappas",
- feet=gear.fc_feet,
- neck="Orunmila's Torque",
- waist="Witful Belt",
- left_ear={name="Etiolation Earring", priority=15},
- right_ear="Loquac. Earring",
- left_ring="Lebeche Ring",
- right_ring={name="Rahab Ring", priority=14},
- back="Perimede Cape",
- }
- sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty, body="Twilight Cloak"})
- sets.precast.FC.HighMP = {
- ammo="Impatiens",
- head={name="Amalric Coif", priority=10},
- body={name="Amalric Robe +1", priority=11},
- hands={name="Otomi Gloves", priority=13},
- legs={name="Amalric Slops +1", priority=10},
- feet={name="Amalric Nails +1", priority=17},
- neck={name="Orunmila's Torque", priority=12},
- waist="Witful Belt",
- left_ear={name="Etiolation Earring", priority=16},
- right_ear={name="Loquac. Earring", priority=15},
- left_ring={name="Lebeche Ring", priority=14},
- right_ring={name="Mephitas's Ring +1", priority=8},
- back="Perimede Cape",
- }
- sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {})
- sets.precast.FC['Elemental Magic'].HighMP = set_combine(sets.precast.FC, {})
- ---- Midcast Sets ----
- sets.midcast.Myrkr = {
- ammo="Psilomene",
- head="Amalric Coif",
- neck="Dualism Collar +1",
- ear1="Etiolation Earring",
- ear2="Moonshade Earring",
- body="Amalric Doublet +1",
- hands="Otomi Gloves",
- ring1="Persis Ring",
- ring2="Mephitas's Ring +1",
- back="Bane Cape",
- waist="Refoccilation Stone",
- legs="Amalric Slops +1",
- feet="Amalric Nails +1",
- }
- sets.precast.Item = {'Hi-Elixir'}
- sets.precast.Item['Hi-Elixir'] = set_combine({}, sets.midcast.Myrkr)
- sets.midcast.Cure = {
- head="Vanya Hood",
- neck="Nodens Gorget",
- ear1="Novia Earring",
- ear2="Roundel Earring",
- body="Nefer Kalasiris",
- hands="Telchine Gloves",
- ring1="Tamas Ring",
- ring2="Sirona's Ring",
- back="Oretania's Cape",
- waist=gear.ElementalObi,
- legs="Gyve Trousers",
- feet="Amalric Nails +1"
- }
- sets.midcast.Curaga = sets.midcast.Cure
- sets.midcast.Stoneskin = {
- ammo={name="Psilomene", priority=15},
- neck={name="Nodens Gorget", priority=12},
- ear2="Earthcry Earring",
- waist="Siegel Sash",
- legs="Shedir Seraweels",
- }
- sets.midcast.Stoneskin.HighMP = set_combine(sets.midcast.Stoneskin, {
- body={name="Amalric Doublet +1", priority=11},
- back={name="Bane Cape", priority=10}
- })
- sets.midcast.Aquaveil = {
- head={name="Amalric Coif", priority=12},
- neck="Incanter's Torque",
- waist="Emphatikos Rope",
- legs="Shedir Seraweels",
- }
- sets.midcast.Aquaveil.HighMP = set_combine(sets.midcast.Aquaveil, {
- body={name="Amalric Doublet +1", priority=11},
- back={name="Bane Cape", priority=10},
- })
- sets.midcast['Enfeebling Magic'] = {
- ammo="Pemphredo Tathlum",
- head=gear.nuke_head,
- body="Zendik Robe",
- hands="Hagondes Cuffs +1",
- legs=gear.nuke_legs,
- feet=gear.nuke_feet,
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Barkaro. Earring",
- right_ear="Digni. Earring",
- left_ring="Persis Ring",
- right_ring="Vertigo Ring",
- back="Taranus's Cape",
- }
- sets.midcast.Aspir = {
- ammo="Pemphredo Tathlum",
- head="Pixie Hairpin +1",
- body=gear.aspir_body,
- hands=gear.aspir_hands,
- legs=gear.aspir_legs,
- feet=gear.aspir_feet,
- neck="Incanter's Torque",
- waist=gear.ElementalObi,
- left_ear="Hirudinea Earring",
- right_ear="Dark Earring",
- left_ring="Evanescence Ring",
- right_ring="Archon Ring",
- back="Bane Cape",
- }
- sets.midcast.Aspir.HighMP = {
- ammo={name="Psilomene", priority=15},
- head={name="Pixie Hairpin +1", priority=14},
- body={name="Amalric Doublet +1", priority=13},
- hands={name="Amalric Gages +1"},
- legs={name="Amalric Slops +1", priority=12},
- feet=gear.aspir_feet,
- neck="Incanter's Torque",
- waist=gear.ElementalObi,
- left_ear={name="Etiolation Earring", priority=16},
- right_ear="Dark Earring",
- left_ring="Evanescence Ring",
- right_ring="Archon Ring",
- back={name="Bane Cape", priority=11},
- }
- sets.midcast.Drain = sets.midcast.Aspir
- sets.midcast['Elemental Magic'] = {
- ammo="Pemphredo Tathlum",
- head=gear.nuke_head,
- body="Amalric Doublet +1",
- hands="Amalric Gages +1",
- legs="Amalric Slops +1",
- feet="Amalric Nails +1",
- neck="Saevus Pendant +1",
- waist=gear.ElementalObi,
- left_ear="Barkaro. Earring",
- right_ear="Friomisi Earring",
- left_ring="Shiva Ring +1",
- right_ring="Shiva Ring +1",
- back="Taranus's Cape",
- }
- sets.midcast['Elemental Magic'].Stonega = set_combine(sets.midcast['Elemental Magic'], {
- feet={ name="Merlinic Crackows", augments={'MND+6','Enmity-2','"Treasure Hunter"+1',}},
- })
- sets.midcast.Impact = {
- ammo="Seraphic Ampulla",
- body="Twilight Cloak",
- hands={name="Merlinic Dastanas", augments={'Mag. Acc.+9','"Occult Acumen"+10','INT+6','"Mag.Atk.Bns."+4',}},
- legs="Perdition Slops",
- feet={name="Merlinic Crackows", augments={'Mag. Acc.+30','"Occult Acumen"+11','"Mag.Atk.Bns."+1',}},
- neck="Combatant's Torque",
- waist="Oneiros Rope",
- left_ear="Dedition Earring",
- right_ear="Telos Earring",
- left_ring="Petrov Ring",
- right_ring="Rajas Ring",
- back="Taranus's Cape",
- }
- sets.midcast['Elemental Magic'].Comet = set_combine(sets.midcast['Elemental Magic'], {
- head="Pixie Hairpin +1",
- left_ring="Archon Ring",
- })
- sets.midcast.ElementalEnfeeble = {
- ammo="Pemphredo Tathlum",
- head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','INT+7','Mag. Acc.+14','"Mag.Atk.Bns."+15',}},
- body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+8%','"Mag.Atk.Bns."+14',}},
- hands="Amalric Gages +1",
- legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+3','"Mag.Atk.Bns."+15',}},
- feet={ name="Merlinic Crackows", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. Acc.+15',}},
- neck="Incanter's Torque",
- waist="Luminary Sash",
- left_ear="Barkaro. Earring",
- right_ear="Digni. Earring",
- left_ring="Shiva Ring +1",
- right_ring="Shiva Ring +1",
- back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
- }
- sets.midcast.Death = {
- ammo="Pemphredo Tathlum",
- head="Pixie Hairpin +1",
- body=gear.nuke_body,
- hands="Amalric Gages +1",
- legs="Amalric Slops +1",
- feet="Amalric Nails +1",
- neck="Saevus Pendant +1",
- waist=gear.ElementalObi,
- left_ear="Barkaro. Earring",
- right_ear="Friomisi Earring",
- left_ring="Archon Ring",
- right_ring="Strendu Ring",
- back="Taranus's Cape",
- }
- sets.midcast.Death.HighMP = {
- ammo="Psilomene",
- head="Pixie Hairpin +1",
- body="Amalric Doublet +1",
- hands="Amalric Gages +1",
- legs="Amalric Slops +1",
- feet="Amalric Nails +1",
- neck="Saevus Pendant +1",
- waist=gear.ElementalObi,
- left_ear="Barkaro. Earring",
- right_ear="Friomisi Earring",
- left_ring="Archon Ring",
- right_ring="Mephitas's Ring +1",
- back="Taranus's Cape",
- }
- sets.midcast.Stun = {
- ammo="Pemphredo Tathlum",
- head=gear.nuke_head,
- body="Zendik Robe",
- hands="Hagondes Cuffs +1",
- legs=gear.nuke_legs,
- feet=gear.nuke_feet,
- neck="Incanter's Torque",
- waist="Refoccilation Stone",
- left_ear="Barkaro. Earring",
- right_ear="Digni. Earring",
- left_ring="Evanescence Ring",
- right_ring="Vertigo Ring",
- back="Taranus's Cape",
- }
- ---- Magic Burst Sets ----
- sets.magic_burst = {}
- sets.magic_burst['Elemental Magic'] = {
- head=gear.burst_head,
- body=gear.burst_body,
- neck="Mizukage-no-Kubikazari",
- ear2="Static Earring",
- ring1="Mujin Band",
- back="Taranus's Cape"
- }
- sets.magic_burst['Elemental Magic'].Comet = {
- gear.burst_body,
- neck="Mizukage-no-Kubikazari",
- ear2="Static Earring",
- ring2="Locus Ring",
- back="Taranus's Cape"
- }
- sets.magic_burst.Death = {
- neck="Mizukage-no-Kubikazari",
- ear2="Static Earring",
- ring2="Locus Ring",
- }
- sets.magic_burst.Death.HighMP = {
- neck="Mizukage-no-Kubikazari",
- ear2="Static Earring",
- }
- sets.magic_burst.Aspir = {
- neck="Mizukage-no-Kubikazari",
- ear2="Static Earring",
- back="Taranus's Cape",
- }
- sets.magic_burst.Aspir.HighMP = {
- neck="Mizukage-no-Kubikazari",
- ear2="Static Earring",
- }
- -- Engaged sets
- sets.engaged = sets.idle
- sets.engaged.HighMP = sets.idle.HighMP
- sets.Kiting = {feet="Herald's Gaiters"}
- 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 spellMap == 'Cure' or spellMap == 'Curaga' then
- gear.default.obi_waist = "Pythia Sash"
- elseif spell.skill == 'Elemental Magic' or spell.name == 'Death' and (not spell.name == 'Impact') then
- gear.default.obi_waist = "Refoccilation Stone"
- elseif spellMap == 'Aspir' or spellMap == 'Drain' then
- gear.default.obi_waist = "Fucho-no-Obi"
- end
- end
- function job_post_midcast(spell, action, spellMap, eventArgs)
- if state.MagicBurst.value and not (spell.name == 'Impact') then
- if spell.skill == 'Elemental Magic' then
- if spell.name == 'Comet' then
- equip(sets.magic_burst['Elemental Magic'].Comet)
- else
- equip(sets.magic_burst['Elemental Magic'])
- end
- elseif spell.name == 'Death' then
- if state.CastingMode.current == 'Normal' then
- equip(sets.magic_burst.Death)
- else
- equip(sets.magic_burst.Death.HighMP)
- end
- end
- if spellMap == 'Aspir' or spellMap == 'Drain' then
- if state.CastingMode.current == 'Normal' then
- equip(sets.magic_burst.Aspir)
- else
- equip(sets.magic_burst.Aspir.HighMP)
- end
- end
- end
- if spell.skill == 'Elemental Magic' and state.Spaekona.value and not (spell.name == 'Impact') then
- equip({body="Spaekona's Coat +1"})
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for non-casting events.
- -------------------------------------------------------------------------------------------------------------------
- function job_buff_change(buff, gain)
- if buff == "Mana Wall" then
- handle_equipping_gear(player.status)
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- function customize_idle_set(idleSet)
- if buffactive['Mana Wall'] then
- return set_combine(idleSet, {feet='Wicce Sabots +1', back="Taranus's Cape"})
- else
- return idleSet
- end
- end
- function customize_melee_set(meleeSet)
- if buffactive['Mana Wall'] then
- return set_combine(meleeSet, {feet='Wicce Sabots +1', back="Taranus's Cape"})
- else
- return meleeSet
- 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()
- set_macro_page(1, 15)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement