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.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
- --------------------------------------
- -- Precast Sets
- -- Precast sets to enhance JAs
- sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {
- head="Atrophy Chapeau +1",
- body="Atrophy Tabard +1",hands="Yaoyotl Gloves",
- back="Refraction Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
- -- 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 = {ammo="Impatiens",
- head="Atrophy Chapeau",ear2="Loquacious Earring",
- body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",
- back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Telchine Pigaches"}
- 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 = {
- head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
- body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
- back="Atheling Mantle",waist="Caudata Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
- -- 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",ear1="Brutal Earring",ear2="Moonshade Earring",
- ring1="Aquasoul Ring",ring2="Aquasoul Ring",waist="Soil Belt"})
- sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
- head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
- body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Acumen Ring",
- back="Toro Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
- -- Midcast Sets
- sets.midcast.FastRecast = {
- head="Atrophy Chapeau",ear2="Loquacious Earring",
- body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",
- back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Telchine Pigaches"}
- sets.midcast.Cure = {main="Tamaxchi",sub="Sors Shield",
- head="Gendewitha Caubeen",neck="Colossus's Torque",ear1="Roundel Earring",ear2="Loquacious Earring",
- body="Gendewitha Bliaut",hands="Bokwus Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
- back="Swith Cape +1",waist="Witful Belt",legs="Warlock's Tights",feet="Telchine Pigaches"}
- sets.midcast.Curaga = sets.midcast.Cure
- sets.midcast.CureSelf = {ring1="Kunaji Ring",ring2="Asklepian Ring"}
- sets.midcast['Enhancing Magic'] = {
- head="Atrophy Chapeau +1",neck="Colossus's Torque",
- body="Vitivation Tabard",hands="Atrophy Gloves",ring1="Prolix Ring",
- back="Estoqueur's Cape",waist="Olympus Sash",legs="Atrophy Tights",feet="Lethargy Houseaux"}
- sets.midcast.Refresh = {legs="Lethargy Fuseau"}
- sets.midcast.Stoneskin = {waist="Siegel Sash"}
- sets.midcast['Enfeebling Magic'] = {main="Marin staff+1",sub="Mephitis Grip",ammo="Kalboron Stone",
- head="Vitivation Chapeau",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
- body="Atrophy Tabard",hands="Lethargy Gantherots",ring1="Perception Ring",ring2="Mediator's Ring",
- back="Ghostfyre Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Vitivation Boots"}
- sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
- sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
- sets.midcast['Elemental Magic'] = {main="Marin Staff+1",sub="Wise Strao",ammo="Dosis Tathlum",
- head="Lethargy Chappel",neck="Eddy Necklace",ear1="Moldavite Earring",ear2="Hecate's Earring",
- body="Hagondes Coat",hands="Helios Gloves",ring1="Fenrir Ring",ring2="Acumen Ring",
- back="Ghostfyre Cape",waist=gear.Aswang Sash,legs="Hagondes Pants",feet="Vitivation Boots"}
- sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
- sets.midcast['Dark Magic'] = {main="Marin Staff+1",sub="Mephitis Grip",ammo="Kalboron Stone",
- head="Atrophy Chapeau",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
- body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",ring2="Veneficium Ring",
- back="Refraction Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Vitivation Boots"}
- --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
- sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {ring1="Excelsis Ring", waist="Fucho-no-Obi"})
- sets.midcast.Aspir = sets.midcast.Drain
- -- Sets for special buff conditions on spells.
- sets.midcast.EnhancingDuration = {hands="Atrophy Gloves",back="Estoqueur's Cape",feet="Leathargy Houseaux"}
- sets.buff.ComposureOther = {head="Lethargy Chappel",
- body="Estoqueur's Sayon +2",hands="Lethargy Gantherots",
- legs="Estoqueur's Fuseau +2",feet="Lethargy Houseaux"}
- sets.buff.Saboteur = {hands="Lethargy Gantherots"}
- -- Sets to return to when not performing an action.
- -- Resting sets
- sets.resting = {main="Chatoyant Staff",
- head="Vitivation Chapeau",neck="Wiglen Gorget",
- body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
- waist="Austerity Belt",legs="Nares Trews",feet="Chelona Boots +1"}
- -- Idle sets
- sets.idle = {main="Marin Staff+1",sub="Mephitis Grip",ammo="Impatiens",
- head="Vitivation Chapeau",neck="Weike Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",ring2="Veneficium Ring",
- back="Ghostfyre Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Telchine Pigaches"}
- sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
- head="Atrophy Chapeau +1",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
- back="Shadow Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Hagondes Sabots"}
- sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
- head="Vitivation Chapeau",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
- back="Shadow Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Hagondes Sabots"}
- sets.idle.PDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
- head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Gendewitha Bliaut +1",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
- back="Shadow Mantle",waist="Flume Belt",legs="Osmium Cuisses",feet="Gendewitha Galoshes"}
- sets.idle.MDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
- head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Gendewitha Caubeen +1",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
- back="Engulfer Cape",waist="Flume Belt",legs="Osmium Cuisses",feet="Gendewitha Galoshes"}
- -- Defense sets
- sets.defense.PDT = {
- head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Hagondes Coat",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
- back="Shadow Mantle",waist="Flume Belt",legs="Hagondes Pants",feet="Gendewitha Galoshes"}
- sets.defense.MDT = {ammo="Demonry Stone",
- head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
- body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
- back="Engulfer Cape",waist="Flume Belt",legs="Bokwus Slops",feet="Gendewitha Galoshes"}
- sets.Kiting = {legs="Crimson 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 = {
- head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
- body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
- back="Atheling Mantle",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}
- sets.engaged.Defense = {ammo="Demonry Stone",
- head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
- body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
- back="Kayapa Cape",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}
- 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
- -------------------------------------------------------------------------------------------------------------------
- -- 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, 4)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement