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.Barrage = buffactive.Barrage or false
- state.Buff.Camouflage = buffactive.Camouflage or false
- state.Buff['Unlimited Shot'] = buffactive['Unlimited Shot'] 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.RangedMode:options('Normal', 'Acc')
- state.WeaponskillMode:options('Normal', 'Acc')
- state.flurrymode = M{['description'] = 'Flurry Mode'}
- state.flurrymode:options('NoFlurry','Flurry','FlurryII')
- gear.default.weaponskill_neck = "Ocachi Gorget"
- gear.default.weaponskill_waist = "Elanid Belt"
- DefaultAmmo = {['Yoichinoyumi'] = "Achiyalabopa arrow", ['Annihilator'] = "Achiyalabopa bullet"}
- U_Shot_Ammo = {['Yoichinoyumi'] = "Achiyalabopa arrow", ['Annihilator'] = "Achiyalabopa bullet"}
- select_default_macro_book()
- send_command('bind f9 gs c cycle RangedMode')
- send_command('bind ^f9 gs c cycle OffenseMode')
- send_command('bind ^q gs c flurrymode')
- end
- -- Called when this job file is unloaded (eg: job change)
- function user_unload()
- send_command('unbind f9')
- send_command('unbind ^f9')
- end
- -- Set up all gear sets.
- function init_gear_sets()
- gear.DDFeet= {name="Herculean Boots", augments={'Accuracy+24','"Triple Atk."+3','DEX+8',}}
- gear.MABHead= {name="Herculean Helm", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Weapon skill damage +2%','INT+8','"Mag.Atk.Bns."+5',}}
- gear.MABLegs= {name="Herculean Trousers", augments={'Mag. Acc.+14 "Mag.Atk.Bns."+14','Weapon skill damage +4%','INT+1','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}
- gear.MABFeet= {name="Herculean Boots", augments={'"Mag.Atk.Bns."+21','Weapon skill damage +5%','STR+10','Mag. Acc.+2',}}
- gear.RAHands= {name="Herculean Gloves", augments={'Rng.Acc.+20 Rng.Atk.+20','Crit.hit rate+4','AGI+1','Rng.Acc.+1','Rng.Atk.+7',}}
- gear.RALegs= {name="Herculean Trousers", augments={'Rng.Acc.+24 Rng.Atk.+24','Crit.hit rate+1','MND+6','Rng.Acc.+6','Rng.Atk.+5',}}
- gear.RAFeet= {name="Herculean Boots", augments={'Rng.Acc.+25 Rng.Atk.+25','"Subtle Blow"+11','DEX+6','Rng.Acc.+13','Rng.Atk.+2',}}
- gear.STRWSHead= {name="Herculean Helm", augments={'Rng.Acc.+24 Rng.Atk.+24','Weapon skill damage +1%','STR+9','Rng.Acc.+10',}}
- gear.WSBody= {name="Herculean Vest", augments={'Rng.Acc.+24 Rng.Atk.+24','Weapon skill damage +4%','Rng.Acc.+3',}}
- gear.STRWSLegs= {name="Herculean Trousers", augments={'Rng.Acc.+19','Weapon skill damage +5%','STR+6',}}
- gear.STRWSFeet= {name="Herculean Boots", augments={'"Mag.Atk.Bns."+21','Weapon skill damage +5%','STR+10','Mag. Acc.+2',}}
- gear.AGIWSHead= {name="Herculean Helm", augments={'Rng.Acc.+23','Weapon skill damage +3%','AGI+10',}}
- gear.AGIWSLegs= {name="Herculean Trousers", augments={'Weapon skill damage +4%','AGI+8','Rng.Acc.+13','Rng.Atk.+12',}}
- gear.AGIWSFeet= {name="Herculean Boots", augments={'Rng.Acc.+18 Rng.Atk.+18','Weapon skill damage +3%','AGI+1','Rng.Acc.+13',}}
- gear.AGIWSCape= {name="Belenus's Cape", augments={'AGI+20','Mag. Acc+20 /Mag. Dmg.+20','Weapon skill damage +10%',}}
- gear.STRWSCape= {name="Belenus's Cape", augments={'STR+20','Rng.Acc.+20 Rng.Atk.+20','Weapon skill damage +10%',}}
- gear.STPCape= {name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','"Store TP"+10',}}
- gear.THBody= {name="Herculean Vest", augments={'DEX+9','AGI+14','"Treasure Hunter"+1','Accuracy+18 Attack+18','Mag. Acc.+4 "Mag.Atk.Bns."+4',}}
- gear.FCLegs = {name="Herculean Trousers", augments={'"Fast Cast"+4','CHR+5'}}
- --------------------------------------
- -- Precast sets
- --------------------------------------
- -- Precast sets to enhance JAs
- sets.precast.JA['Bounty Shot'] = {hands="Amini Glovelettes +1",waist="Chaac Belt",body=gear.THBody}
- sets.precast.JA['Camouflage'] = {body="Orion Jerkin +1"}
- sets.precast.JA['Scavenge'] = {feet="Orion Socks +1"}
- sets.precast.JA['Shadowbind'] = {hands="Orion Bracers +1"}
- sets.precast.JA['Sharpshot'] = {legs="Orion Braccae +1"}
- sets.precast.JA['Double Shot'] = {legs="Amini Gapette +1"}
- sets.precast.JA['Eagle Eye Shot'] = {head="Uk'uxkaj Cap",body=gear.WSBody,back=gear.STRWSCape,
- neck="Rancor Collar",hands=gear.RAHands,waist="Yemaya Belt",ear1="Vulcan's Earring",ear2="Telos Earring",
- ring1="Ifrit Ring +1",ring2="Ifrit Ring +1",legs="Arcadian Braccae +1",feet=gear.RAFeet,}
- -- Fast cast sets for spells
- sets.precast.FC = {
- head="Carmine Mask +1",neck="Orunmila's Torque",ear1="Enchanter Earring +1",ear2="Loquacious Earring",
- body="Dread Jupon",hands="Leyline Gloves",ring1="Weather. Ring",ring2="Prolix Ring",
- back="Lutian Cape",waist="Flume Belt +1",legs="Herculean Trousers",feet="Carmine Greaves +1",}
- sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {body="Passion Jacket",neck="Magoraga Beads"})
- -- Ranged sets (snapshot)
- sets.precast.RA.noFlurry = { -- No Flurry --
- head="Orion Beret +1",
- body="Amini Caban +1",hands="Carmine Fin. Ga. +1",back=gear.STPCape,
- waist="Impulse Belt",legs="Adhemar Kecks",feet="Meghanada Jambeaux +1"}
- sets.precast.RA = { -- Flurry 1 --
- head="Orion Beret +1",
- body="Amini Caban +1",hands="Carmine Fin. Ga. +1",back=gear.STPCape,
- waist="Yemaya Belt",legs="Adhemar Kecks",feet="Pursuer's Gaiters"}
- sets.precast.RA.Rapid = { -- Flurry 2 --
- head="Orion Beret +1",
- body="Arcadian Jerkin +1",hands="Carmine Fin. Ga. +1",back=gear.STPCape,
- waist="Yemaya Belt",legs="Adhemar Kecks",feet="Pursuer's Gaiters"}
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {
- head="Arcadian Beret +1",neck=gear.ElementalGorget,ear1="Ishvara Earring",ear2="Vulcan's Earring",
- body="Meg. Cuirie +1",hands="Meg. Gloves +1",ring1="Rajas Ring",ring2="Apate Ring",
- back=gear.AGIWSCape,waist=gear.ElementalBelt,legs="Meg. Chausses +1",feet=gear.STRWSFeet,}
- sets.precast.WS.Acc = set_combine(sets.precast.WS, {body="Kyujutsugi",ring1="Hajduk Ring +1",
- back="Lutian Cape",legs="Orion Braccae +1"})
- sets.precast.WS['Wildfire'] = {
- head=gear.MABHead,neck="Baetyl Pendant",ear1="Friomisi Earring",ear2="Ishvara Earring",
- body="Gyve Doublet",hands="Carmine Fin. Ga. +1",ring1="Shiva Ring +1",ring2="Arvina Ringlet +1",
- back=gear.AGIWSCape,waist="Eschan Stone",legs=gear.MABLegs,feet=gear.MABFeet}
- sets.precast.WS['Trueflight'] = set_combine(sets.precast.WS['Wildfire'],
- {ring1="Weather. Ring"})
- sets.precast.WS['Coronach'] = {
- head=gear.STRWSHead,neck=gear.ElementalGorget,ear1="Ishvara Earring",ear2="Moonshade Earring",
- body=gear.WSBody,hands="Meg. Gloves +1",ring1="Ifrit Ring +1",ring2="Apate Ring",
- back=gear.STRWSCape,waist=gear.ElementalBelt,legs=gear.STRWSLegs,feet=gear.STRWSFeet,}
- sets.precast.WS['Last Stand'] = {
- head=gear.AGIWSHead,neck=gear.ElementalGorget,ear1="Ishvara Earring",ear2="Moonshade Earring",
- body=gear.WSBody,hands="Meg. Gloves +1",ring1="Rajas Ring",ring2="Apate Ring",
- back=gear.AGIWSCape,waist=gear.ElementalBelt,legs=gear.AGIWSLegs,feet=gear.AGIWSFeet,}
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- --------------------------------------
- -- Midcast sets
- --------------------------------------
- -- Fast recast for spells
- sets.midcast.FastRecast = sets.precast.FC
- sets.midcast.Utsusemi = {sets.precast.FC}
- -- Ranged sets
- sets.midcast.RA = {
- head="Arcadian Beret +1",neck="Combatant's Torque",ear1="Enervating Earring",ear2="Telos Earring",
- body="Amini Caban +1",hands=gear.RAHands,ring1="Rajas Ring",ring2="Apate Ring",
- back=gear.STPCape,waist="Yemaya Belt",legs=gear.RALegs,feet=gear.RAFeet}
- sets.midcast.RA.Acc = set_combine(sets.midcast.RA,
- {ring1="Cacoethic Ring +1",ring2="Cacoethic Ring",})
- sets.midcast.RA.Annihilator = set_combine(sets.midcast.RA)
- sets.midcast.RA.Annihilator.Acc = set_combine(sets.midcast.RA.Acc)
- sets.midcast.RA.Yoichinoyumi = set_combine(sets.midcast.RA, {ear2="Clearview Earring",ring2="Rajas Ring",
- back="Sylvan Chlamys"})
- sets.midcast.RA.Yoichinoyumi.Acc = set_combine(sets.midcast.RA.Acc, {ear2="Clearview Earring"})
- --------------------------------------
- -- Idle/resting/defense/etc sets
- --------------------------------------
- -- Sets to return to when not performing an action.
- -- Idle sets
- sets.idle = {
- head="Adhemar Bonnet",neck="Combatant's Torque",ear1="Brutal Earring",ear2="Telos Earring",
- body="Adhemar Jacket", hands="Adhemar Wristbands", ring1="Rajas Ring",ring2="Epona's Ring",
- back=gear.STPCape,waist="Kentarch Belt +1",legs="Carmine Cuisses +1",feet=gear.DDFeet}
- -- Defense sets
- sets.defense.PDT = {
- head="Meghanada Visor +1",neck="Loricate Torque +1",ear1="Genmei Earring",ear2="Etiolation Earring",
- body="Meg. Cuirie +1",hands="Kurys Gloves",ring1="Defending Ring",ring2="Dark Ring",
- back="Reiki Cloak",waist="Flume Belt +1",legs="Meg. Chausses +1",feet=gear.DDFeet}
- sets.defense.MDT = {
- head="Orion Beret +1",neck="Twilight Torque",
- body="Orion Jerkin +1",hands="Orion Bracers +1",ring1="Defending Ring",ring2="Shadow Ring",
- back="Mollusca Cape",waist="Flume Belt",legs="Nahtirah Trousers",feet="Orion Socks +1"}
- sets.Kiting = {legs="Carmine Cuisses +1"}
- --------------------------------------
- --sets
- --------------------------------------
- sets.engaged = {
- head="Adhemar Bonnet",neck="Combatant's Torque",ear1="Brutal Earring",ear2="Telos Earring",
- body="Adhemar Jacket", hands="Adhemar Wristbands", ring1="Rajas Ring",ring2="Epona's Ring",
- back=gear.STPCape,waist="Kentarch Belt +1",legs="Carmine Cuisses +1",feet=gear.DDFeet}
- sets.Overkill = {
- body="Arcadian Jerkin +1"}
- sets.Overkill.Preshot = set_combine(sets.precast.RA, sets.Overkill)
- --------------------------------------
- -- Custom buff sets
- --------------------------------------
- sets.buff.Barrage = set_combine(sets.midcast.RA, {head="Meghanada Visor +1",ring1="Cacoethic Ring +1",ring2="Cacoethic Ring",
- body="Meghanada Cuirie +1",hands="Orion Bracers +1",legs="Desultor Tassets",})
- 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.action_type == 'Ranged Attack' or
- (spell.type == 'WeaponSkill' and (spell.skill == 'Marksmanship' or spell.skill == 'Archery')) then
- check_ammo(spell, action, spellMap, eventArgs)
- end
- end
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- function job_midcast(spell, action, spellMap, eventArgs)
- if spell.action_type == 'Ranged Attack' and state.Buff.Barrage then
- equip(sets.buff.Barrage)
- eventArgs.handled = true
- end
- end
- function job_post_precast(spell, action, spellMap, eventArgs)
- if state.Buff.Camouflage then
- equip(sets.buff.Camouflage)
- elseif state.Buff.Overkill then
- equip(sets.Overkill.Preshot)
- end
- if spell.action_type=="Ranged Attack" then
- if not midshot_real then
- if buffactive['Flurry'] then
- equip(sets.precast.RA)
- --add_to_chat(122,"Flurry found")
- else
- equip(sets.precast.RA.noFlurry)
- --add_to_chat(122,"No flurry")
- end
- end
- end
- if spell.english == "Trueflight" and (buffactive['Aurorastorm'] or buffactive['Aurorastorm II']) then
- --print('weather mode')
- equip({waist="Hachirin-no-Obi"})
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for non-casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Called when a player gains or loses a buff.
- -- buff == buff gained or lost
- -- gain == true if the buff was gained, false if it was lost.
- function job_buff_change(buff, gain)
- if buff == "Camouflage" then
- if gain then
- equip(sets.buff.Camouflage)
- disable('body')
- else
- enable('body')
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Set eventArgs.handled to true if we don't want the automatic display to be run.
- function display_current_job_state(eventArgs)
- end
- function check_flurry_level()
- if buffactive['Flurry'] then
- add_to_chat(122,'Flurry Detected')
- state.flurrymode:set('Flurry')
- else
- state.flurrymode:set('NoFlurry')
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- -- Check for proper ammo when shooting or weaponskilling
- function check_ammo(spell, action, spellMap, eventArgs)
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- set_macro_page(1, 6)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement