Hey all
I've been getting used to the change from spellcast to gearswap and I'm now working on a BRD lua. I like to make them myself using bits from others, so I know exactly what it does and how to adjust it if I need to in the future....
At the moment I have one that is not working for the precast and no one seems to know why. I'm hoping there is a lua wizard out there who can help me out!
Here is a pastebin, and also the code is in the spoiler below.
Please ignore the terrible gear, I haven't played in two years!
Thanks in advance to those who take a look
Kaz
Spoiler
function get_sets()
-- Variables
idletype="maxmp"
fakesongs = S{"Army's Paeon", "Goblin Gavotte"}
-- Sets begin
sets.music = {}
sets.music.prebuff ={
main="Felibre's Dague",
sub="Genbu's Shield",
range="Pan's Horn",
head="Aoidos' Calot +2",
body="Yigit Gomlek",
hands="Schellenband",
legs="Aoidos' Rhing. +2",
feet="Rostrum Pumps",
neck="Aoidos' Matinee",
waist="Aoidos' Belt",
left_ear="Aoidos' Earring",
right_ear="Loquac. Earring",
left_ring="Trumpet Ring",
right_ring="Nereid Ring",
back="Balladeer's Cape"
}
sets.music.midbuff={
main="Felibre's Dague",
sub="Genbu's Shield",
range="Pan's Horn",
head="Aoidos' Calot +2",
body="Aoidos' Hngrln. +2",
hands="Ad. Mnchtte. +2",
legs="Aoidos' Rhing. +2",
feet="Aoidos' Cothrn. +2",
neck="Aoidos' Matinee",
waist="Aoidos' Belt",
left_ear="Aoidos' Earring",
right_ear="Musical Earring",
left_ring="Trumpet Ring",
right_ring="Nereid Ring",
back="Balladeer's Cape"
}
sets.music.fakesongs={
main="Chatoyant Staff",
sub="Bugard Strap +1",
range="Pan's Horn",
head="Wivre Hairpin",
body="Yigit Gomlek",
hands="Serpentes Cuffs",
legs="Sagacity Lappas",
feet="Serpentes Sabots",
neck="Phalaina Locket",
waist="Aoidos' Belt",
left_ear="Influx Earring",
right_ear="Gifted Earring",
left_ring="Bifrost Ring",
right_ring="Ether Ring",
back="Felicitas Cape"
}
sets.music.enfeeb={
main="Chatoyant Staff",
sub="Quire Grip",
range="Pan's Horn",
head="Nahtirah Hat",
body="Aoidos' Hngrln. +2",
hands="Ad. Mnchtte. +2",
legs="Aoidos' Rhing. +2",
feet="Aoidos' Cothrn. +2",
neck="Wind Torque",
waist="Aoidos' Belt",
left_ear="Aoidos' Earring",
right_ear="Musical Earring",
left_ring="Omega Ring",
right_ring="Perception Ring",
back="Mesmeric Cape"
}
sets.music.maxmp={
main="Chatoyant Staff",
sub="Bugard Strap +1",
range="Pan's Horn",
head="Wivre Hairpin",
body="Augur's Jaseran",
hands="Serpentes Cuffs",
legs="Sagacity Lappas",
feet="Serpentes Sabots",
neck="Dualism Collar",
waist="Aoidos' Belt",
left_ear="Influx Earring",
right_ear="Gifted Earring",
left_ring="Bifrost Ring",
right_ring="Ether Ring",
back="Balladeer's Cape"
}
sets.music.curepot={
main="Chatoyant Staff",
sub="Quire Grip",
range="Pan's Horn",
body="Augur's Jaseran",
hands="Serpentes Cuffs",
feet="Serpentes Sabots",
neck="Phalaina Locket",
left_ear="Loquac. Earring",
right_ear="Gifted Earring",
left_ring="Bifrost Ring",
}
sets.music.rest={
main="Chatoyant Staff",
sub="Bugard Strap +1",
range="Pan's Horn",
head="Wivre Hairpin",
body="Augur's Jaseran",
hands="Serpentes Cuffs",
legs="Sagacity Lappas",
feet="Avocat Pigaches",
neck="Eidolon Pendant",
waist="Aoidos' Belt",
left_ear="Graiai Earring",
right_ear="Gifted Earring",
left_ring="Bifrost Ring",
right_ring="Ether Ring",
back="Felicitas Cape"
}
sets.music.stoneskin={
waist="Siegel Sash"
}
sets.music.idlerun = set_combine(sets.music.maxmp, {feet="Aoidos' Cothrn. +2"})
-- Instruments
sets.instruments={}
sets.instruments.marchetude = set_combine(sets.music.midbuff,{range="Langeleik"})--hands="Aoidos Mnchtte. +2"})
sets.instruments.finalelullaby= set_combine(sets.music.enfeeb,{range="Pan's Horn"})
sets.instruments.ballad= set_combine(sets.music.midbuff,{range="Eminent Flute"})--legs="Aoidos Rhing. +2"})
sets.instruments.minne= {range="Syrinx"}
sets.instruments.madrigalprelude= set_combine(sets.music.midbuff,{range="Cantabank's Horn"})--head="Aoidos' Calot +2",})
sets.instruments.mambomazurka= {range="Vihuela"}
sets.instruments.requiem= set_combine(sets.music.enfeeb,{range="Requiem Flute"})
sets.instruments.paeon= {range="Eminent Flute"}
sets.instruments.carol= {range="Eminent Flute"}
sets.instruments.minuet= set_combine(sets.music.midbuff,{range="Eminent Flute",})--body="Aoidos' Hngrln +2",})
sets.instruments.elegy= set_combine(sets.music.enfeeb,{range="Syrinx"})
sets.instruments.fakesongs = set_combine(sets.music.fakesongs, {range="Terpander"})
end
-- Rules -----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-- Precast Rules
-------------------------------------------------------------------------------------------------------------------
function precast(spell)
if spell.action_type == 'Magic' then
if spell.type=='BardSong' then
equip(sets.music.prebuff)
end
end
if string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
equip(sets.music.curepot)
end
-- KEEP THIS LAST IN PRECAST
if spell.prefix=="/magic" and player.mp>404 then
equip(sets.music.maxmp)
end
end
----------------------------------------------------------------------------------------
-- Midcast Rules
----------------------------------------------------------------------------------------
function midcast(spell)
if spell.action_type == 'Magic' then
if spell.type=='BardSong' then
equip(sets.music.midbuff)
end
end
-- Rules for changing instruments
if spell.english:find ('March') or spell.english:find ('Etude') then
equip(sets.instruments.marchetude)
elseif spell.english:find ('Finale') or spell.english:find ('Lullaby') then
equip(sets.instruments.finalelullaby)
elseif spell.english:find ('Ballad') then
equip(sets.instruments.ballad)
elseif spell.english:find ('Elegy') or spell.english:find ('Minne') then
equip(sets.instruments.minne)
elseif spell.english:find ('Madrigal') or spell.english:find ('Prelude') then
equip(sets.instruments.madrigalprelude)
elseif spell.english:find ('mambo') or spell.english:find ('mazurka') then
equip(sets.instruments.mambomazurka)
elseif spell.english:find ('Requiem') then
equip(sets.instruments.requiem)
elseif spell.english:find ('Paeon') then
equip(sets.instruments.paeon)
elseif spell.english:find ('Carol') then
equip(sets.instruments.carol)
elseif spell.english:find ('Minuet') then
equip(sets.instruments.minuet)
elseif fakesongs:contains(spell.name) then
equip(sets.instruments.fakesongs)
add_to_chat(206,'<<<<<<< Fake Song >>>>>>>')
end
if spell.english:find('Lullaby') then
equip(sets.instruments.finalelullaby)
elseif spell.english:find('Finale') then
equip(sets.instruments.finalelullaby)
else
equip(sets.instruments.enfeeb)
end
if string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
equip(sets.music.curepot)
end
-- KEEP THIS IT LAST IN MIDCAST
if spell.prefix=="/magic" and player.mp>404 then
equip(sets.music.maxmp)
end
end
-------------------------------------------------------------------------------------------------------------------
-- Aftercast Rules
-------------------------------------------------------------------------------------------------------------------
function aftercast(spell)
if player.status=='Engaged' then
equip(sets.engaged.tp)
else
equip(sets.music[idletype])
end
end
-- Stoneskin and Siegal Sash
function precast(spell)
if spell.english=="Stoneskin" then
equip(sets.music.stoneskin)
end
end
-- Pianissimo Rules
function pretarget(spell,action)
if spell.type == "BardSong" and spell.target.name == player.name and buffactive.Pianissimo then
change_target('<t>')
end
end
-- Function Change
function status_change(new,old)
if new=='Engaged' then
equip(sets.engaged.tp)
else
equip(sets.music[idletype])
end
end
-- Mode change- allows to change back to different things after engaging or casting
function self_command(command)
if command =="idletoggle" then
if idletype=="maxmp" then
idletype="idlerun"
status_change(player.status)
add_to_chat(206, "Idle Running Boots")
else
idletype="maxmp"
status_change(player.status)
add_to_chat(206, "Idle Regen/Refresh Boots")
end
end
end




