Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- updated 1/02/2014.
- function get_sets()
- -- Precast Sets
- sets.precast = {}
- sets.precast['Shock Squall'] = {
- main="Soulscourge",
- sub="Vox grip",
- ammo="Eminent Sachet",
- head="Caller's horn +2",
- neck="Caller's Pendant",
- ear1="Caller's Earring",
- ear2="Gifted Earring",
- body="Call. Doublet +2",
- hands="Call. Bracers +2",
- ring1="Evoker's Ring",
- ring2="Fervor Ring",
- back="Astute Cape",
- waist="Diabolos's Rope",
- legs="Caller's Spats +2",
- feet="Rubeus Boots"
- }
- sets.precast.BP = {
- main="Soulscourge",
- sub="Vox grip",
- ammo="Eminent Sachet",
- head="Caller's horn +2",
- neck="Caller's Pendant",
- ear1="Caller's Earring",
- ear2="Gifted Earring",
- body="Call. Doublet +2",
- hands="Call. Bracers +2",
- ring1="Evoker's Ring",
- ring2="Fervor Ring",
- back="Tiresias' Cape",
- waist="Diabolos's Rope",
- legs="Caller's Spats +2",
- feet="Rubeus Boots"
- }
- sets.precast.Fastcast = {
- sub="Arbuda Grip",
- ammo="Hasty Pinion",
- head="Nahtirah Hat",
- hands="Gendewitha Gages",
- legs="Bokwus Slops",
- feet="Argute Loafers +2",
- neck="Stoicheion Medal",
- waist="Witful Belt",
- left_ear="Loquac. Earring",
- left_ring="Prolix Ring",
- back="Swith Cape"
- }
- sets.precast.SneakInvis = {back="Skulker's Cape"}
- sets.precast.Cure = {
- main="Arka IV",
- head="Caller's Horn +2",
- ear2="Novia earring",
- body="Heka's Kalasiris",
- back="Pahtli Cape"
- }
- -- Midcast Sets
- sets.midcast = {}
- sets.BP_Base = {
- main="Soulscourge",
- sub="Vox grip",
- ammo="Eminent Sachet",
- head="Caller's horn +2",
- neck="Caller's Pendant",
- ear1="Caller's Earring",
- ear2="Gifted Earring",
- body="Call. Doublet +2",
- hands="Call. Bracers +2",
- ring1="Evoker's Ring",
- ring2="Fervor Ring",
- back="Astute Cape",
- waist="Diabolos's Rope",
- legs="Caller's Spats +2",
- feet="Caller's Pgch. +2"
- }
- sets.midcast.Physical_BP = set_combine(sets.BP_Base,{
- main="Soulscourge",
- ammo="Eminent Sachet",
- head="Caller's horn +2",
- neck="Sacrifice torque",
- back="Astute Cape",
- waist="Mujin Obi"
- })
- sets.midcast.MAB_No_TP_BP = set_combine(sets.BP_Base,{
- main="Yaskomo's Pole",
- ammo="Eminent Sachet",
- head="Bokwus Circlet",
- neck="Eidolon Pendant",
- hands="Call. Bracers +2",
- back="Tiresias' Cape",
- waist="Caller's sash",
- legs="Caller's Spats +2",
- feet="Hagondes Sabots"
- })
- sets.midcast.MAB_TP_BP = set_combine(sets.BP_Base,{
- main="Yaskomo's Pole",
- ammo="Eminent Sachet",
- head="Bokwus Circlet",
- neck="Eidolon Pendant",
- hands="Call. Bracers +2",
- back="Tiresias' Cape",
- waist="Caller's sash",
- legs="Caller's spats +2",
- feet="Hagondes Sabots"
- })
- sets.midcast.MAB_Spell = set_combine(sets.BP_Base,{
- main="Yaskomo's Pole",
- ammo="Eminent Sachet",
- head="Bokwus Circlet",
- neck="Eidolon Pendant",
- hands="Call. Bracers +2",
- back="Tiresias' Cape",
- waist="Caller's sash",
- legs="Caller's Spats +2",
- feet="Hagondes Sabots"
- })
- sets.midcast.MACC_BP = set_combine(sets.BP_Base,{
- main="Yaskomo's Pole",
- ammo="Eminent Sachet",
- head="Bokwus Circlet",
- neck="Caller's Pendant",
- body="Anhur Robe",
- hands="Smn. Bracers +2",
- back="Tiresias' Cape",
- legs="Smn. spats +2",
- feet="Hagondes Sabots"
- })
- sets.midcast.Buff_BP = set_combine(sets.BP_Base,{
- main="Soulscourge",
- head="Caller's Horn +2",
- neck="Caller's Pendant",
- hands="Smn. Bracers +2",
- back="Astute Cape",
- legs="Caller's Spats +2"
- })
- sets.midcast.Cure = {
- main="Arka IV",
- head="Caller's Horn +2",
- ear2="Novia earring",
- body="Heka's Kalasiris",
- back="Pahtli Cape",
- legs="Caller's Spats +2"
- }
- sets.midcast.SneakInvis = {back="Skulker's Cape"}
- sets.midcast.Stoneskin = {
- head="Caller's Horn +2",
- neck="Stone Gorget",
- body="Call. Doublet +2",
- hands="Call. Bracers +2",
- waist="Siegel Sash",
- legs="Caller's Spats +2"
- }
- -- Status Sets
- sets.Idle = {}
- sets.Idle.PDT = {
- main="Chatoyant Staff",
- sub="Vox Grip",
- ammo="Brigantia Pebble",
- head="Hagondes Hat",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Hagondes Pants",
- feet="Hagondes Sabots",
- neck="Twilight Torque",
- waist="Slipor Sash",
- left_ear="Moonshade Earring",
- right_ear="Gifted Earring",
- left_ring="Evoker's Ring",
- right_ring="Paguroidea Ring",
- back="Cheviot Cape"
- }
- sets.Idle.Perpetuation = {
- main="Chatoyant Staff",
- sub="Vox Grip",
- ammo="Eminent Sachet",
- head="Caller's Horn +2",
- neck="Caller's Pendant",
- left_ear="Moonshade Earring",
- right_ear="Gifted Earring",
- body="Caller's Doublet +2",
- hands="Call. Bracers +2",
- ring1="Evoker's Ring",
- ring2="Fervor Ring",
- back="Astute Cape",
- waist="Moepapa Stone",
- legs="Caller's Spats +2",
- feet="Caller's Pgch. +2"
- }
- sets.Idle.Favor = {
- main="Chatoyant Staff",
- sub="Vox grip",
- ammo="Eminent Sachet",
- head="Caller's Horn +2",
- neck="Caller's Pendant",
- left_ear="Moonshade Earring",
- right_ear="Gifted Earring",
- body="Caller's Doublet +2",
- hands="Call. Bracers +2",
- ring1="Evoker's Ring",
- ring2="Fervor Ring",
- back="Astute Cape",
- waist="Moepapa Stone",
- legs="Caller's Spats +2",
- feet="Rubeus Boots"
- }
- sets.Resting = {
- main="Chatoyant Staff",
- sub="Ariesian Grip",
- ammo="Clarus Stone",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Sagacity Lappas",
- feet="Hagondes Sabots",
- neck="Eidolon Pendant",
- waist="Austerity Belt",
- left_ear="Moonshade Earring",
- right_ear="Antivenom Earring",
- left_ring="Evoker's Ring",
- right_ring="Paguroidea Ring",
- back="Cheviot Cape"
- }
- sets.JA = {}
- sets.JA['Mana Cede'] = {hands="Call. Bracers +2"}
- sets.JA['Elemental Siphon'] = {
- main="Soulscourge",
- sub="Vox grip",
- ammo="Eminent Sachet",
- head="Caller's horn +2",
- neck="Caller's Pendant",
- ear1="Caller's Earring",
- ear2="Gifted Earring",
- body="Call. Doublet +2",
- hands="Call. Bracers +2",
- ring1="Evoker's Ring",
- ring2="Fervor Ring",
- back="Astute Cape",
- waist="Diabolos's Rope",
- legs="Caller's Spats +2",
- feet="Rubeus Boots"
- }
- -- Avatars
- sets.Carbuncle = {main="Chatoyant Staff"}
- sets.Ifrit = {main="Chatoyant Staff"}
- sets.Titan = {main="Chatoyant Staff"}
- sets.Leviathan = {main="Chatoyant Staff"}
- sets.Shiva = {main="Chatoyant Staff"}
- sets.Ramuh = {main="Chatoyant Staff"}
- sets.Garuda = {main="Vayuvata III"}
- sets.Fenrir = {main="Xsaeta III"}
- sets.Diabolos = {main="Xsaeta III",waist="Diabolos's Rope"}
- sets.LightSpirit = {main="Chatoyant Staff",back="Astute Cape"}
- sets.FireSpirit = {main="Chatoyant Staff",back="Astute Cape"}
- sets.EarthSpirit = {main="Chatoyant Staff",back="Astute Cape"}
- sets.WaterSpirit = {main="Chatoyant Staff",back="Astute Cape"}
- sets.IceSpirit = {main="Chatoyant Staff",back="Astute Cape"}
- sets.ThunderSpirit = {main="Chatoyant Staff",back="Astute Cape"}
- sets.AirSpirit = {main="Vayuvata III",back="Astute Cape"}
- sets.DarkSpirit = {main="Xsaeta III",back="Astute Cape"}
- -- Variables and notes to myself
- -- Set to allow us to determine if we're in a city zone.
- -- Eventually may add other types of zone groups.
- areas = {}
- areas.Cities = S{"ru'lude gardens", 'upper jeuno','lower jeuno','port jeuno',
- 'port windurst','windurst waters','windurst woods','windurst walls','heavens tower',
- "port san s'oria","northern san s'oria","southern san s'oria",
- 'port bastok','bastok markets','bastok mines','metalworks',
- 'aht urhgan whitegate','tavanazian safehold','nashmau',
- 'selbina','mhaura','norg','eastern adoulin','western adoulin'}
- Return_Spells = T{'Arts','Bar','Raise','Raise II','Release','Tractor','Warp','Warp II'} -- We don't need to blink when casting these spells.
- Debuff_BPs = T{'Diamond Storm','Sleepga','Slowga','Tidal Roar','Shock Squall','Nightmare','Pavor Nocturnus','Ultimate Terror','Somnolence','Lunar Cry','Lunar Roar'}
- Magical_BPs_affected_by_TP = T{'Heavenly Strike','Wind Blade','Holy Mist','Night Terror','Thunderstorm','Geocrush','Meteor Strike','Grand Fall','Lunar Bay','Thunderspark'} -- Unsure if Thunderspark is affected by TP
- Magical_BPs_unaffected_by_TP = T{'Nether Blast','Aerial Blast','Searing Light','Diamond Dust','Earthen Fury','Zantetsuken','Tidal Wave','Judgment Bolt','Inferno','Howling Moon','Ruinous Omen','Flaming Crush'}
- Additional_effect_BPs = T{'Rock Throw'}
- send_command('input /macro book 15;wait .1;input /macro set 1')
- end
- function precast(spell,action)
- if Return_Spells:contains(spell.name) or string.find(spell.english,'Teleport') then
- return
- end
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- end
- if tonumber(spell.casttime) > 5 then
- verify_equip()
- end
- if action.type == 'Magic' then
- if string.find(spell.english,'Cur') then
- equip(sets.precast.Cure)
- elseif string.find(spell.type,'BloodPact') then
- if buffactive['Astral Conduit'] then
- midcast(spell,action)
- else
- equip(sets.precast.BP)
- end
- elseif spell.type == 'SummonerPact' then
- equip(sets.precast.BP)
- end
- else
- equip(sets.precast.Fastcast)
- if spell.english == 'Sneak' or spell.english == 'Invisible' then
- equip(sets.precast.SneakInvis)
- end
- end
- end
- function midcast(spell,action)
- if spell.type == 'SummonerPact' then
- equip(sets.precast.BP)
- elseif spell.name:sub(1,3) == 'Bar' then
- return
- elseif string.find(spell.english,'Cur') then
- equip(sets.midcast.Cure)
- elseif spell.english=='Stoneskin' then
- equip(sets.midcast.Stoneskin)
- elseif spell.english == 'Sneak' or spell.english == 'Invisible' then
- equip(sets.midcast.SneakInvis)
- else -- Bloodpacts don't have a midcast, so don't worry about them.
- idle()
- end
- end
- function aftercast(spell,action)
- if spell.name and spell.name:sub(1,3) == 'Bar' then
- return
- end
- if not spell.type or not string.find(spell.type,'BloodPact') then
- -- Don't want to swap away too quickly if I'm about to put BP damage gear on
- -- Need to wait 1 in order to allow pet information to update on Release.
- send_command('@wait 1;gs c Idle')
- end
- end
- function status_change(new,action)
- if new=='Idle' then
- idle()
- elseif new=='Resting' then
- equip(sets.Resting)
- end
- end
- function pet_midcast(spell,action)
- if spell.name == 'Perfect Defense' then
- equip(sets['precast_Elemental Siphon'],{feet="Rubeus Boots"})
- elseif spell.type=='BloodPactWard' then
- if Debuff_BPs:contains(spell.name) then
- equip(sets.midcast.MACC_BP)
- else
- equip(sets.midcast.Buff_BP)
- end
- elseif spell.type=='BloodPactRage' then
- if Magical_BPs_affected_by_TP:contains(spell.name) or string.find(spell.name,' II') or string.find(spell.name,' IV') then
- if (spell.name == 'Heavenly Strike' and pet.TP > 120) or pet.TP > 280 then
- equip(sets.midcast.MAB_No_TP_BP)
- else
- equip(sets.midcast.MAB_TP_BP)
- end
- elseif Magical_BPs_unaffected_by_TP:contains(spell.name) then
- equip(sets.midcast.MAB_No_TP_BP)
- elseif Additional_effect_BPs:contains(spell.name) then -- for BPs where the additional effect matters more than the damage
- equip(sets.midcast.MACC_BP)
- else
- equip(sets.midcast.Physical_BP)
- end
- elseif spell.type=='BlackMagic' then
- equip(sets.midcast.MAB_Spell)
- elseif spell.skill == 'EnhancingMagic' then
- equip(sets.midcast.Buff_BP)
- end
- end
- function pet_aftercast(spell,action)
- idle()
- end
- function self_command(command)
- if command == 'Idle' then
- idle()
- end
- end
- function idle()
- equip(sets.Idle.PDT)
- if pet.isvalid then
- if buffactive["Avatar's Favor"] then
- equip(sets.Idle.Favor,sets[pet.name])
- else
- equip(sets.Idle.Perpetuation,sets[pet.name])
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement