Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- updated 1/20/2014. This is a WIP and subject to frequent changes. It is useable as-is but nowhere near complete. So check back often.
- function get_sets()
- -- Precast sets
- sets.precast = {}
- sets.precast.Fastcast = {
- sub="Arbuda Grip",
- ammo="Hasty Pinion",
- hands="Gendewitha Gages",
- legs="Bokwus Slops",
- feet="Argute Loafers +2",
- neck="Stoicheion Medal",
- waist="Goading Belt",
- left_ear="Loquac. Earring",
- left_ring="Prolix Ring",
- back="Swith Cape"
- }
- sets.precast.Stun = {
- main="Apamajas II",
- sub="Arbuda Grip",
- ammo="Kalboron Stone",
- head="Nahtirah Hat",
- body="Hedera Cotehardie",
- hands="Gendewitha Gages",
- legs="Bokwus Slops",
- feet="Argute Loafers +2",
- neck="Eddy Necklace",
- waist="Goading Belt",
- left_ear="Lifestorm Earring",
- right_ear="Psystorm Earring",
- left_ring="Sangoma Ring",
- right_ring="Maquette Ring",
- back="Swith Cape"
- }
- sets.precast.Impact = {
- main="Atinian Staff",
- sub="Mephitis Grip",
- ammo="Ombre Tathlum",
- head="Remove",
- body="Twilight Cloak",
- hands="Yaoyotl Gloves",
- legs="Savant's Pants +2",
- feet="Svnt. Loafers +2",
- neck="Eddy Necklace",
- waist="Oneiros Sash",
- left_ear="Hecate's Earring",
- right_ear="Strophadic Earring",
- left_ring="Sangoma Ring",
- right_ring="Maquette Ring",
- back="Bookworm's Cape"
- }
- sets.precast.Cure = {
- main="Arka IV",
- sub="Arbuda Grip",
- ammo="Aqua Sachet",
- head="Gende. Caubeen",
- body="Heka's Kalasiris",
- hands="Bokwus Gloves",
- legs="Bokwus Slops",
- feet="Argute Loafers +2",
- neck="Savant's Chain",
- waist="Argute Belt",
- left_ear="Lifestorm Earring",
- right_ear="Psystorm Earring",
- left_ring="Omega Ring",
- right_ring="Aquasoul Ring",
- back="Pahtli Cape"
- }
- -- Midcast Sets
- sets.midcast = {}
- sets.midcast.EnhancingMagic = {
- main="Kirin's Pole",
- sub="Fulcio Grip",
- ammo="Savant's Treatise",
- head="Svnt. Bonnet +2",
- body="Hedera Cotehardie",
- hands="Gendewitha Gages",
- legs="Orvail Pants",
- feet="Rubeus Boots",
- neck="Enhancing Torque",
- waist="Olympus Sash",
- left_ear="Loquac. Earring",
- right_ear="Moonshade Earring",
- left_ring="Prolix Ring",
- right_ring="Paguroidea Ring",
- back="Merciful Cape"
- }
- sets.midcast.Embrava = {
- main="Kirin's Pole",
- sub="Fulcio Grip",
- ammo="Savant's Treatise",
- head="Svnt. Bonnet +2",
- body="Hedera Cotehardie",
- hands="Savant's Bracers +2",
- legs="Orvail Pants",
- feet="Rubeus Boots",
- neck="Enhancing Torque",
- waist="Olympus Sash",
- left_ear="Loquac. Earring",
- right_ear="Moonshade Earring",
- left_ring="Prolix Ring",
- right_ring="Paguroidea Ring",
- back="Merciful Cape"
- }
- sets.midcast.Storm = {feet="Argute Loafers +2"}
- sets.midcast.Stoneskin = {
- main="Kirin's Pole",
- sub="Fulcio Grip",
- ammo="Savant's Treatise",
- head="Svnt. Bonnet +2",
- body="Hedera Cotehardie",
- hands="Savant's Bracers +2",
- legs="Orvail Pants",
- feet="Rubeus Boots",
- neck="Enhancing Torque",
- waist="Olympus Sash",
- left_ear="Loquac. Earring",
- right_ear="Moonshade Earring",
- left_ring="Prolix Ring",
- right_ring="Paguroidea Ring",
- back="Merciful Cape"
- }
- sets.midcast.HealingMagic = {
- sub="Arbuda Grip",
- ammo="Hasty Pinion",
- head="Nahtirah Hat",
- body="Hedera Cotehardie",
- hands="Gendewitha Gages",
- legs="Bokwus Slops",
- feet="Argute Loafers +2",
- neck="Savant's Chain",
- waist="Argute Belt",
- left_ear="Lifestorm Earring",
- right_ear="Psystorm Earring",
- left_ring="Omega Ring",
- right_ring="Aquasoul Ring",
- back="Tempered Cape"
- }
- sets.midcast.Cure = {
- main="Arka IV",
- sub="Arbuda Grip",
- ammo="Aqua Sachet",
- head="Gende. Caubeen",
- body="Heka's Kalasiris",
- hands="Bokwus Gloves",
- legs="Bokwus Slops",
- feet="Argute Loafers +2",
- neck="Savant's Chain",
- waist="Argute Belt",
- left_ear="Lifestorm Earring",
- right_ear="Psystorm Earring",
- left_ring="Omega Ring",
- right_ring="Aquasoul Ring",
- back="Pahtli Cape"
- }
- sets.midcast.EnfeeblingMagic = {
- main="Atinian Staff",
- sub="Mephitis Grip",
- ammo="Kalboron Stone",
- head="Nahtirah Hat",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Bokwus Slops",
- feet="Rubeus Boots",
- neck="Eddy Necklace",
- waist="Demonry Sash",
- left_ear="Lifestorm Earring",
- right_ear="Psystorm Earring",
- left_ring="Sangoma Ring",
- right_ring="Maquette Ring",
- back="Refraction Cape"
- }
- sets.midcast.ElementalMagic = {
- main="Atinian Staff",
- sub="Wizzan Grip",
- ammo="Ombre Tathlum",
- head="Hagondes Hat",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Hagondes Pants",
- feet="Svnt. Loafers +2",
- neck="Eddy Necklace",
- waist="Oneiros Sash",
- left_ear="Hecate's Earring",
- right_ear="Strophadic Earring",
- left_ring="Omega Ring",
- right_ring="Snow Ring",
- back="Bookworm's Cape"
- }
- sets.midcast.Helix = {
- main="Atinian Staff",
- sub="Wizzan Grip",
- ammo="Ombre Tathlum",
- head="Hagondes Hat",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Hagondes Pants",
- feet="Svnt. Loafers +2",
- neck="Eddy Necklace",
- waist="Oneiros Sash",
- left_ear="Hecate's Earring",
- right_ear="Strophadic Earring",
- left_ring="Omega Ring",
- right_ring="Snow Ring",
- back="Bookworm's Cape"
- }
- sets.midcast.Impact = {
- main="Atinian Staff",
- sub="Mephitis Grip",
- ammo="Ombre Tathlum",
- head="Remove",
- body="Twilight Cloak",
- hands="Yaoyotl Gloves",
- legs="Savant's Pants +2",
- feet="Svnt. Loafers +2",
- neck="Eddy Necklace",
- waist="Oneiros Sash",
- left_ear="Hecate's Earring",
- right_ear="Strophadic Earring",
- left_ring="Sangoma Ring",
- right_ring="Maquette Ring",
- back="Bookworm's Cape"
- }
- sets.midcast.DarkMagic = {
- main="Atinian Staff",
- sub="Mephitis Grip",
- ammo="Kalboron Stone",
- head="Nahtirah Hat",
- body="Hedera Cotehardie",
- hands="Gendewitha Gages",
- legs="Argute Pants +2",
- feet="Argute Loafers +2",
- neck="Eddy Necklace",
- waist="Goading Belt",
- left_ear="Lifestorm Earring",
- right_ear="Psystorm Earring",
- left_ring="Sangoma Ring",
- right_ring="Maquette Ring",
- back="Bookworm's Cape"
- }
- -- Aftercast sets
- sets.aftercast = {}
- -- Status sets
- sets.idle = {}
- sets.idle.Base = {
- main="Chatoyant Staff",
- -- main="Baqil Staff",
- sub="Vallus Grip",
- ammo="Aqua Sachet",
- head="Nahtirah Hat",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Hagondes Pants",
- feet="Hagondes Sabots",
- neck="Twilight Torque",
- waist="Slipor Sash",
- left_ear="Darkness Earring",
- right_ear="Moonshade Earring",
- left_ring="Sheltered Ring",
- right_ring="Paguroidea Ring",
- back="Cheviot Cape"
- }
- sets.idle.Sublimation = {
- main="Plenitas Virga",
- sub="Vallus Grip",
- ammo="Aqua Sachet",
- head="Svnt. Bonnet +2",
- body="Hagondes Coat",
- hands="Yaoyotl Gloves",
- legs="Hagondes Pants",
- feet="Hagondes Sabots",
- neck="Twilight Torque",
- waist="Slipor Sash",
- left_ear="Savant's Earring",
- right_ear="Moonshade Earring",
- left_ring="Sheltered Ring",
- right_ring="Paguroidea Ring",
- back="Cheviot Cape"
- }
- sets.idle.Weak = {}
- sets.idle.Kite = {feet="Desert Boots +1"}
- -- Defense sets
- sets.defense = {}
- sets.Resting = {
- main="Chatoyant Staff",
- sub="Ariesian Grip",
- ammo="Clarus Stone",
- head="Nahtirah Hat",
- neck="Eidolon Pendant",
- ear1="Antivenom Earring",
- ear2="Moonshade Earring",
- body="Hagondes Coat",
- hands="Serpentes Cuffs",
- ring1="Sheltered Ring",
- ring2="Paguroidea Ring",
- back="Shadow Mantle",
- waist="Austerity Belt",
- legs="Sagacity Lappas"
- }
- sets.Obi = {}
- -- sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape'}
- -- sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape'}
- -- sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape'}
- -- sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape'}
- sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape'}
- sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape'}
- sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape'}
- sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape'}
- sets.staves = {}
- sets.staves.damage = {}
- sets.staves.damage.Thunder = {main="Apamajas I"}
- sets.staves.damage.Fire = {}
- sets.staves.accuracy = {}
- sets.staves.damage.Thunder = {main="Apamajas II"}
- sets.staves.damage.Ice = {}
- sets.JA = {}
- sets.JA['Tabula Rasa'] = {legs="Argute Pants +2"}
- sets.precast.Arts = {}
- sets.midcast.Regen = {head="Svnt. Bonnet +2"}
- sets.Buff = {}
- sets.Buff['Rapture'] = {head="Svnt. Bonnet +2"}
- sets.Buff['Ebullience'] = {head="Svnt. Bonnet +2"}
- sets.Buff['Immanence'] = {hands="Svnt. Bracers +2"}
- sets.Buff['Perpetuance'] = {hands="Svnt. Bracers +2"}
- sets.Buff['Penury'] = {legs="Savant's Pants +2"}
- sets.Buff['Parsimony'] = {legs="Savant's Pants +2"}
- sets.Buff['Alacrity'] = {feet="Argute Loafers +2"}
- sets.Buff['Celerity'] = {feet="Argute Loafers +2"}
- -- Variables and notes to myself
- sets.aftercast.Idle = sets.idle.Base
- stuntarg = 'Quixacotl'
- stunmode = 'false'
- Return_Spells = T{'Arts','Bar','Raise','Teleport','Tractor','Warp','Warp II'} -- We don't need to blink when casting these spells.
- send_command('input /macro book 17;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 spell.english == 'Stun' then
- cast_delay(0.1)
- equip(sets.precast.Stun)
- if not buffactive.thunderstorm then
- add_to_chat(8,'--------- Thunderstorm is down ---------')
- end
- if not buffactive.klimaform then
- add_to_chat(8,'----------- Klimaform is down -----------')
- end
- if stuntarg ~= 'Shantotto' then
- send_command('@input /t '..stuntarg..' ---- Quixacotl Stunned --- Your next!!! ---- ')
- end
- elseif spell.english == 'Impact' then
- cast_delay(2)
- equip(sets.precast.Impact)
- if not buffactive['elemental seal'] then
- add_to_chat(8,'--------- Elemental Seal is down ---------')
- end
- elseif string.find(spell.english,'Cur') then
- equip(sets.precast.Cure)
- elseif spell.skill=='ElementalMagic' and spell.casttime < 3 then
- cast_delay(0.1)
- equip(sets.precast.Fastcast)
- else
- equip(sets.precast.Fastcast)
- cast_delay(0.5)
- end
- end
- function midcast(spell,action)
- if Return_Spells:contains(spell.name) or string.find(spell.english,'Teleport') then
- return
- end
- if spell.type == 'WhiteMagic' or spell.type == 'BlackMagic' then
- if string.find(spell.english,'Cur') then
- equip(sets.midcast.Cure)
- elseif string.find(spell.english,'storm') then
- equip(sets.midcast.Storm)
- elseif sets.midcast[spell.english] then
- equip(sets.midcast[spell.english])
- elseif sets.midcast[spell.skill] then
- equip(sets.midcast[spell.skill])
- elseif sets.midcast[spell.type] then
- equip(sets.midcast[spell.type])
- elseif spell.english == 'Impact' then
- equip(sets.midcast.Impact)
- else
- equip(sets.midcast)
- end
- end
- Idle()
- end
- function aftercast(spell,action)
- if Return_Spells:contains(spell.name) or string.find(spell.english,'Teleport') then
- return
- end
- end
- function status_change(new,action)
- if new=='Idle' then
- Idle()
- elseif new=='Resting' then
- equip(sets.Resting)
- end
- end
- function buff_change(buff,gain_or_loss)
- if buff == "Sublimation: Activated" then
- add_to_chat(8,'--------- Sublimation buff check Passed ---------') -- for debugging
- Idle()
- end
- end
- function Idle()
- if buffactive['Sublimation: Activated'] then
- add_to_chat(8,'--------- Sublimation buff check 2 Passed ---------') -- for debugging
- equip(sets.idle.Sublimation)
- else
- equip(sets.aftercast.Idle)
- end
- end
- function self_command(command)
- if command == 'idle' then
- Idle()
- elseif command == 'stuntarg' then
- stuntarg = target.name
- elseif command == 'stunmode' then
- windower.add_to_chat(8,'--------- Stun Mode ---------')
- if sets.aftercast.Idle ~= sets.precast.Stun then
- stunmode = true
- sets.aftercast.Idle = sets.precast.Stun
- else
- stunmode = false
- sets.aftercast.Idle = sets.idle.Base
- end
- Idle()
- end
- end
- -- This function is user defined, but never called by GearSwap itself. It's just a user function that's only called from user functions. I wanted to check the weather and equip a weather-based set for some spells, so it made sense to make a function for it instead of replicating the conditional in multiple places.
- function weathercheck(spell_element,set)
- if spell_element == world.weather_element or spell_element == world.day_element then
- equip(set,sets['Obi_'..spell_element])
- else
- equip(set)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment