Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_sets()
- set_mode(player.sub_job)
- send_command('bind ^d ara start')
- send_command('bind !d ara stop')
- ranged_ws = S{"Flaming Arrow", "Piercing Arrow", "Dulling Arrow", "Sidewinder", "Arching Arrow",
- "Empyreal Arrow", "Refulgent Arrow", "Apex Arrow", "Namas Arrow", "Jishnu's Radiance", "Hot Shot", "Coronach",
- "Split Shot", "Sniper Shot", "Slug Shot", "Heavy Shot", "Detonator", "Last Stand", "Trueflight","Wildfire"}
- auto = 0
- autows = 1 -- 1 Coronach 2 Last Stand 3 Wildfire
- autowskill = 0
- autowarja = 0
- autobarrage = 0
- tpammoind = 1 -- Adlivun Bullet default
- wsammoind = 2 -- Achiyal. Bullet default
- --JA's Precast Sets
- sets.precast = {}
- sets.precast['Double Shot'] = {head="Sylvan Gapette +2"}
- sets.precast.Scavenge = {feet="Orison Socks +1"}
- sets.precast['Bounty Shot'] = {hands="Syl. Glvltte. +2", waist="Chaac Belt"}
- sets.precast.Camouflage = {body="Orion jerkin +1"}
- sets.precast.Shadowbind = {hands="Orion bracers +1"}
- ammo = {'113', '119'}
- sets.ammo = {}
- sets.ammo['119'] = {ammo="Achiyal. Bullet"}
- sets.ammo['113'] = {ammo="Adlivun Bullet"}
- -- TP SET
- --Preshot
- sets.preshot = {
- head="Sylvan Gapette +2",
- body="Sylvan caban +2",
- hands="Iuitl Wristbands +1",
- legs="Nahtirah Trousers",
- feet="Arcadian socks",
- waist="Impulse Belt",
- }
- Alist = {'Disabled', 'Enabled'}
- WSin = {'Coronach', 'Last Stand', 'Wildfire', 'Trueflight'}
- TPindex = {'Normal', 'Accuracy', 'STP', 'WarSTP'}
- sets.TP = {}
- sets.TP.Normal = {
- head="Arcadian Beret +1",
- body="Orion Jerkin +1",
- hands="Manibozho Gloves",
- legs="Orion Braccae +1",
- feet="Orion Socks +1",
- neck="Ej Necklace",
- waist="Scout's Belt",
- left_ear="Tripudio Earring",
- right_ear="Novia Earring",
- left_ring="Hajduk Ring",
- right_ring="Paqichikaji Ring",
- back="Sylvan Chlamys",
- }
- sets.TP.Accuracy = set_combine(sets.TP.Normal, {
- legs="Orion Braccae +1",
- neck="Ej Necklace",
- waist="Scout's Belt",
- left_ring="Hajduk Ring",
- right_ring="Paqichikaji Ring",
- back="Lutian Cape",
- })
- sets.TP.STP = set_combine(sets.TP.Normal, {
- legs="Aeto. Trousers +1",
- neck="Ocachi Gorget",
- waist="Scout's Belt",
- left_ear="Volley Earring",
- right_ear="Novia Earring",
- -- hands="Seiryu's Kote",
- left_ring="Rajas Ring",
- -- left_ring="Hajduk Ring",
- right_ring="Paqichikaji Ring",
- back="Lutian Cape",
- })
- sets.TP.WarSTP ={
- sub="Legion Scutum",
- head="Arcadian Beret +1",
- body="Kyujutsugi",
- hands="Seiryu's Kote",
- legs="Aeto. Trousers +1",
- feet="Orion Socks +1",
- neck="Ocachi Gorget",
- waist="Patentia Sash",
- left_ear="Volley Earring",
- right_ear="Tripudio Earring",
- left_ring="Rajas Ring",
- right_ring="Paqichikaji Ring",
- back="Lutian Cape",
- }
- sets.WS = {}
- --Coronach
- sets.WS.Coronach = {}
- sets.WS.Coronach.Normal = {
- head="Arcadian Beret +1",
- body="Orion Jerkin +1",
- hands="Orion Bracers +1",
- legs="Orion Braccae +1",
- feet="Orion Socks +1",
- neck="Breeze Gorget",
- waist="Breeze Belt",
- left_ear="Flame Pearl",
- right_ear="Flame Pearl",
- left_ring="Bellona's Ring",
- right_ring="Pyrosoul Ring",
- back="Sylvan Chlamys",
- }
- sets.WS.Coronach.Accuracy = set_combine(sets.WS.Coronach.Normal, {
- left_ring="Hajduk Ring",
- right_ring="Paqichikaji Ring",
- back="Lutian Cape",
- })
- sets.WS.Coronach.STP = set_combine(sets.WS.Coronach.Normal, {
- legs="Aeto. Trousers +1",
- neck="Ocachi Gorget",
- left_ring="Rajas Ring",
- back="Lutian Cape",
- })
- sets.WS.Coronach.WarSTP = set_combine(sets.WS.Coronach.Normal, {
- legs="Aeto. Trousers +1",--5
- neck="Ocachi Gorget",--5
- body="Kyujutsugi",--5
- left_ring="Rajas Ring",--5
- right_ring="Paqichikaji Ring",
- right_ear="Tripudio Earring",--5
- back="Sylvan Chlamys",--5
- })
- --Wildfire
- sets.WS['Wildfire']= {}
- sets.WS['Wildfire'].Normal ={
- head="Umbani Cap",
- body="Orion Jerkin +1",
- hands="Orion Bracers +1",
- legs="Orion Braccae +1",
- feet="Orion Socks +1",
- neck="Stoicheion Medal",
- waist="Scout's Belt",
- left_ear="Novio Earring",
- right_ear="Hecate's Earring",
- left_ring="Stormsoul Ring",
- right_ring="Stormsoul Ring",
- back="Toro Cape",
- }
- sets.WS['Wildfire'].Accuracy = sets.WS['Wildfire'].Normal
- sets.WS['Wildfire'].STP = sets.WS['Wildfire'].Normal
- sets.WS['Wildfire'].WarSTP = sets.WS['Wildfire'].Normal
- --Trueflight
- sets.WS['Trueflight']= {}
- sets.WS['Trueflight'].Normal ={
- head="Umbani Cap",
- body="Orion Jerkin +1",
- hands="Orion Bracers +1",
- legs="Orion Braccae +1",
- feet="Orion Socks +1",
- neck="Stoicheion Medal",
- waist="Scout's Belt",
- left_ear="Novio Earring",
- right_ear="Hecate's Earring",
- left_ring="Stormsoul Ring",
- right_ring="Stormsoul Ring",
- back="Toro Cape",
- }
- sets.WS['Trueflight'].Accuracy = sets.WS['Trueflight'].Normal
- sets.WS['Trueflight'].STP = sets.WS['Trueflight'].Normal
- sets.WS['Trueflight'].WarSTP = sets.WS['Trueflight'].Normal
- --Last Stand
- sets.WS['Last Stand'] = {}
- sets.WS['Last Stand'].Normal = {
- head="Arcadian Beret +1",
- body="Orion Jerkin +1",
- hands="Orion Bracers +1",
- legs="Orion Braccae +1",
- feet="Orion Socks +1",
- neck="Light Gorget",
- waist="Light Belt",
- left_ear="Volley Earring",
- right_ear="Moonshade Earring",
- left_ring="Stormsoul Ring",
- right_ring="Stormsoul Ring",
- back="Lutian Cape",
- }
- sets.WS['Last Stand'].Accuracy = set_combine(sets.WS['Last Stand'].Normal, {
- left_ring="Hajduk Ring",
- right_ring="Paqichikaji Ring",
- back="Lutian Cape",
- })
- sets.WS['Last Stand'].STP = set_combine(sets.WS['Last Stand'].Normal, {
- legs="Aeto. Trousers +1",
- neck="Ocachi Gorget",
- right_ring="Rajas Ring",
- back="Lutian Cape",
- })
- sets.WS['Last Stand'].WarSTP = set_combine(sets.WS['Last Stand'].Normal, {
- legs="Aeto. Trousers +1",
- neck="Ocachi Gorget",
- right_ring="Rajas Ring",
- back="Lutian Cape",
- })
- -- Others WS
- sets.WS.others = {
- head="Arcadian Beret +1",
- body="Orion Jerkin +1",
- hands="Orion Bracers +1",
- legs="Orion Braccae +1",
- feet="Orion Socks +1",
- neck="Ocachi Gorget",
- waist="Scout's Belt",
- left_ear="Volley Earring",
- right_ear="Moonshade Earring",
- left_ring="Stormsoul Ring",
- right_ring="Stormsoul Ring",
- back="Lutian Cape",
- }
- -- Barrage
- sets.Barrage = set_combine(sets.TP.Accuracy, {
- hands="Orion Bracers +1",
- legs="Desultor Tassets",
- })
- sets.melee ={
- head={ name="Uk'uxkaj Cap", augments={'Haste+2','"Snapshot"+2','STR+8',}},
- body="Thaumas Coat",
- hands={ name="Iuitl Wristbands", augments={'Phys. dmg. taken -3%','"Snapshot"+1',}},
- legs="Kaabnax Trousers",
- feet={ name="Iuitl Gaiters", augments={'Phys. dmg. taken -3%','Rng.Atk.+7',}},
- neck="Asperity Necklace",
- waist="Patentia Sash",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- left_ring="Rajas Ring",
- right_ring="Epona's Ring",
- back="Letalis Mantle",
- }
- end
- function precast(spell,action)
- if spell.type:lower() == 'weaponskill' then
- if (spell.target.distance >4 and not ranged_ws[spell.name]) or (spell.target.distance >22) then
- add_to_chat(125,'> > Cancelled Too far > > '..spell.name)
- cancel_spell()
- return
- end
- if sets.WS[spell.english] then
- if sets.WS[spell.english][TPindex[ind]] ~= nil then
- add_to_chat(100,'===='..TPindex[ind]..'====> WS:'..spell.name )
- equip(sets.WS[spell.english][TPindex[ind]])
- equip(sets.ammo[ammo[wsammoind]])
- else
- add_to_chat(100,'===OTHER===> WS:'..spell.name )
- equip(sets.WS.others)
- end
- else
- add_to_chat(100,'===OTHER===> WS:'..spell.name )
- equip(sets.WS.others)
- end
- end
- if sets.precast[spell.name] then
- add_to_chat(100,'=================> JA:'..spell.name )
- equip(sets.precast[spell.name])
- end
- if spell.name == 'Ranged' then
- if buffactive.Barrage then
- equip(sets.Barrage)
- equip(sets.ammo[ammo[wsammoind]])
- add_to_chat(160,'> > BARRAGE!!! > > ')
- else
- equip(sets.preshot)
- equip(sets.ammo[ammo[tpammoind]])
- end
- end
- -- Auto JA's
- if spell.name == 'Ranged' then
- if windower.ffxi.get_ability_recasts()[52] < 1 and not buffactive.amnesia and auto == 1 then
- cancel_spell()
- send_command('@input /ja "Decoy Shot" <me>; wait 1; input /shoot <t>;')
- return
- elseif windower.ffxi.get_ability_recasts()[126] < 1 and not buffactive.amnesia and auto == 1 then
- cancel_spell()
- send_command('@input /ja "Double Shot" <me>; wait 1; input /shoot <t>;')
- return
- elseif windower.ffxi.get_ability_recasts()[125] < 1 and not buffactive.amnesia and autobarrage == 1 then
- cancel_spell()
- send_command('@input /ja "Sharpshot" <me>; wait 1; input /ja "Barrage" <me>; wait 1; input /shoot <t>;')
- return
- elseif player.sub_job == 'SAM' then
- if windower.ffxi.get_ability_recasts()[138] < 1 and not buffactive.amnesia and not buffactive.hasso and (player.equipment.main == "Prester" or player.equipment.main == "Mekki Shakki") then
- cancel_spell()
- send_command('@input /ja "Hasso" <me>; wait 1.5; input /shoot <t>')
- end
- if windower.ffxi.get_ability_recasts()[140] < 1 and player.tp > 1400 and not buffactive.amnesia and autowskill == 1 then
- cancel_spell()
- send_command('@input /ja "Sekkanoki" <me>; wait 1.5; input /ja "Meditate" <me>; wait 1.5; input /shoot <t>')
- end
- elseif player.sub_job == 'WAR' then
- if windower.ffxi.get_ability_recasts()[1] < 1 and not buffactive.amnesia and autowarja == 1 then
- cancel_spell()
- send_command('@input /ja "Berserk" <me>; wait 1.5; input /shoot <t>')
- end
- if windower.ffxi.get_ability_recasts()[2] < 1 and not buffactive.amnesia and not buffactive.warcry and autowarja == 1 then
- cancel_spell()
- send_command('@input /ja "Warcry" <me>; wait 1.5; input /shoot <t>')
- end
- end
- end
- -- Auto WeaponSkill
- if spell.name == 'Ranged' then
- if player.tp > 999 and autowskill == 1 and not buffactive.amnesia then
- cancel_spell()
- send_command('@input /ws "'..WSin[autows]..'" <t>; wait 4; input /shoot <t>;')
- end
- end
- end
- function midcast(spell,action)
- if spell.name == 'Ranged' then
- if buffactive.Barrage then
- equip(sets.Barrage)
- else
- equip(sets.TP[TPindex[ind]])
- end
- end
- end
- function aftercast(spell,action)
- if spell.name == 'Ranged' then
- equip(sets.TP[TPindex[ind]])
- equip(sets.ammo[ammo[tpammoind]])
- end
- if player.sub_job == 'NIN' and sets.melee then
- equip(sets.melee)
- end
- end
- function status_change(new,old)
- if player.sub_job == 'NIN' then
- if new == 'Engaged' and sets.Melee then
- equip(sets.Melee)
- else
- equip(sets.Melee)
- end
- end
- end
- function sub_job_change(new, old)
- set_mode(new)
- end
- function set_mode(sub_job)
- if sub_job == 'WAR' then
- ind = 4 -- WARSTP
- elseif sub_job == 'SAM' then
- ind = 3 -- STP
- else
- ind = 1 -- Normal
- end
- send_command('gs c Report')
- end
- function self_command(command)
- if command == 'TPBullet' then
- tpammoind = tpammoind +1
- if tpammoind > #ammo then
- tpammoind = 1
- end
- add_to_chat(028,'----- TP Ammo changed to '..ammo[tpammoind]..' -----')
- equip(sets.ammo[ammo[tpammoind]])
- elseif command == 'WSBullet' then
- wsammoind = wsammoind +1
- if wsammoind > #ammo then
- wsammoind = 1
- end
- add_to_chat(028,'----- WS Ammo changed to '..ammo[wsammoind]..' -----')
- equip(sets.ammo[ammo[wsammoind]])
- elseif command == 'TPset' then
- ind = ind +1
- if ind > #TPindex then
- ind = 1
- end
- add_to_chat(028,'----- TP Set changed to '..TPindex[ind]..' -----')
- equip(sets.TP[TPindex[ind]])
- elseif command == 'Report' then
- add_to_chat(060,'----=========================================----')
- add_to_chat(050,'----- Current TP/WS Set:'..TPindex[ind])
- add_to_chat(050,'----- Current TP Ammo:'..sets.ammo[ammo[tpammoind]].ammo)
- add_to_chat(050,'----- Current WS Ammo:'..sets.ammo[ammo[wsammoind]].ammo)
- add_to_chat(050,'----- Auto Barrage:'..Alist[autobarrage+1])
- add_to_chat(050,'----- Auto RNG JA\'s:'..Alist[auto+1])
- add_to_chat(050,'----- Auto WAR JA\'s:'..Alist[autowarja+1])
- add_to_chat(050,'----- Auto WS:'..Alist[autowskill+1])
- add_to_chat(050,'----- Auto WS is:'..WSin[autows])
- add_to_chat(060,'----=========================================----')
- elseif command == 'auto' then
- if auto == 0 then
- auto = 1
- send_command('@input /echo Auto RNG JA ON')
- else
- auto = 0
- send_command('@input /echo Auto RNG JA OFF')
- end
- elseif command == 'autowarja' then
- if autowarja == 0 then
- autowarja = 1
- send_command('@input /echo Auto WAR JA ON')
- else
- autowarja = 0
- send_command('@input /echo Auto WAR JA OFF')
- end
- elseif command == 'autobarrage' then
- if autobarrage == 0 then
- autobarrage = 1
- send_command('@input /echo Auto Barrage ON')
- else
- autobarrage = 0
- send_command('@input /echo Auto Barrage OFF')
- end
- elseif command == 'autowskill' then
- if autowskill == 0 then
- autowskill = 1
- send_command('@input /echo Auto WS ON')
- else
- autowskill = 0
- send_command('@input /echo Auto WS OFF')
- end
- elseif command == 'autows' then
- autows = autows +1
- if autows > #WSin then
- autows = 1
- end
- add_to_chat(028,'----- Auto WS Changed to: '..WSin[autows]..' -----')
- elseif command == 'test' then
- newtp = player.tp - oldtp
- send_command('@input /echo "'..newtp..'"')
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment