Added file below (wouldnt let me do an attachment, sorry). Thank you.
function get_sets()
-------------------------------------------
-- aftercast for returning to TP and Idle sets
-- the 'self command' area will change the set defined as aftercast.TP
-------------------------------------------
sets.aftercast = {}
sets.engaged = {}
sets.precast = {}
sets.midcast = {}
m_typeIndex = 1
m_typeArray = {'normal','MB','Death'}
-- Not doing an ACC build yet, most nuking gear is already high acc
-- m_accIndex = 1
-- m_accArray = {'normal','highAcc'}
messageColor = 140
--The index keeps track of where you are in the array. We will use these to "index" our table.
--For example, m_typeArray[1] would return "normal" while m_typeArray[2] would return "MB".
--As it is now, m_typeArray[m_typeIndex] would return "normal".
--Controlling this is done in the self_command
-- Spellmaps create a table by which you can take multiple spells (such as Cure, Cure II, etc) and define them
-- with a single name such as 'cure'. This allows you the flexibility to define a single gearset that is activated
-- for the list of spells you map, rather than defining a single gearset for each spell.
spell_map = {}
spell_map.cure = S{"Cure","Cure II","Cure III","Cure IV","Cure V","Cure VI"}
spell_map.curaga = S{"Curaga","Curaga II","Curaga III","Curaga IV","Curaga V"}
spell_map.drain = S{"Drain","Aspir","Aspir II","Aspir III"}
spell_map.protect = S{"Protect","Protect II","Protect III","Protect IV","Protect V",
"Protectra","Protectra II","Protectra III","Protectra IV","Protectra V",
"Shell","Shell II","Shell III","Shell IV","Shell V",
"Shellra","Shellra II","Shellra III","Shellra IV","Shellra V",}
spell_map.sleep = S{"Sleep","Sleep II","Sleepga","Sleepga II"}
-------------------------------------------
-- The outermost table has to be named "sets", but
-- otherwise there are no restrictions.
-------------------------------------------
sets.aftercast.Idle = {
main="Lathi",
sub="Niobid Strap",
ammo="Psilomene",
neck="Sanctity Necklace",
lear="Etiolation Earring",
rear="Evans Earring",
body="Respite Cloak",
hands="Otomi Gloves",
lring="Defending Ring",
rring="Shneddick Ring",
back="Bane Cape",
waist="Belisama's Rope +1",
legs="Nares Trews",
feet="Merlinic Crackows"}
--mp=706
-------------------------------------------
-- WS sets
-- So it's easy to determine if new obtained gear can replace anything, listed str/mnd/int stats per piece
-------------------------------------------
sets.precast.Myrkr = set_combine(sets.aftercast.Idle, {
rear="Moonshade Earring",
lring="Mephitas's Ring",
rring="Mephitas's Ring +1",})
-------------------------------------------
-- Fastcast & Precast sets:
-------------------------------------------
sets.precast.Fastcast = {
ammo="Impatiens",
head="Nahtirah Hat",
neck="Voltsurge Torque",
rear="Loquac. Earring",
body="Merlinic Jubbah",
lring="Lebeche Ring",
rring="Mephitas's Ring +1",
waist="Witful Belt"}
sets.precast.Death = {
ammo="Impatiens",
neck="Voltsurge Torque",
rear="Loquac. Earring",
lring="Lebeche Ring",
rring="Mephitas's Ring +1",
waist="Witful Belt"}
sets.precast.Impact = set_combine(sets.precast['Fastcast'], {
body="Twilight Cloak"})
sets.precast['Enhancing Magic'] = {
ammo="Impatiens",
neck="Voltsurge Torque",
rear="Loquac. Earring",
lring="Lebeche Ring",
rring="Mephitas's Ring +1",
waist="Siegel Sash"}
sets.precast.Stoneskin = {
head="Umuthi Hat",
hands="Carapacho Cuffs",
lring="Lebeche Ring",
rring="Mephitas's Ring +1",
waist="Siegel Sash",
legs="Doyen Pants"}
sets.precast['Healing Magic'] = {
head="Pixie Hairpin +1",
neck="Voltsurge Torque",
rear="Mendi. Earring",
body="Heka's Kalasiris",
lring="Lebeche Ring",
rring="Mephitas's Ring +1",
back="Pahtli Cape",
legs="Doyen Pants"}
sets.precast['Elemental Magic'] = set_combine(sets.precast.Fastcast, {
head="Wicce Petasos +1",
neck="Stoicheion Medal",
rear="Loquac. Earring",
body="Merlinic Jubbah",
lring="Lebeche Ring",
rring="Mephitas's Ring +1",
waist="Witful Belt",
feet="Spae. Sabots +1"})
--dont have: divine, enfeebling, dark, use fastcast
-------------------------------------------
-- Spell (midcast) sets:
-------------------------------------------
sets.midcast['Elemental Magic'] = {
main="Lathi",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Merlinic Hood",
neck="Sanctity Necklace",
lear="Friomisi Earring",
rear="Barkaro. Earring",
body="Merlinic Jubbah",
hands="Wicce Gloves +1", --Needs HQ Merlinic Gages
lring="Strendu Ring", --Needs Shiva+1 for both rings
rring="Acumen Ring",
back="Taranus's Cape",
waist="Refoccilation Stone",
legs="Merlinic Shalwar",
feet="Merlinic Crackows"}
--mp=327
sets.midcast['Elemental Magic'].MB = set_combine(sets.midcast['Elemental Magic'], {
neck="Mizu. Kubikazari",
back="Taranus's Cape"})
sets.midcast.Death = {
main="Lathi",
sub="Niobid Strap",
ammo="Psilomene",
head="Pixie Hairpin +1",
neck="Sanctity Necklace",
lear="Friomisi Earring",
rear="Barkaro. Earring",
body="Merlinic Jubbah",
hands="Wicce Gloves +1", --Needs HQ Amalric Gages
lring="Mephitas's Ring +1",
rring="Archon Ring",
back="Bane Cape",
waist="Refoccilation Stone",
legs="Merlinic Shalwar",
feet="Merlinic Crackows"}
sets.midcast.Death.MB = set_combine(sets.midcast.Death, {
neck="Mizu. Kubikazari",
waist="Hachirin-No-Obi"})
sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {
body="Twilight Cloak"})
sets.midcast['Dark Magic'] = set_combine(sets.midcast['Elemental Magic'], {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
hands="Arch. Gloves +1",
rring="Archon Ring",
legs="Spae. Tonban +1",
feet="Wicce Sabots +1"})
--mp=440
sets.midcast['Dark Magic'].MB = set_combine(sets.midcast['Elemental Magic'], {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
lear="Etiolation Earring",
hands="Arch. Gloves +1",
lring="Mephitas's Ring +1",
rring="Archon Ring",
legs="Spae. Tonban +1",
feet="Wicce Sabots +1"})
--mp=440+110+50=600
sets.midcast.drain = set_combine(sets.midcast['Dark Magic'], {
feet="Merlinic Crackows"})
sets.midcast.drain.MB = set_combine(sets.midcast['Dark Magic'].MB, {
feet="Merlinic Crackows"})
sets.midcast.weather = {waist="Hachirin-No-Obi"}
sets.midcast['Enfeebling Magic'] = {
main="Lathi",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Befouled Crown",
neck="Sanctity Necklace",
lear="Enchntr. Earring +1",
rear="Barkaro. Earring",
body="Spae. Coat +1",
hands="Lurid Mitts",
lring="Mephitas's Ring +1",
rring="Mephitas's Ring",
back="Bane Cape",
waist="Rumination Sash",
legs="Portent Pants",
feet="Spae. Sabots +1"}
--mp=542
sets.midcast['Enhancing Magic'] = {
main="Lathi",
sub="Niobid Strap",
ammo="Psilomene",
head="Befouled Crown",
neck="Sanctity Necklace",
lear="Etiolation Earring",
rear="Evans Earring",
body="Merlinic Jubbah",
hands="Otomi Gloves",
lring="Mephitas's Ring +1",
rring="Mephitas's Ring",
back="Bane Cape",
waist="Belisama's Rope +1",
legs="Portent Pants",
feet="Merlinic Crackows"}
--mp=846
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {
neck="Stone Gorget",
waist="Siegel Sash",
legs="Haven Hose"})
--mp=846-120=726
sets.midcast['Healing Magic'] = {
--33% potency, this is taking into consideration that blm's mostly cast single tier cure spells
-- commented stats are potency/skill/mnd (ignoring vitality)
main="Lathi",
sub="Niobid Strap",
ammo="Mana Ampulla", --0/0/3
head="Spae. Petasos +1", --0/0/24
neck="Phalaina Locket", --4/0/3
lear="Gifted Earring",
rear="Mendi. Earring", --5/0/0
body="Heka's Kalasiris", --15/0/17
hands="Wicce Gloves +1", --0/0/32
lring="Lebeche Ring", --3/0/0
rring="Sirona's Ring", --0/10/3
back="Tempered Cape +1", --6/8/0
waist="Korin Obi", --0/0/5
legs="Spae. Tonban +1", --0/0/24
feet="Rubeus Boots"} --0/10/0
sets.midcast.protect = set_combine(sets.midcast['Healing Magic'], {
rring="Sheltered Ring"})
sets.midcast.Cursna = set_combine(sets.precast.Fastcast, {
rear="Enchntr. Earring +1",
lring="Ephedra Ring", --0/7/0
rring="Sirona's Ring", --0/10/3
feet="Rubeus Boots"}) --0/10/0
sets.midcast['Divine Magic'] = set_combine(sets.midcast['Healing Magic'], {
ammo="Pemphredo Tathlum",})
-------------------------------------------
-- Job Ability sets
-------------------------------------------
sets.precast["Manafont"] = {body="Arch. Coat"}
--sets.precast["Elemental Seal"] = {main="Laevateinn"}
sets.precast["Mana Wall"] = {feet="Wicce Sabots +1"}
send_command('input /macro book 4')
end
function precast(spell,action)
if spell.action_type == 'Magic' or spell.type == 'Ninjutsu' then
equipSet = sets.precast
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
elseif equipSet[spell.skill] then
equipSet = equipSet[spell.skill]
else equip(sets.precast.Fastcast)
end
if spell.element == world.weather_element or spell.element == world.day_element then
equip(sets.midcast.weather)
end
elseif spell.type == 'WeaponSkill' then
equip(sets.precast.Myrkr)
end
equip(equipSet)
end
function midcast(spell,action)
if spell.action_type == 'Magic' then
equipSet = sets.midcast
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
elseif equipSet[get_spell_map(spell)] then
equipSet = equipSet[get_spell_map(spell)]
elseif equipSet[spell.skill] then
equipSet = equipSet[spell.skill]
end
if m_typeArray and equipSet[m_typeArray[m_typeIndex]] then
equipSet = equipSet[m_typeArray[m_typeIndex]]
end
-- if m_accArray and equipSet[m_accArray[m_accIndex]] then
-- equipSet = equipSet[m_accArray[m_accIndex]]
-- end
if spell.element == world.weather_element or spell.element == world.day_element then
equipSet = set_combine(equipSet,sets.midcast.weather)
end
equip(equipSet)
end
end
--I think this needs modified, not sure though. being 'engaged' really isnt relevant, but i do need to go back to idle after casting and ws'ing
function aftercast(spell)
if player.status == 'Engaged' then
equip(sets.aftercast.TP)
else
equip(sets.aftercast.Idle)
end
end
--because i removed my resting set (too much mp loss) and my engaged set (too much mp loss), i think i can delete my status change.
--please confirm
function status_change(new,old)
if new == 'Idle' then
equip(sets.aftercast.Idle)
elseif new == 'Resting' then
equip(sets.aftercast.Resting)
elseif new == 'Engaged' then
equip(sets.aftercast.TP)
end
end
function message(message)
add_to_chat(messageColor,message)
end
function self_command(command)
--This controls the m_type in the get_sets area. We need a way to change the number in it
--Typing "//gs c macc" would change the acc type between 'normal' and 'highacc', and typing "//gs c mtype" does the same for 'normal' and 'MB'
if command == 'mtype' then
m_typeIndex=(m_typeIndex % #m_typeArray) + 1
message('M Set changed to '..m_typeArray[m_typeIndex])
elseif command == 'macc' then
m_accIndex=(m_accIndex% #m_accArray) + 1
message('M Acc changed to '..m_accArray[m_accIndex])
end
end