Code:
function get_sets()
include('Modes.lua')
send_command('bind f8 gs c toggle mob type')
send_command('bind f9 gs c toggle engaged set')
send_command('bind f10 gs c toggle jp')
function file_unload()
send_command('unbind f8')
send_command('unbind f9')
send_command('unbind f10')
end
bluehead_ind = 1
ring1_ind = 1
waist_ind = 1
--Idle Sets--
sets.idle = {
ammo="Brigantia Pebble",
head="Wivre Hairpin",neck="Twilight Torque",ear1="Moonshade Earring",ear2="Ethereal Earring",
body="Hagondes Coat +1",hands="Taeon Gloves",ring1="Defending Ring",ring2="Renaye Ring",
back="Umbra Cape",waist="Flume Belt",legs="Desultor Tassets",feet="Taeon Boots"}
sets.idle.normal = set_combine(sets.idle, {})
sets.idle.tank = set_combine(sets.idle, {
head="Taeon Chapeau",
ring2="Dark Ring"})
--Engaged Sets--
sets.engaged = {
ammo="Honed Tathlum",
head="Taeon Chapeau",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring",
body="Luhlaza Jubbah +1",hands="Taeon Gloves",ring1="Epona's Ring",ring2="Rajas Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Taeon Tights",feet="Taeon Boots"}
sets.engaged.normal = set_combine(sets.engaged, {})
sets.engaged.tank = set_combine(sets.engaged, {
neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
ring1="Defending Ring",ring2="Dark Ring",
back="Umbra Cape",waist="Flume Belt"})
--Nuke sets--
sets.mab = {
ammo="Mavi Tathlum",
head="Helios Band",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes Coat +1",hands="Helios Gloves",ring1="Omega Ring",ring2="Acumen Ring",
back="Cornflower Cape",waist="Yamabuki-no-Obi",legs="Hagondes Pants +1",feet="Helios Boots"}
--Macc sets--
sets.macc = {
head="Assim. Keffiyeh +1",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Helios Jacket",hands="Helios Gloves",ring1="Perception Ring",ring2="Omega Ring",
back="Cornflower Cape",waist="Salire Belt",legs="Hagondes Pants +1",feet="Hashishin Basmak"}
sets.macc.blue = set_combine(sets.macc, {
ammo="Mavi Tathlum"})
--Fast Cast sets--
sets.fastcast = {
head="Helios Band",neck="Jeweled Collar",ear1="Loquac. Earring",
body="Luhlaza Jubbah +1",hands="Helios Gloves",
feet="Helios Boots"}
sets.fastcast.blue = set_combine(sets.fastcast, {
body="Hashishin Mintan"})
--Cure sets--
cure_ring1 = {"Perception Ring","Kunaji Ring"}
cure_blue_ring1 = {"Omega Ring","Kunaji Ring"}
cure_waist = {"Salire Belt","Hachirin-no-Obi","Chuq'aba Belt"}
sets.cure = {
ammo="Brigantia Pebble",
head="Telchine Cap",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Telchine Chasuble",hands="Telchine Gloves",ring1=cure_ring1[ring1_ind];ring2="Omega Ring",
back="Tempered Cape +1",waist=cure_waist[waist_ind];legs="Telchine Braconi",feet="Telchine Pigaches"}
sets.cure.blue = {
ammo="Brigantia Pebble",
head="Telchine Cap",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Telchine Chasuble",hands="Telchine Gloves",ring1=cure_blue_ring1[ring1_ind];ring2="Renaye Ring",
back="Tempered Cape +1",waist=cure_waist[waist_ind];legs="Telchine Braconi",feet="Telchine Pigaches"}
--Blue-specific sets--
bluehead = {"Luh. Keffiyeh +1","Assim. Keffiyeh +1"}
nukehead = {"Helios Band","Assim. Keffiyeh +1"}
blue_waist= {"Yamabuki-no-obi","Hachirin-no-Obi"}
sets.blue = {
ammo="Mavi Tathlum",
head=bluehead[bluehead_ind];neck="Mavi Scarf",ear1="Heartseeker Earring",ear2="Steelflash Earring",
body="Assim. Jubbah +1",hands="Hashi. Bazu. +1",ring1="Renaye Ring",ring2="Rajas Ring",
back="Cornflower Cape",waist="Virtuoso Belt",legs="Hashishin Tayt +1",feet="Luhlaza Charuqs +1"}
sets.blue.drain = {
ammo="Mavi Tathlum",
head=bluehead[bluehead_ind];neck="Mavi Scarf",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Assim. Jubbah +1",hands="Helios Gloves",ring1="Renaye Ring",ring2="Excelsis Ring",
back="Cornflower Cape",waist=blue_waist[waist_ind];legs="Hashishin Tayt +1",feet="Luhlaza Charuqs +1"}
sets.blue.accx = set_combine(sets.blue, {
ammo="Honed Tathlum",
neck="Peacock Amulet",
ring2="Enlivened Ring"})
sets.blue.mab = set_combine(sets.mab, {
head=nukehead[bluehead_ind];
waist=blue_waist[waist_ind]})
--WS sets--
sets.ws = set_combine(sets.engaged,{
neck="Fotia Gorget",ear1="Steelflash Earring",ear2="Bladeborn Earring",
body="Taeon Tabard",
waist="Fotia Belt"})
sets.ws.mab =set_combine(sets.mab,{
neck="Fotia Gorget",
waist="Fotia Belt"})
--JA sets--
sets.diffusion = {
feet="Luhlaza Charuqs +1"}
sets.ca = set_combine(sets.blue, {
head="Hashishin Kavuk",
feet="Assim. Charuqs"})
sets.ba = set_combine(sets.mab.blue, {
legs="Assim. Shalwar",feet="Hashishin Basmak"})
sets.efflux = set_combine(sets.blue, {})
sets.ca.efflux = set_combine(sets.ca, {})
sets.azure = {
hands="Luhlaza Bazubands"}
--Because style is important, nigga--
sets.style = {
head="Eyepatch",
body="Hashishin Mintan",hands="Hashi. Bazu. +1",
legs="Cmb.Cst. Slacks",feet="Shoes"}
--Blue spell type tables--
bluemagic_1hit = S{
"Foot Kick","Power Attack","Wild Oats","Queasyshroom","Battle Dance","Feather Storm","Helldive","Screwdriver","Grand Slam",
"Smite of Rage","Uppercut","Terror Touch","Mandibular Bite","Sickle Slash","Death Scissors","Dimensional Death","Spiral Spin",
"Body Slam","Spinal Cleave","Hydro Shot","Cannonball","Ram Charge","Vertical Cleave","Final Sting","Vanity Dive","Empty Thrash",
"Heavy Strike","Glutinous Dart","Saurian Slide"}
bluemagic_xhit = S{
"Bludgeon","Claw Cyclone","Jet Stream","Seedspray","Frenetic Rip","Hysteric Barrage","Asuran Claws","Disseverment","Goblin Rush",
"Quad. Continuum","Delta Thrust","Quadrastrike","Amorphic Spikes","Paralyzing Triad","Thrashing Assault","Sinker Drill","Bloodrake"}
bluemagic_addeffect = S{
"Sprout Smack","Head Butt","Pinecone Bomb","Frypan","Tail Slap","Sub-zero Smash","Whirl of Rage","Benthic Typhoon","Sudden Lunge",
"Barbed Crescent","Sweeping Gouge","Tourbillion","Bilgestorm"}
bluemagic_mab = S{
"Blastbomb","Bomb Toss","Self-Destruct","Firespit","Blazing Bound","Thermal Pulse","Searing Tempest","Ice Break","Cold Wave",
"Spectral Floe","Mysterious Light","Hecatomb Wave","Flying Hip Press","Leafstorm","Tem. Upheavel","Subduction","Molting Plumage",
"Silent Storm","Embalming Earth","Entomb","Mind Blast","Charged Whisker","Anvil Lightning","Cursed Sphere","Maelstrom",
"Corrosive Ooze","Regurgitation","Acrid Stream","Water Bomb","Vapor Spray","Rending Deluge","Foul Waters","Nectarous Deluge",
"Scouring Spate","Magic Hammer","Retinal Glare","Rail Cannon","Diffusion Ray","Blinding Fulgor","Death Ray","Eyes On Me",
"Evryone. Grudge","Dark Orb","Palling Salvo","Tenebral Crush","Gates of Hades","Polar Roar","Droning Whirlwind",
"Thunderbolt","Crashing Thunder","Uproot"}
bluemagic_macc = S{
"Sound Blast","Lowing","Infrasonics","Chaotic Eye","Stinking Gas","Frightful Roar","Feather Tickle","Voracious Trunk",
"Auroral Drape","Reaving Wind","Sandspin","Filamented Hold","Cimicine Discharge","Blitztrahl","Temporal Shift","Venom Shell",
"Awful Eye","Demoralizing Roar","Sheep Song","Blank Gaze","Light of Penance","1000 Needles","Yawn","Actinic Burst",
"Soporific","Geist Wall","Jettatura","Sandspray","Enervation","Dream Flower","Mortal Ray","Absolute Terror","Blistering Roar"}
bluemagic_breath = S{
"Heat Breath","Frost Breath","Wind Breath","Magnetite Cloud","Bad Breath","Thunder Breath","Poison Breath","Radiant Breath"}
bluemagic_heal = S{
"Exuviation","Healing Breeze","White Wind","Pollen","Wild Carrot","Magic Fruit","Plenilune Embrace","Restoral"}
bluemagic_buffs = S{
"Triumphant Roar","Fantod","O. Counterstance","Nat. Meditation","Memento Mori","Reactor Cool","Refueling","Feather Barrier",
"Zephyr Mantle","Animating Wail","Occultation","Erratic Flutter","Metallic Body","Cocoon","Diamondhide","Warm-Up","Barrier Tusk",
"Plasma Charge","Amplification","Saline Coat","Regeneration","Battery Charge","Winds of Promy.","Magic Barrier","Carcharian Verve",
"Harden Shell","Pyric Bulwark"}
bluemagic_drain = S{
"Blood Drain","Digest","MP Drainkiss","Blood Saber","Osmosis","Atra. Libations"}
--Misxc Variables--
sets.engaged.index = {'normal', 'tank'}
eng_ind = 1
jobpoints = {'False', 'True'}
jp_ind = 1
target_type = {"Unspecified","Beast","Plantoid","Amorph","Bird","Aquan","Undead","Dragon"}
target_type_index = 1
-- target_type = {'Unspecified','Beast','Lizard','Vermin','Plantoid','Amorph','Bird','Aquan','Undead','Arcana','Demon','Dragon', --
-- 'Luminian','Luminion','Beastmen','Humanoid','Empty','Voragean','Elemental'} --
elem_weakagainst = {["Fire"]="Water",["Ice"]="Fire",["Wind"]="Ice",["Earth"]="Wind",["Lightning"]="Earth",["Water"]="Lightning",["Light"]="Dark",["Dark"]="Light"}
elements = S{world.weather_element, world.day_element}
eco_weakagainst = {["Beast"]=blue_eco_Plantoid;["Lizard"]=blue_eco_Beast;["Vermin"]=blu_eco_Lizard;["Plantoid"]=blue_eco_Vermin;
["Amorph"]=blue_eco_Aquan;["Bird"]=blue_eco_Amorph;["Aquan"]=blue_eco_Bird;
["Undead"]=blue_eco_Arcana;["Arcana"]=blue_eco_Undead;
["Demon"]=blue_eco_Dragon;["Dragon"]=blue_eco_Demon;
["Luminian"]=blue_eco_Luminion;["Luminion"]=blue_eco_Luminian;
["Beastmen"]=blue_eco_Unspecified;["Humanoid"]=blue_eco_Beastmen;
["Empty"]=blue_eco_Voragean;["Voragean"]=blue_eco_Empty;
["Unspecified"]=blue_eco_Unspecified;["Elemental"]=blue_eco_Unspecified}
--Blue spell ecosystem tables--
--Beast > Lizard > Vermin > Plantoid > Beast--
blue_eco_Beast = S{
"Foot Kick","Claw Cyclone","Asuran Claws","Ram Charge","Sweeping Gouge","Lowing","Heat Breath","Chaotic Eye",
"Voracious Trunk","Charged Whisker","Sheep Song","Blank Gaze","Gates of Hades","Polar Roar","Thunderbolt"}
blue_eco_Lizard = S{
"Delta Thrust","Infrasonics","Frost Breath","Embalming Earth","Awful Eye","Regurgitation","Demoralizing Roar","Geist Wall",
"Blistering Roar"}
blue_eco_Vermin = S{
"Power Attack","Mandibular Bite","Sickle Slash","Death Scissors","Spiral Spin","Cannonball","Final Sting","Sudden Lunge",
"Thermal Pulse","Tem. Upheaval","Filamented Hold","Cursed Sphere","Palling Salvo","Droning Whirlwind"}
blue_eco_Plantoid = S{
"Sprout Smack","Wild Oats","Queasyshroom","Pinecomb Bomb","Uppercut","Seedspray","Leafstorm","Bad Breath","Cimicine Discharge",
"Nectarous Deluge","1000 Needles","Retinal Glare","Soporific","Dream Flower","Uproot"}
--Amorph > Bird > Aquan > Amorph--
blue_eco_Amorph = S{
"Amorphic Spikes","Sandspin","Corrosive Ooze","Foul Waters","Death Ray","Digest","MP Drainkiss"}
blue_eco_Bird = S{
"Helldive","Jet Stream","Sound Blast","Feather Tickle","Reaving Wind","Molting Plumage","Yawn","Blood Drain","Jettatura",
"Crashing Thunder"}
blue_eco_Aquan = S{
"Screwdriver","Sub-zero Smash","Venom Shell","Maelstrom","Rending Deluge"}
--Undead <==> Arcana--
blue_eco_Undead = S{
"Terror Touch","Dimensional Death","Spinal Cleave","Barbed Crescent","Stinking Gas","Poison Breath","Blood Saber",
"Atra. Libations","Bloodrake"}
blue_eco_Dragon = S{
"Bludgeon","Smite of Rage","Whirl of Rage","Heavy Strike","Sinker Drill","Self-Destruct","Ice Break","Cold Wave",
"Mysterious Light","Subduction","Blitzstrahl","Tourbillion"}
--Demon <==> Dragon--
blue_eco_Demon = S{
"Frenetic Rip","Quadrastrike","Frightful Roar","Hecatomb Wave","Mind Blast","Eyes On Me","Mortal Ray","Dark Orb",
"Bilgestorm"}
blue_eco_Dragon = S{
"Body Slam","Wind Breath","Thunder Breath","Radiant Breath","Absolute Terror"}
--Luminian <==> Luminion--
blue_eco_Luminian = S{
"Disseverment","Vertical Cleave","Temporal Shift","Vapor Spray"}
blue_eco_Luminion = S{
"Actinic Burst"}
--Beastmen <==> Humanoid--
blue_eco_Beastmen = S{
"Battle Dance","Head Butt","Feather Storm","Grand Slam","Frypan","Hydro Shot","Tail Slap","Hysteric Barrage","Goblin Rush",
"Glutinous Dart","Thrashing Assault","Saurian Slide","Blastbomb","Bomb Toss","Firespit","Flying Hip Press","Magnetite Cloud",
"Water Bomb","Light of Penance","Magic Hammer","Sandspray","Enervation","Evryone. Grudge"}
--Empty <==> Voragean? Maybe?--
blue_eco_Empty = S{
"Vanity Dive","Quad. Continuum","Empty Thrash","Auroral Drape"}
blue_eco_Voragean = S{
"Benthic Typhoon","Blazing Bound","Acrid Stream","Osmosis"}
--Fuck, I dont know--
blue_eco_Archaic = S{
"Rail Cannon","Diffusion Ray"}
blue_eco_Elemental = S{
"Paralyzing Triad","Searing Tempest","Spectral Floe","Silent Storm","Entomb","Anvil Lightning","Scouring Spate",
"Blinding Fulgor","Tenebral Crush"}
--Because syntax--
blue_eco_Unspecified = S{}
end
function status_change(new,old)
if new == 'Engaged' then
equip(sets.engaged[sets.engaged.index[eng_ind]])
else
equip(sets.idle[sets.engaged.index[eng_ind]])
end
end
function precast(spell,action)
if spell.type == "WeaponSkill" then
if spell.english == "Sanguine Blade" or spell.english == "Flash Nova" or spell.english == "Red Lotus Blade"
or spell.english == "Seraph Blade" then
equip(sets.ws.mab)
else
equip(sets.ws)
end
end
if spell.english == "Lunge" or spell.english == "Swipe" then
equip(sets.mab)
end
if spell.action_type == "Magic" then
if spell.skill == "Blue Magic" then
equip(sets.fastcast.blue)
else
equip(sets.fastcast)
end
end
if spell.english == "Diffusion" then
equip(sets.diffusion)
end
if spell.english == "Chain Affinity" then
equip(sets.ca)
end
if spell.english == "Burst Affinity" then
equip(sets.ba)
end
if spell.english == "Efflux" then
equip(sets.efflux)
end
if spell.english == "Azure Lore" then
equip(sets.azure)
end
end
function midcast(spell)
if elements:contains(spell.element) and not elements:contains(elem_weakagainst[spell.element]) then
waist_ind = 2
if spell.target.type == "SELF" then
ring1_ind = 2
end
else
if spell.target.type == "SELF" then
ring1_ind = 2
waist_ind = 3
end
end
if spell.skill == "Healing Magic" then
equip(sets.cure, {waist=cure_waist[waist_ind];ring1=cure_ring1[ring1_ind]})
end
if spell.skill == "Enfeebling Magic" then
equip(sets.macc)
end
if spell.skill == "Blue Magic" then
if eco_weakagainst[target_type[target_type_index]]:contains(spell.english) then
bluehead_ind = 2
add_to_chat(100,'> > > > Monster Correlation! < < < <')
end
if buffactive['Diffusion'] then
equip(sets.diffusion)
elseif buffactive['Chain Affinity'] and buffactive['Efflux'] then
equip(sets.ca.efflux)
elseif buffactive['Chain Affinity'] and not buffactive['Efflux'] then
equip(sets.ca)
elseif buffactive['Efflux'] and not buffactive['Chain Affinity'] then
equip(sets.efflux)
elseif buffactive['Burst Affinity'] then
equip(sets.ba, {head=nukehead[bluehead_ind];waist=blue_waist[waist_ind]})
else
if bluemagic_mab:contains(spell.english) then
equip(sets.blue.mab, {head=nukehead[bluehead_ind];waist=blue_waist[waist_ind]})
elseif bluemagic_macc:contains(spell.english) then
equip(sets.macc.blue)
elseif bluemagic_heal:contains(spell.english) then
equip(sets.cure.blue, {waist=cure_waist[waist_ind];ring1=cure_blue_ring1[ring1_ind]})
elseif bluemagic_drain:contains(spell.english) then
equip(sets.blue.drain, {head=bluehead[bluehead_ind];waist=blue_waist[waist_ind]})
else
equip(sets.blue, {head=bluehead[bluehead_ind]})
end
end
end
end
function buff_change(buff, gain)
if buff == 'Reive Mark' then
if gain then
equip({neck="Adoulin's Refuge +1"})
send_command('@wait .5;gs disable neck')
add_to_chat(100,'> > > > Joining a Reive Equipping Adoulin\'s Refuge, Locking Neck Slot < < < <')
else
send_command('gs enable neck')
add_to_chat(100,'> > > > Leaving a Reive, Unlocking Neck Slot < < < <')
end
end
end
function aftercast(spell,act)
bluehead_ind = 1
ring1_ind = 1
waist_ind = 1
if player.status == 'Engaged' then
equip(sets.engaged[sets.engaged.index[eng_ind]])
else
equip(sets.idle[sets.engaged.index[eng_ind]])
end
end
function self_command(command)
if command == 'toggle engaged set' then
eng_ind = eng_ind +1
if eng_ind > #sets.engaged.index then
eng_ind = 1
end
add_to_chat(100,'> > > > Mode changed to '..sets.engaged.index[eng_ind]..' < < < <')
if player.status == 'Engaged' then
equip(sets.engaged[sets.engaged.index[eng_ind]])
else
equip(sets.idle[sets.engaged.index[eng_ind]])
end
end
if command == 'toggle jp' then
jp_ind = jp_ind +1
if jp_ind > #jobpoints then
jp_ind = 1
end
if jobpoints[jp_ind] == "True" then
equip({back="Mecisto. Mantle"})
send_command('@wait .5;gs disable back')
add_to_chat(100,'> > > > Job Point Mode Enabled, Capacity Point back equipped < < < <')
else
send_command('gs enable back')
add_to_chat(100,'> > > > Job Point Mode Disabled, Back slot unlocked < < < <')
end
end
if command == 'toggle mob type' then
target_type_index = target_type_index +1
if target_type_index > #target_type then
target_type_index = 1
end
add_to_chat(100,'> > > > Target type = '..(target_type[target_type_index])..' < < < <')
end
end
the target_type toggling thing still works, as does everything else.