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
- sets.grips = {Fire = {sub="Fire Grip"},
- Earth = {sub="Earth Grip"},
- Water = {sub="Water Grip"},
- Wind = {sub="Wind Grip"},
- Ice = {sub="Ice Grip"},
- Lightning = {sub="Lightning Grip"},
- Light = {sub="Light Grip"},
- Dark = {sub="Dark Grip"}}
- -- 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['Poison'] = buffactive['poison'] 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', 'Shield')
- state.PhysicalDefenseMode:options('PDT', 'PDTTP')
- state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
- state.CastingMode:options('Normal', 'Casting')
- state.IdleMode:options('Normal', 'Casting', 'PDT', 'Town')
- select_default_macro_book()
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- -- Precast Sets
- -- Precast sets to enhance JAs
- -- 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
- sets.precast.FC = {
- ammo="Bibiki Seashell",
- head="Warlock's Chapeau +1",
- neck="Ritter Gorget",
- ear1="Loquacious Earring",
- ear2="Triton Earring",
- body="Duelist's Tabard +1",
- hands="Dusk Gloves +1",
- ring1="Defending Ring",
- ring2="Rajas Ring",
- back="Boxer's Mantle",
- waist="Velocious Belt",
- legs="Mahatma Slops",
- feet="Dusk Ledelsens +1"}
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {
- ammo="Tiphia Sting",
- head="Walahra Turban",
- neck="Peacock Amulet",
- ear1="Triumph Earring",
- ear2="Brutal Earring",
- body="Assault Jerkin",
- hands="Alkyoneus's Bracelets",
- ring1=gear.ToreadorsRing.good,
- ring2="Rajas Ring",
- back="Cerberus Mantle +1",
- waist="Warwolf Belt",
- legs="Dusk Trousers +1",
- feet="Dusk Ledelsens +1"}
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS,{neck="Soil Gorget"})
- sets.precast.WS['Vorpal Blade'] = set_combine(sets.precast.WS,{neck="Soil Gorget"})
- sets.precast.WS['Knights of Round'] = set_combine(sets.precast.WS,{neck="Flame Gorget"})
- sets.precast.WS['Mercy Stroke'] = set_combine(sets.precast.WS,{neck="Soil Gorget"})
- -- Midcast Sets
- sets.midcast = {}
- sets.midcast.FastRecast = {
- ammo="Bibiki Seashell",
- head="Warlock's Chapeau +1",
- neck="Ritter Gorget",
- ear1="Loquacious Earring",
- ear2="Triton Earring",
- body="Duelist's Tabard +1",
- hands="Dusk Gloves +1",
- ring1="Defending Ring",
- ring2=gear.ToreadorsRing.good,
- back="Boxer's Mantle",
- waist="Velocious Belt",
- legs="Mahatma Slops",
- feet="Dusk Ledelsens +1"}
- -- head="Warlock's Chapeau +1",ear2="Loquacious Earring",
- -- body="Duelist's Tabard",hands="Dusk Gloves +1",
- -- waist="Velocious Belt",feet="Dusk Ledelsens +1"}
- sets.midcast.Utsusemi = {ammo="Bibiki Seashell",
- head="Walahra Turban",neck="Ritter Gorget",ear1="Loquacious Earring",ear2="Triton Earring",
- body="Duelist's Tabard +1",hands="Dusk Gloves +1",ring1="Defending Ring",ring2=gear.ToreadorsRing.good,
- back="Boxer's Mantle",waist="Velocious Belt",legs="Akinji Salvars",feet="Dusk Ledelsens +1"}
- sets.midcast.Cure = {
- ammo="Bibiki Seashell",
- head="Warlock's Chapeau +1",
- neck="Fylgja Torque +1",
- ear1="Star Earring",
- ear2="Loquacious Earring",
- body="Duelist's Tabard +1",
- hands="Dusk Gloves +1",
- ring1="Aqua Ring",
- ring2="Aqua Ring",
- back="Prism Cape",
- waist="Penitent's Rope",
- legs="Warlock's Tights",
- feet="Dusk Ledelsens +1"}
- sets.midcast.Curaga = sets.midcast.Cure
- sets.midcast['Enhancing Magic'] = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Ritter Gorget",
- ear1="Star Earring",
- ear2="Loquacious Earring",
- body="Duelist's Tabard +1",
- hands="Duelist's Gloves +1",
- ring1="Defending Ring",
- ring2="Rajas Ring",
- back="Merciful Cape",
- waist="Velocious Belt",
- legs="Warlock's Tights",
- feet="Dusk Ledelsens +1"}
- sets.midcast.MndEnfeebles = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Faith Torque",
- ear1="Star Earring",
- ear2="Loquacious Earring",
- body="Warlock's Tabard",
- hands="Devotee's Mitts +1",
- ring1="Aqua Ring",
- ring2="Aqua Ring",
- back="Prism Cape",
- waist="Penitent's Rope",
- legs="Mahatma Slops",
- feet="Errant Pigaches"}
- sets.midcast.IntEnfeebles = {
- ammo="Phantom Tathlum",
- head="Duelist's Chapeau +1",
- neck="Justice Torque",
- ear1="Phantom Earring +1",
- ear2="Loquacious Earring +1",
- body="Warlock's Tabard",
- hands="Duelist's Gloves +1",
- ring1="Snow Ring",
- ring2="Snow Ring",
- back="Prism Cape",
- waist="Penitent's Rope",
- legs="Mahatma Slops",
- feet="Duelist's Boots +1"}
- -- Check Set
- sets.midcast['Dark Magic'] = {
- ammo="Phantom Tathlum",
- head="Duelist's Chapeau +1",
- neck="Aesir Torque",
- ear1="Phantom Earring +1",
- ear2="Loquacious Earring",
- body="Crimson Scale Mail",
- hands="Blood Finger Gauntlets",
- ring1="Snow Ring",
- ring2="Snow Ring",
- back="Merciful Cape",
- waist="Penitent's Rope",
- legs="Mahatma Slops",
- feet="Duelist's Boots +1"}
- sets.midcast['Elemental Magic'] = {
- ammo="Phantom Tathlum",
- head="Duelist's Chapeau +1",
- neck="Justice Torque",
- ear1="Moldavite Earring",
- ear2="Phantom Earring +1",
- body="Crimson Scale Mail",
- hands="Zenith Mitts",
- ring1="Snow Ring",
- ring2="Snow Ring",
- back="Merciful Cape",
- waist="Penitent's Rope",
- legs="Mahatma Slops",
- feet="Duelist's Boots +1"}
- --[[sets.midcast.Bind = {sets.midcast.IntEnfeebles}
- sets.midcast.Blind = {}
- sets.midcast.Paralyze = {}
- sets.midcast.Slow = {}
- sets.midcast.Gravity = {}
- sets.midcast.Dispel = {}
- sets.midcast.Sleep = {}
- sets.midcast.Stoneskin = {}
- sets.midcast.Drain = sets.midcast['Dark Magic']
- sets.midcast.Aspir = sets.midcast.Drain
- sets.midcast.Stun = sets.midcast['Dark Magic']
- sets.midcast.IntEnfeebles.Casting = set_combine(sets.midcast.IntEnfeebles,{})
- sets.midcast.Bind.Casting = set_combine(sets.midcast.IntEnfeebles,{sub="Ice Grip"})
- sets.midcast.Blind.Casting = set_combine(sets.midcast.IntEnfeebles,{sub="Dark Grip"})
- sets.midcast.Dispel.Casting = set_combine(sets.midcast.IntEnfeebles,{sub="Dark Grip"})
- sets.midcast.Gravity.Casting = set_combine(sets.midcast.IntEnfeebles,{sub="Wind Grip"})
- sets.midcast.Slow.Casting = set_combine(sets.midcast.MndEnfeebles,{sub="Earth Grip"})
- sets.midcast.Paralyze.Casting = set_combine(sets.midcast.MndEnfeebles,{sub="Ice Grip"})
- sets.midcast.Sleep.Casting = set_combine(sets.midcast['Dark Magic'],{sub="Dark Grip"})
- sets.midcast.Stoneskin.Casting = set_combine(sets.midcast.Enhancing,{sub="Raptor Leather Strap +1",head="Errant Hat",body="Errant Houppelande",ring1="Aqua Ring",ring1="Aqua Ring",feet="Errant Pigaches"})
- sets.midcast['ElementalEnfeeble'] = set_combine(sets.midcast['Elemental Magic'])
- sets.midcast.Cure.Casting = set_combine(sets.midcast.Cure,{feet="Errant Pigaches",hands="Devotee's Mitts +1"})
- sets.midcast['Enhancing Magic'].Casting = set_combine(sets.midcast['Enhancing Magic'],{ring1="Aqua Ring",ring1="Aqua Ring",feet="Errant Pigaches"})
- ]]
- -- Sets for special buff conditions on spells.
- -- Sets to return to when not performing an action.
- -- Resting sets
- sets.resting = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Orochi Nodowa",
- ear1="Triton Earring",
- ear2="Loquacious Earring",
- body="Dalmatica",
- hands="Duelist's Gloves +1",
- ring1="Defending Ring",
- ring2="Shadow Ring",
- back="Shadow Mantle",
- waist="Velocious Belt",
- legs="Blood Cuisses",
- feet="Duelist's Boots +1"}
- -- Idle sets
- sets.idle = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Orochi Nodowa",
- ear1="Triton Earring",
- ear2="Loquacious Earring",
- body="Dalmatica",
- hands="Duelist's Gloves +1",
- ring1="Defending Ring",
- ring2="Shadow Ring",
- back="Shadow Mantle",
- waist="Velocious Belt",
- legs="Blood Cuisses",
- feet="Duelist's Boots +1"}
- sets.idle.Town = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Ritter Gorget",
- ear1="Suppanomimi",
- ear2="Brutal Earring",
- body="Duelist's Tabard +1",
- hands="Duelist's Gloves +1",
- ring1="Defending Ring",
- ring2="Shadow Ring",
- back="Shadow Mantle",
- waist="Velocious Belt",
- legs="Duelist's Tights +1",
- feet="Duelist's Boots +1"}
- sets.idle.Weak = sets.idle
- sets.idle.PDT = {}
- sets.idle.MDT = {}
- sets.idle.Casting = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Orocho Nodowa",
- ear1="Loquacious Earring",
- ear2="Triton Earring",
- body="Dalmatica",
- hands="Duelist's Gloves +1",
- ring1="Defending Ring",
- ring2="Shadow Ring",
- back="Shadow Mantle",
- waist="Velocious Belt",
- legs="Blood Cuisses",
- feet="Duelist's Boots +1"}
- -- Defense sets
- sets.defense.PDT = {ammo="Bibiki Seashell",
- head="Darksteel Cap +1",neck="Orochi Nodowa",ear1="Suppanomimi",ear2="Brutal Earring",
- body="Darksteel Harness +1",hands="Darksteel Mittens +1",ring1="Defending Ring",ring2="Jelly Ring",
- back="Shadow Mantle",waist="Velocious Belt",legs="Darksteel Subligar +1",feet="Darksteel Leggings +1"}
- sets.defense.MDT = {ammo="Bibiki Seashell",
- head="Coral Visor",neck="Orochi Nodowa",ear1="Merman's Earring",ear2="Merman's Earring",
- body="Coral Scale Mail",hands="Coral Finger Gauntlets",ring1="Defending Ring",ring2="Shadow Ring",
- back="Resentment Cape",waist="Velocious Belt",legs="Coral Cuisses",feet="Coral Greaves"}
- sets.Kiting = set_combine(sets.defense.PDT, {head="Duelist's Chapeau +1",body="Dalmatica",legs="Blood Cuisses"})
- -- 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 = {
- ammo="Bibiki Seashell",
- head="Duelist's Chapeau +1",
- neck="Peacock Amulet",
- ear1="Suppanomimi",
- ear2="Brutal Earring",
- body="Dalmatica",
- hands="Dusk Gloves +1",
- ring1=gear.ToreadorsRing.good,
- ring2="Defending Ring",
- back="Boxer's Mantle",
- waist="Velocious Belt",
- legs="Dusk Trousers +1",
- feet="Dusk Ledelsens +1"}
- sets.engaged.Shield = {}
- 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.action_type == "Magic" and state.CastingMode.value ~= 'Casting') then
- equip(sets.grips[spell.element]) else
- handle_equipping_gear(player.status)
- eventArgs.handled = true
- end
- if spell.action_type == "Magic" then
- if spell.element == world.weather_element or spell.element == world.day_element then
- equip(sets.obi[spell.element])
- 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 spell.action_type == "Magic" then
- -- if spell.element == world.weather_element or spell.element == world.day_element then
- -- equip(sets.obi[spell.element])
- -- end
- -- end
- --end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Called any time we attempt to handle automatic gear equips (ie: engaged or idle gear).
- function job_handle_equipping_gear(playerStatus, eventArgs)
- -- Check that ranged slot is locked, if necessary
- check_main_lock()
- end
- -- Modify the default idle set after it was constructed.
- -- Custom spell mapping.
- function job_get_spell_map(spell, default_spell_map)
- if spell.action_type == 'Magic' then
- if spell.skill == 'Enfeebling Magic' then
- if spell.type == 'WhiteMagic' then
- return 'MndEnfeebles'
- else
- return 'IntEnfeebles'
- end
- end
- end
- end
- -- Set eventArgs.handled to true if we don't want the automatic display to be run.
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- -- Function to lock the ranged slot if we have a ranged weapon equipped.
- function check_main_lock()
- if player.equipment.main == 'Excalibur' or 'Mandau' then
- disable('sub')
- else
- enable('sub')
- end
- end
- function customize_idle_set(idleSet)
- if buffactive["Poison"] then --and gain and (player.status == "Engaged" or "Idle" or "Resting") then
- idleSet = set_combine(idleSet, {back="Poison taster's cape"})
- end
- return idleSet
- end
- function customize_melee_set(meleeSet)
- if buffactive["Poison"] then --and gain and (player.status == "Engaged" or "Idle" or "Resting") then
- meleeSet = set_combine(meleeSet, {back="Poison taster's cape"})
- end
- return meleeSet
- end
- function job_buff_change(buff,gain)
- if buffactive["Poison"] then --and gain and (player.status == "Engaged" or "Idle" or "Resting") then
- equip({back="Poison taster's cape"})
- else
- if not midaction() then
- handle_equipping_gear(player.status)
- end
- end
- end
- -- 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(5, 11)
- elseif player.sub_job == 'NIN' then
- set_macro_page(5, 11)
- elseif player.sub_job == 'RDM' then
- set_macro_page(5, 11)
- else
- set_macro_page(5, 11)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement