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