Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_sets()
- send_command('bind f9 gs c toggle TP set')
- send_command('bind !f10 gs c toggle Weaponskill sets')
- send_command('bind f10 gs c toggle Idle set')
- function file_unload()
- send_command('unbind !f10')
- send_command('unbind f9')
- send_command('unbind f10')
- end
- -- TP/Engaged sets --
- sets.TP = {}
- sets.TP.index = {'Fodder', 'HAcc', 'PDT'}
- TP_index = 1
- sets.TP.Fodder = {ammo="Black Tathlum",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Taeon Tabard",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Atheling Mantle",waist="Windbuffet Belt",legs="Taeon Tights",feet="Taeon Boots"}
- sets.TP.HAcc = {ammo="Jukukik Feather",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Acro Surcoat",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Updraft Mantle",waist="Anguinus Belt",legs="Taeon Tights",feet="Taeon Boots"}
- sets.TP.PDT = {ammo="Black Tathlum",
- head="Taeon Chapeau",neck="Twilight Torque",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Terminal Plate",hands="Taeon Gloves",ring1="Defending Ring",ring2="Cacoethic Ring",
- back="Updraft Mantle",waist="Flume Belt",legs="Taeon Tights",feet="Taeon Boots"}
- -- Idle Sets --
- sets.Idle = {}
- sets.Idle.index = {'Refresh','Regen'}
- Idle_index = 1
- sets.Idle.Regen = {ammo="Bibiki Seashell",
- head="Crimson Mask",neck="Orochi Nodowa",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Barone Corazza",hands="Taeon Gloves",ring1="Sheltered Ring",ring2="Cacoethic Ring",
- back="Boxer's Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Taeon Boots"}
- sets.Idle.Refresh = {ammo="Bibiki Seashell",
- head="Wivre Hairpin",neck="Orochi Nodowa",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Terminal Plate",hands="Taeon Gloves",ring1="Sheltered Ring",ring2="Cacoethic Ring",
- back="Boxer's Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Taeon Boots"}
- -- Precast Spell sets --
- sets.precast = {}
- sets.precast.FC = {}
- sets.precast.FC.base = {ear1="Loquacious Earring", body="Taeon Tabard", legs="Homam Cosciales"}
- sets.precast.FC.Utsu = set_combine(sets.precast.FC.base,{neck="Magoraga Beads"})
- --Midcast for faster Recast--
- sets.midcast = {}
- sets.midcast.FastRecast = set_combine(sets.TP.Reg,{ear1="Loquacious Earring", legs="Homam Cosciales"})
- sets.midcast.ProShell = set_combine(sets.midcast.Enhancing,{ring1="Sheltered Ring"})
- --Phalanx Utility--
- sets.Utility = {}
- --WS Sets --
- sets.WS = {}
- sets.WS = {ammo="Thew Bomblet",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Taeon Tabard",hands="Taeon Gloves",ring1="Flame Ring",ring2="Cacoethic Ring",
- back="Updraft Mantle",waist="Fotia Belt",legs="Taeon Tights",feet="Taeon Boots"}
- -- Wyvern and healing related sets
- sets.HB = {ammo="Bibiki Seashell",
- head="Taeon Chapeau",neck="Chanoix's Gorget",ear2="Ethereal Earring",
- body="Taeon Tabard",hands="Taeon Gloves",
- back="Updraft Mantle",waist="Glassblower's Belt",legs="Taeon Tights",feet="Taeon Boots"}
- sets.HB.Pre = {head="Drachen Armet"}
- sets.HB.Mid = {ammo="Bibiki Seashell",
- head="Wyrm Armet +2",neck="Lancer's Torque",ear1="Lancer's Earring",
- body="Wyvern Mail",hands="Ostreger Mitts",
- back="Updraft Mantle",waist="Glassblower's Belt",legs="Drachen Brais +1",feet="Wyrm Greaves +2"}
- sets.Pet = {}
- -- Wyvern +HP Set --
- sets.Pet.WyvernHP = {
- body="Wyvern Mail",neck="Chanoix's Gorget",hands="Ostreger Mitts",
- back="Updraft Mantle",legs="Drachen Brais +1",feet="Wyrm Greaves +2"}
- sets.Pet["Steady Wing"] = set_combine(sets.Pet.WyvernHP)
- sets.Pet["Smiting Breath"] = {
- head="Wyrm Armet +2",
- neck="Lancer's Torque",
- ear1="Dragoon's Earring",
- waist="Glassblower's Belt",
- back="Updraft Mantle"}
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {ammo="Bibiki Seashell",
- head="Taeon Chapeau",
- body="Taeon Tabard",hands="Taeon Gloves",
- waist="Wyrm Belt",legs="Taeon Tights",feet="Taeon Boots"}
- -- Don't need any special gear for Healing Waltz.
- sets.precast.Waltz['Healing Waltz'] = {}
- sets.midcast.Breath =
- set_combine(
- sets.midcast.FastRecast,
- { head="Wyrm Armet +2" })
- -- JA Sets for Precast Function --
- sets.JA = {}
- sets.JA.Angon = {ammo="Angon",ear1="Dragoon's Earring"}
- sets.JA.Jump = {ammo="Astrolabe",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Acro Surcoat",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Atheling Mantle",waist="Windbuffet Belt",legs="Taeon Tights",feet="Taeon Boots"}
- sets.JA['Ancient Circle'] = {legs="Drachen Brais +1"}
- sets.JA['High Jump'] = {ammo="Astrolabe",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Acro Surcoat",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Atheling Mantle",waist="Windbuffet Belt",legs="Taeon Tights",feet="Taeon Boots"}
- sets.JA['Soul Jump'] = {ammo="Astrolabe",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Acro Surcoat",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Atheling Mantle",waist="Windbuffet Belt",legs="Lancer's Cuissots +2",feet="Taeon Boots"}
- sets.JA['Spirit Jump'] = {ammo="Astrolabe",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Acro Surcoat",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Atheling Mantle",waist="Windbuffet Belt",legs="Lancer's Cuissots +2",feet="Lncr. Schynbld. +2"}
- sets.JA['Super Jump'] = {ammo="Astrolabe",
- head="Taeon Chapeau",neck="Shifting Neck. +1",ear1="Steelflash Earring",ear2="Bladeborn Earring",
- body="Acro Surcoat",hands="Taeon Gloves",ring1="Enlivened Ring",ring2="Cacoethic Ring",
- back="Atheling Mantle",waist="Windbuffet Belt",legs="Lancer's Cuissots +2",feet="Taeon Boots"}
- sets.JA['Spirit Link'] = {hands="Lncr. Vmbrc. +2"}
- sets.JA['Call Wyvern'] = {body="Wyrm Mail +1"}
- sets.JA['Deep Breathing'] = {}
- sets.JA['Spirit Surge'] = {}
- --Copy and pasted set from Snprphnx_SCH example--
- --Obis--
- sets.Obi = {}
- sets.Obi.Fire = {waist='Karin Obi',ring2='Zodiac Ring'}
- sets.Obi.Earth = {waist='Dorin Obi',ring2='Zodiac Ring'}
- sets.Obi.Water = {waist='Suirin Obi',ring2='Zodiac Ring'}
- sets.Obi.Wind = {waist='Furin Obi',ring2='Zodiac Ring'}
- sets.Obi.Ice = {waist='Hyorin Obi',ring2='Zodiac Ring'}
- sets.Obi.Thunder = {waist='Rairin Obi',ring2='Zodiac Ring'}
- sets.Obi.Light = {waist='Korin Obi',ring2='Zodiac Ring'}
- sets.Obi.Dark = {waist='Anrin Obi',ring2='Zodiac Ring'}
- -----Tengu
- --sets.tengu = {}
- end
- --Precast Actions--
- function pretarget(spell,action)
- if midaction() or pet_midaction() then
- cancel_spell()
- return
- elseif spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
- cancel_spell()
- send_command('input /item "Echo Drops" <me>')
- elseif spell.english == "Spirit Jump" and not pet.isvalid then -- Change Spirit Jump To Jump If Wyvern Is Not Present --
- cancel_spell()
- send_command('Jump')
- elseif spell.english == "Soul Jump" and not pet.isvalid then -- Change Soul Jump To High Jump If Wyvern Is Not Present --
- cancel_spell()
- send_command('HighJump')
- elseif spell.english == "Dismiss" and pet.hpp < 100 then -- Cancel Dismiss If Wyvern's HP Is Under 100% --
- cancel_spell()
- add_to_chat(123, spell.english .. ' Canceled: [' .. pet.hpp .. ']')
- return
- elseif spell.english == "Call Wyvern" and pet.isvalid then -- Change Call Wyvern To Dismiss If Wyvern Is Present --
- cancel_spell()
- send_command('Dismiss')
- elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
- cancel_spell()
- send_command('Aggressor')
- elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
- cancel_spell()
- send_command('ThirdEye')
- elseif spell.english == "Meditate" and player.tp > 2500 then -- Cancel Meditate If TP Is Above 2500 --
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
- elseif spell.type == "WeaponSkill" and target_distance > 3
- and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Out of Range]')
- return
- elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
- degrade_spell(spell,Cure_Spells)
- elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
- degrade_spell(spell,Curaga_Spells)
- end
- end
- function precast(spell,action)
- if midaction() or pet_midaction() then
- cancel_spell()
- return
- elseif spell.type == "WeaponSkill" then
- if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
- cancel_spell()
- add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
- return
- else
- equipSet = sets.WS
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- equip(equipSet)
- end
- elseif spell.type == "JobAbility" then
- equipSet = sets.JA
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- equip(equipSet)
- elseif spell.action_type == 'Magic' then
- if buffactive.silence or spell.target.distance > 21 then
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
- return
- else
- if spell.english == 'Utsusemi: Ni' then
- if buffactive['Copy Image (3)'] then
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
- return
- else
- equip(sets.Precast.FastCast)
- end
- end
- end
- elseif spell.type == "Waltz" then
- refine_waltz(spell,action)
- equip(sets.Waltz)
- elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
- cast_delay(0.2)
- send_command('cancel Sneak')
- elseif spell.type == "PetCommand" then
- equip(sets.Pet[spell.english])
- end
- end
- --Midcast functions for spells--
- function midcast(spell,action)
- if pet_midaction() then
- return
- elseif spell.action_type == 'Magic' then
- if spell.english == "Stoneskin" then
- if buffactive.Stoneskin then
- send_command('@wait 2.8;cancel stoneskin')
- end
- equip(sets.Midcast.Stoneskin)
- elseif spell.english:startswith('Protect') or spell.english:startswith('Shell') then
- if spell.target.name == player.name then
- equipSet = set_combine(equipSet,{ring1="Sheltered Ring"})
- end
- elseif spell.english == "Sneak" then
- if spell.target.name == player.name and buffactive['Sneak'] then
- send_command('cancel sneak')
- end
- equip(sets.midcast.FastRecast)
- elseif spell.english:startswith('Utsusemi') then
- if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then
- send_command('@wait 1.7;cancel Copy Image*')
- end
- equip(sets.Midcast.Haste)
- elseif spell.english == 'Monomi: Ichi' then
- if buffactive['Sneak'] then
- send_command('@wait 1.7;cancel sneak')
- end
- equip(sets.Midcast.Haste)
- elseif Healer_Type_Wyvern:contains(player.sub_job) and player.hpp < 51 and pet.isvalid then
- equip(sets.PreHB)
- elseif Hybrid_Type_Wyvern:contains(player.sub_job) and player.hpp < 34 and pet.isvalid then
- equip(sets.PreHB)
- else
- equip(sets.midcast.FastRecast)
- end
- end
- end
- function aftercast(spell,action)
- if pet_midaction() then
- return
- elseif not spell.interrupted then
- if spell.type == "WeaponSkill" then
- send_command('wait 0.2;gs equip TP')
- elseif spell.english == "Angon" then -- Angon Timer/Countdown --
- timer_angon()
- send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Angon";input /echo '..spell.name..': [OFF]')
- elseif spell.english == "Ancient Circle" then -- Ancient Circle Countdown --
- send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
- end
- elseif not spell.type == "PetCommand" then
- status_change(player.status)
- end
- end
- function status_change(new,old)
- if new == 'Engaged' then
- equipSet = (sets.TP[sets.TP.index[engaged_ind]])
- else
- equipSet = (sets.Idle[sets.Idle.index[Idle_ind]])
- end
- equip(equipSet)
- end
- function buff_change(buff,gain)
- buff = string.lower(buff)
- --if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
- -- if gain then
- -- send_command('timers create "Aftermath: Lv.3" 180 down;wait 150;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 15;input /echo Aftermath: Lv.3 [WEARING OFF IN 15 SEC.];wait 5;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
- -- else
- -- send_command('timers delete "Aftermath: Lv.3"')
- -- add_to_chat(123,'AM3: [OFF]')
- -- end
- if buff == 'weakness' then -- Weakness Timer --
- if gain then
- send_command('timers create "Weakness" 300 up')
- else
- send_command('timers delete "Weakness"')
- end
- end
- if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
- equip({neck="Berserker's Torque"})
- else
- if not midaction() and not pet_midaction() then
- status_change(player.status)
- end
- end
- end
- function pet_midcast(spell,action)
- if spell.english:startswith('Healing') then
- equip(sets.Healing_Breath)
- elseif spell.target.type == 'MONSTER' then
- equip(sets.Elemental_Breath)
- end
- end
- function pet_aftercast(spell,action)
- status_change(player.status)
- end
- function pet_change(pet,gain)
- status_change(player.status)
- end
- --Toggle Command functions--
- --Gearswap direct command = //gs c toggle 'x' set
- --Macro line = console gs c toggle x set
- --ex: console gs c toggle TP set
- -- Index is set to 1 or 'Reg', press button once to switch to 'Acc', and so on.
- function self_command(command)
- if command == 'toggle TP set' then
- if TP_index < #sets.TP.index then
- TP_index = TP_index +1
- else TP_index = 1 end
- send_command('@ input /echo >>> TP set changed to '..sets.TP.index[TP_index]..' ')
- equip(sets.TP[sets.TP.index[TP_index]])
- elseif command == 'toggle Idle set' then
- Idle_index = Idle_index +1
- if Idle_index > #sets.Idle.index then Idle_index = 1 end
- send_command('@ input /echo >>> Idle set changed to '..sets.Idle.index[Idle_index]..' ')
- equip(sets.Idle[sets.Idle.index[Idle_index]])
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement