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')
- select_lockstyle()
- end
- -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
- function job_setup()
- state.Buff.Sentinel = buffactive.sentinel or false
- state.Buff.Cover = buffactive.cover or false
- state.Buff.Doom = buffactive.Doom or false
- select_lockstyle()
- 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', 'PDT', 'MDT')
- state.IdleMode:options('Normal', 'PDT', 'MDT')
- state.WeaponskillMode:options('Normal', 'Acc')
- state.CastingMode:options('Normal', 'Resistant')
- state.PhysicalDefenseMode:options('PDT')
- state.MagicalDefenseMode:options('MDT')
- -- state.ExtraDefenseMode = M{['description']='Extra Defense Mode'}
- -- state.EquipShield = M(false, 'Equip Shield w/Defense')
- -- update_defense_mode()
- send_command('bind !w gs c cycle IdleMode')
- send_command('bind !q gs c cycle OffenseMode')
- send_command('bind ^f11 gs c cycle MagicalDefenseMode')
- send_command('bind !s input /lockstyleset 98')
- send_command('bind @f10 gs c toggle EquipShield')
- send_command('bind @f11 gs c toggle EquipShield')
- select_default_macro_book()
- end
- function user_unload()
- send_command('unbind !q')
- send_command('unbind !w')
- send_command('unbind ^f11')
- send_command('unbind !f11')
- send_command('unbind @f10')
- send_command('unbind @f11')
- send_command('unbind !s')
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Precast sets
- --------------------------------------
- sets.precast.Enmity = {
- head={ name="Souveran Schaller", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Macabre Gaunt. +1",
- legs={ name="Souveran Diechlings", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- feet={ name="Yorium Sabatons", augments={'DEF+19','Enmity+10',}},
- neck="Invidia Torque",
- left_ear="Cryptic Earring",
- right_ear="Trux Earring",
- left_ring="Apeile Ring",
- right_ring="Apeile Ring +1",
- back={ name="Weard Mantle", augments={'VIT+1','Enmity+4','Phalanx +3',}},}
- -- Precast sets to enhance JAs
- sets.precast.JA['Invincible'] = {legs="Caballarius Breeches"}
- sets.precast.JA['Holy Circle'] = {feet="Reverence Leggings +1"}
- sets.precast.JA['Shield Bash'] = {hands="Caballarius Gauntlets"}
- sets.precast.JA['Sentinel'] = {feet="Caballarius Leggings"}
- sets.precast.JA['Rampart'] = {head="Caballarius Coronet"}
- sets.precast.JA['Fealty'] = {body="Caballarius Surcoat"}
- sets.precast.JA['Divine Emblem'] = {feet="Creed Sabatons +2"}
- sets.precast.JA['Cover'] = {head="Reverence Coronet +1"}
- sets.precast.JA['Provoke'] = sets.precast.Enmity
- sets.precast.JA['War Cry'] = sets.precast.Enmity
- -- add mnd for Chivalry
- sets.precast.JA['Chivalry'] = {
- head="Reverence Coronet +1",
- body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Leviathan Ring",ring2="Aquasoul Ring",
- back="Weard Mantle",legs="Reverence Breeches +1",feet="Whirlpool Greaves"}
- -- Waltz set (chr and vit)
- --sets.precast.Waltz = {}
- -- Don't need any special gear for Healing Waltz.
- --sets.precast.Waltz['Healing Waltz'] = {}
- --sets.precast.Step = {waist="Chaac Belt"}
- --sets.precast.Flourish1 = {waist="Chaac Belt"}
- -- Fast cast sets for spells
- sets.precast.FC = {
- ammo="Incantor Stone",
- body={ name="Odyss. Chestplate", augments={'"Mag.Atk.Bns."+13','"Fast Cast"+5','CHR+2','Mag. Acc.+4',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+2','Mag. Acc.+4',}},
- legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
- feet={ name="Odyssean Greaves", augments={'Mag. Acc.+1','"Fast Cast"+5','AGI+6','"Mag.Atk.Bns."+12',}},
- neck="Orunmila's Torque",
- left_ear="Etiolation Earring",
- right_ear="Loquac. Earring",}
- sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
- sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {left_ear="Nourish. Earring", right_ear="Nourish. Earring +1"})
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {
- ammo="Ginsen",
- head="Sulevia's Mask +1",
- body={ name="Odyss. Chestplate", augments={'Accuracy+25 Attack+25','"Store TP"+3','DEX+10','Attack+4',}},
- hands={ name="Odyssean Gauntlets", augments={'Accuracy+22 Attack+22','Weapon skill damage +3%','DEX+12','Accuracy+11',}},
- legs="Sulevi. Cuisses +1",
- feet={ name="Valorous Greaves", augments={'Accuracy+25 Attack+25','Crit. hit damage +3%','VIT+10','Accuracy+11',}},
- neck="Fotia Gorget",
- waist="Fotia Belt",
- left_ear="Cessance Earring",
- right_ear="Zennaroi Earring",
- left_ring="Rajas Ring",
- right_ring="Apate Ring",
- back="Agema Cape",}
- sets.precast.WS.Acc = sets.precast.WS
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- --sets.precast.WS['Requiescat'] = {}
- --sets.precast.WS['Requiescat'].Acc = {}
- --sets.precast.WS['Sanguine Blade'] = {}
- --sets.precast.WS['Atonement'] = {}
- --------------------------------------
- -- Midcast sets
- --------------------------------------
- sets.midcast.FastRecast = {
- ammo="Incantor Stone",
- head={ name="Souveran Schaller", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- body={ name="Odyss. Chestplate", augments={'"Mag.Atk.Bns."+13','"Fast Cast"+5','CHR+2','Mag. Acc.+4',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+2','Mag. Acc.+4',}},
- legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
- feet={ name="Odyssean Greaves", augments={'Mag. Acc.+1','"Fast Cast"+5','AGI+6','"Mag.Atk.Bns."+12',}},
- neck="Orunmila's Torque",
- waist="Sailfi Belt +1",
- left_ear="Etiolation Earring",
- right_ear="Loquac. Earring",}
- sets.midcast.Enmity = {
- head={ name="Souveran Schaller", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Macabre Gaunt. +1",
- legs={ name="Souveran Diechlings", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- feet={ name="Yorium Sabatons", augments={'DEF+19','Enmity+10',}},
- neck="Invidia Torque",
- left_ear="Cryptic Earring",
- right_ear="Trux Earring",
- left_ring="Apeile Ring",
- right_ring="Apeile Ring +1",
- back={ name="Weard Mantle", augments={'VIT+1','Enmity+4','Phalanx +3',}},}
- sets.midcast.Flash = sets.midcast.Enmity
- sets.midcast.Stun = sets.midcast.Flash
- sets.midcast.Cure = {
- ammo="Impatiens",
- head={ name="Souveran Schaller", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Macabre Gaunt. +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet={ name="Odyssean Greaves", augments={'Mag. Acc.+1','"Fast Cast"+5','AGI+6','"Mag.Atk.Bns."+12',}},
- neck="Phalaina Locket",
- waist="Gishdubar Sash",
- left_ear="Nourish. Earring",
- right_ear="Nourish. Earring +1",
- left_ring="Evanescence Ring",
- right_ring="Kunaji Ring",
- back="Solemnity Cape",}
- sets.midcast['Enhancing Magic'] = {
- ammo="Impatiens",
- head={ name="Souveran Schaller", augments={'HP+80','Enmity+7','Potency of "Cure" effect received +10%',}},
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Macabre Gaunt. +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet={ name="Odyssean Greaves", augments={'Mag. Acc.+1','"Fast Cast"+5','AGI+6','"Mag.Atk.Bns."+12',}},
- neck="Incanter's Torque",
- waist="Gishdubar Sash",
- left_ear="Etiolation Earring",
- right_ear="Loquac. Earring",
- left_ring="Evanescence Ring",
- right_ring="Apeile Ring +1",
- back={ name="Weard Mantle", augments={'VIT+1','Enmity+4','Phalanx +3',}},}
- sets.midcast['Phalanx'] = {
- hands="Souv. Handschuhs",
- back={ name="Weard Mantle", augments={'VIT+1','Enmity+4','Phalanx +3',}},}
- sets.midcast.Protect = {ring1="Sheltered Ring"}
- sets.midcast.Shell = {ring1="Sheltered Ring"}
- --------------------------------------
- -- Idle/resting/defense/etc sets
- --------------------------------------
- --sets.Reraise = {head="Twilight Helm", body="Twilight Mail"}
- -- Idle sets
- sets.idle = {
- sub="Ochain",
- ammo="Ginsen",
- head="Sulevia's Mask +1",
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Sulev. Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Hippo. Socks +1",
- neck="Sanctity Necklace",
- waist="Fotia Belt",
- left_ear="Etiolation Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Apeile Ring +1",
- back="Xucau Mantle",}
- sets.idle.PDT = {
- sub="Ochain",
- ammo="Ginsen",
- head="Sulevia's Mask +1",
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Sulev. Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Hippo. Socks +1",
- neck="Sanctity Necklace",
- waist="Fotia Belt",
- left_ear="Etiolation Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Apeile Ring +1",
- back="Xucau Mantle",}
- sets.idle.MDT = {
- sub="Aegis",
- head="Sulevia's Mask +1",
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Sulev. Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Flam. Gambieras +1",
- neck="Twilight Torque",
- waist="Asklepian Belt",
- left_ear="Etiolation Earring",
- right_ear="Eabani Earring",
- left_ring="Defending Ring",
- right_ring="Vengeful Ring",
- back="Agema Cape",}
- sets.idle.Town = sets.idle
- sets.idle.Weak = sets.idle
- sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
- sets.Kiting = {legs="Carmine Cuisses +1"}
- sets.latent_refresh = {waist="Fucho-no-obi"}
- sets.resting = sets.idle
- --------------------------------------
- -- Defense sets
- --------------------------------------
- -- Extra defense sets. Apply these on top of melee or defense sets.
- sets.Knockback = {back="Repulse Mantle"}
- sets.MP = {waist="Flume Belt +1"}
- -- If EquipShield toggle is on (Win+F10 or Win+F11), equip the weapon/shield combos here
- -- when activating or changing defense mode:
- sets.PhysicalShield = {main="Tanmogayi +1",sub="Ochain"} -- Ochain
- sets.MagicalShield = {main="Tanmogayi +1",sub="Aegis"} -- Aegis
- -- Basic defense sets.
- sets.defense.PDT = {}
- sets.defense.MDT = {}
- sets.defense.PDT.idle = set_combine(sets.defense.PDT, {legs="Carmine Cuisses +1"})
- sets.defense.MDT.idle = set_combine(sets.defense.MDT, {legs="Carmine Cuisses +1"})
- --sets.defense.HP = {}
- --sets.defense.Reraise = {}
- --sets.defense.Charm = {}
- -- To cap MDT with Shell IV (52/256), need 76/256 in gear.
- -- Shellra V can provide 75/256, which would need another 53/256 in gear.
- --------------------------------------
- -- Engaged sets
- --------------------------------------
- sets.engaged = {
- sub="Ochain",
- ammo="Hasty Pinion +1",
- head="Flam. Zucchetto +1",
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Sulev. Gauntlets +1",
- legs="Sulevi. Cuisses +1",
- feet="Flam. Gambieras +1",
- neck="Agitator's Collar",
- waist="Sailfi Belt +1",
- left_ear="Cessance Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Agema Cape",}
- sets.engaged.PDT = {
- sub="Ochain",
- ammo="Hasty Pinion +1",
- head="Flam. Zucchetto +1",
- body="Sulevia's Plate. +1",
- hands="Sulev. Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Flam. Gambieras +1",
- neck="Agitator's Collar",
- waist="Sailfi Belt +1",
- left_ear="Zennaroi Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Agema Cape",}
- sets.engaged.MDT = {
- sub="Aegis",
- head="Sulevia's Mask +1",
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Sulev. Gauntlets +1",
- legs="Sulevi. Cuisses +1",
- feet="Flam. Gambieras +1",
- neck="Twilight Torque",
- waist="Asklepian Belt",
- left_ear="Etiolation Earring",
- right_ear="Eabani Earring",
- left_ring="Defending Ring",
- right_ring="Vengeful Ring",
- back="Agema Cape",}
- sets.engaged.DW = sets.engaged
- --sets.engaged.DW.Acc = sets.engaged.Acc
- sets.engaged.PDT = {
- ammo="Hasty Pinion +1",
- head="Sulevia's Mask +1",
- body={ name="Souveran Cuirass", augments={'VIT+10','Attack+20','"Refresh"+2',}},
- hands="Sulev. Gauntlets +1",
- legs="Sulevi. Cuisses +1",
- feet="Flam. Gambieras +1",
- neck="Agitator's Collar",
- waist="Flume Belt +1",
- left_ear="Thureous Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Agema Cape"}
- --sets.engaged.Acc.PDT = sets.engaged.PDT
- --sets.engaged.Reraise = set_combine(sets.engaged, sets.Reraise)
- --sets.engaged.Acc.Reraise = set_combine(sets.engaged.Acc, sets.Reraise)
- sets.engaged.DW.PDT = sets.engaged.PDT
- --sets.engaged.DW.Acc.PDT = sets.engaged.Acc.PDT
- --sets.engaged.DW.Reraise = set_combine(sets.engaged.DW, sets.Reraise)
- --sets.engaged.DW.Acc.Reraise = set_combine(sets.engaged.DW.Acc, sets.Reraise)
- --------------------------------------
- -- Custom buff sets
- --------------------------------------
- sets.buff.Doom = {ring2="Saida Ring"}
- sets.buff.Cover = {head="Reverence Coronet +1", body="Caballarius Surcoat"}
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for standard casting events.
- -------------------------------------------------------------------------------------------------------------------
- function job_midcast(spell, action, spellMap, eventArgs)
- -- If DefenseMode is active, apply that gear over midcast
- -- choices. Precast is allowed through for fast cast on
- -- spells, but we want to return to def gear before there's
- -- time for anything to hit us.
- -- Exclude Job Abilities from this restriction, as we probably want
- -- the enhanced effect of whatever item of gear applies to them,
- -- and only one item should be swapped out.
- --if state.DefenseMode.value ~= 'None' and spell.type ~= 'JobAbility' then
- --handle_equipping_gear(player.status)
- --eventArgs.handled = true
- --end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for non-casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Called when the player's status changes.
- function job_state_change(field, new_value, old_value)
- --classes.CustomDefenseGroups:clear()
- --classes.CustomDefenseGroups:append(state.ExtraDefenseMode.current)
- --if state.EquipShield.value == true then
- -- classes.CustomDefenseGroups:append(state.DefenseMode.current .. 'Shield')
- --end
- if stateField == 'Offense Mode' then
- if newValue ~= 'Normal' then
- state.IdleMode:set(state.OffenseMode.value)
- else
- state.IdleMode:reset()
- end
- end
- handle_equipping_gear(player.status)
- --classes.CustomMeleeGroups:clear()
- --classes.CustomMeleeGroups:append(state.ExtraDefenseMode.current)
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Called by the 'update' self-command, for common needs.
- -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
- function job_update(cmdParams, eventArgs)
- --update_defense_mode()
- handle_equipping_gear(player.status)
- end
- -- 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
- if state.Buff.Doom then
- idleSet = set_combine(idleSet, sets.buff.Doom)
- end
- return idleSet
- end
- -- Modify the default melee set after it was constructed.
- function customize_melee_set(meleeSet)
- --if state.Buff.Doom then
- -- meleeSet = set_combine(meleeSet, sets.buff.Doom)
- --end
- return meleeSet
- end
- --function customize_defense_set(defenseSet)
- -- if state.ExtraDefenseMode.value ~= 'None' then
- -- defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
- -- end
- --
- -- if state.EquipShield.value == true then
- -- defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
- -- end
- --
- -- if state.Buff.Doom then
- -- defenseSet = set_combine(defenseSet, sets.buff.Doom)
- -- end
- --
- -- return defenseSet
- --end
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- --function update_defense_mode()
- -- if player.equipment.main == 'Tanmogayi +1' and not classes.CustomDefenseGroups:contains('Tanmogayi +1') then
- -- classes.CustomDefenseGroups:append('Tanmogayi +1')
- -- end
- -- if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
- -- if player.equipment.sub and not player.equipment.sub:contains('Shield') and
- -- player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
- -- state.CombatForm:set('DW')
- -- else
- -- state.CombatForm:reset()
- -- end
- -- end
- --end
- function select_lockstyle()
- send_command('@wait 1.5; input /lockstyleset 98')
- end
- function job_sub_job_change(newSubjob, oldSubjob)
- select_lockstyle()
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- -- Default macro set/book
- if player.sub_job == 'NIN' then
- set_macro_page(4, 5)
- else
- set_macro_page(1, 5)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement