Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ *************************************************************
- Wren's BRD gearswap .lua for SuperNova FFXI
- Save as windower/addons/GearSwap/data/BRD.lua
- 2016-07-27 OC - First version. Commented to help newbies. :)
- 2016-08-01 OC - Rostrum Pumps
- 2016-08-06 OC - Shadow Mantle, removed Umbra Cape
- 2016-08-25 OC - Sea Capes. Sheikh Manteel as fast cast
- 2016-12-02 OC - Loquac. Earring, Stone Gorget
- ************************************************************* --]]
- --[[ ******************************************************
- Gearsets - define the various sets of gear we'll wear.
- ****************************************************** --]]
- function get_sets()
- -- fashion set is for looking nice while lockstyled.
- -- make sure you include your top-row equipment,
- -- especially if you use a ranged or throwing weapon.
- sets.fashion = {
- main = "Terra's Staff",
- sub = "Reign Grip",
- range = "Gjallarhorn",
- head = empty,
- body = "Dalmatica +1",
- hands = "Brd. Cuffs +1",
- legs = "Byakko's Haidate",
- feet = "Dance Shoes +1"
- }
- -- idle set is worn when we're standing around doing
- -- nothing. I have a lot of eva gear from my thief
- -- and nin, so I throw that on my bard.
- sets.idle = {
- main = "Terra's Staff",
- sub = "Reign Grip",
- range = "Gjallarhorn",
- head = "Optical Hat",
- neck = "Evasion Torque",
- left_ear = "Melody Earring +1",
- right_ear = "Melody Earring +1",
- body = "Dalmatica +1",
- hands = "Brd. Cuffs +1",
- left_ring = "Celestial Ring",
- right_ring = "Shadow Ring",
- back = "Shadow Mantle",
- waist = "Scouter's Rope",
- legs = "Raven Hose",
- feet = "Dance Shoes +1"
- }
- -- fast cast set is for casting quickly. We put
- -- this on before the spell is begun, then switch
- -- to one of the other sets during cast.
- sets.fc = {
- sub = "Vivid Strap +1",
- left_ear = "Loquac. Earring",
- feet = "Rostrum Pumps"
- }
- sets.fcsong = {
- body = "Sheikh Manteel",
- right_ring = "Minstrel's Ring"
- }
- -- the song set is put on for any song. Consider
- -- it the "base" for our singing. It's mostly got
- -- Singing and Wind skills primarily, then Charisma.
- sets.song = {
- main = "Chanter's Staff",
- sub = "Reign Grip",
- head = "Brd. Roundlet +1",
- neck = "Piper's Torque",
- left_ear = "Melody Earring +1",
- right_ear = "Musical Earring",
- body = "Mahatma Hpl.",
- hands = "Choral Cuffs +1",
- left_ring = "Nereid Ring",
- right_ring = "Minstrel's Ring",
- back = "Astute Cape",
- waist = "Gleeman's Belt",
- legs = "Sheikh Seraweels",
- feet = "Oracle's Pigaches"
- }
- -- when we need to debuff a mob (lullaby, for example)
- -- we throw these items on, ON TOP of our song set.
- -- This gives our debuffs a little more oomph.
- sets.debuff = {
- main = "Chatoyant Staff",
- sub = "Light Grip"
- }
- -- if we're casting Cures with our /whm, we want as
- -- much Cure potency and Mind as we can get.
- sets.heal = {
- main = "Chatoyant Staff",
- sub = "Reign Grip",
- head = "Goliard Chapeau",
- neck = "Fylgja Torque +1",
- right_ear = "Celestial Earring",
- body = "Mahatma Hpl.",
- hands = "Bricta's Cuffs",
- left_ring = "Celestial Ring",
- right_ring = "Celestial Ring",
- back = "Altruistic Cape",
- waist = "Pythia Sash +1",
- legs = "Mahatma Slops",
- feet = "Suzaku's Sune-Ate"
- }
- -- if we're casting enfeebling magic, such as slow,
- -- we want Enfeebling Skill, MACC, and Mind.
- sets.enfeebling = {
- sub = "Vivid Strap +1",
- head = "Ree's Headgear",
- neck = "Enfeebling Torque",
- right_ear = "Enfeebling Earring",
- body = "Mahatma Hpl.",
- hands = "Oracle's Gloves",
- left_ring = "Celestial Ring",
- right_ring = "Celestial Ring",
- back = "Altruistic Cape",
- waist = "Pythia Sash +1",
- legs = "Mahatma Slops",
- feet = "Avocat Pigaches"
- }
- -- our enhancing set is primary for stoneskin.
- -- we want Enhancing skill and Mind.
- sets.enhancing = {
- main = "Chatoyant Staff",
- sub = "Reign Grip",
- head = "Goliard Chapeau",
- neck = "Enhancing Torque",
- right_ear = "Augment. Earring",
- body = "Mahatma Hpl.",
- hands = "Bricta's Cuffs",
- left_ring = "Celestial Ring",
- right_ring = "Celestial Ring",
- back = "Merciful Cape",
- waist = "Pythia Sash +1",
- legs = "Mahatma Slops",
- feet = "Suzaku's Sune-Ate"
- }
- -- we equip our rest set when we /heal for MP.
- -- we want lots of hMP.
- sets.rest = {
- main = "Chatoyant Staff",
- head = "Mirror Tiara",
- neck = "Beak Necklace +1",
- left_ear = "Antivenom Earring",
- right_ear = "Relaxing Earring",
- body = "Mahatma Hpl.",
- hands = "Oracle's Gloves",
- left_ring = "Celestial Ring",
- right_ring = "Celestial Ring",
- back = "Invigorating Cape",
- waist = "Qiqirn Sash +1",
- legs = "Oracle's Braconi",
- feet = "Goliard Clogs"
- }
- -- our yellow set is used to drop HP below 75%
- -- to proc the latent on Minstrel's Ring.
- sets.yellow = {
- main = "Chanter's Staff",
- sub = "Light Grip",
- head = "Zenith Crown +1",
- body = "Dalmatica +1",
- hands = "Zenith Mitts +1",
- left_ring = "Serket Ring",
- waist = "Scouter's Rope",
- legs = "Zenith Slacks +1",
- feet = "Zenith Pumps +1"
- }
- end
- --[[ ******************************************************
- Equip functions - put on the sets we defined above, and
- echo a note to our chat log so we know it worked.
- ****************************************************** --]]
- -- equip idle set
- function equip_idle()
- windower.add_to_chat(8,'[Idle]')
- equip(sets.idle)
- end
- -- equip healing magic set
- function equip_heal()
- windower.add_to_chat(8,'[Healing]')
- equip(sets.heal)
- end
- -- equip enhancing magic set
- function equip_enhancing(spell)
- windower.add_to_chat(8,'[Enhancing]')
- if spell.name == 'Stoneskin' then
- equip(sets.enhancing,{neck="Stone Gorget"})
- else
- equip(sets.enhancing)
- end
- end
- -- equip enfeebling magic set
- function equip_enfeebling()
- windower.add_to_chat(8,'[Enfeebling]')
- equip(sets.enfeebling)
- end
- -- equip hMP set
- function equip_rest()
- windower.add_to_chat(8,'[Resting]')
- equip(sets.rest)
- end
- -- midcast for songs
- function equip_song(spell)
- windower.add_to_chat(8,'[Bard Song]')
- equip(sets.song)
- if string.find(spell.english,'Elegy') or string.find(spell.english,'Threnody') or string.find(spell.english,'Lullaby') or string.find(spell.english,'Finale') or string.find(spell.english,'Requiem') then
- equip(sets.debuff)
- end
- end
- -- equip yellow hp set for a split second, then idle again
- function equip_yellow()
- windower.add_to_chat(8,'[Yellow]')
- equip(sets.yellow)
- send_command('wait .1;gs equip idle')
- end
- --[[ ******************************************************
- Casting functions - these functions run automatically when
- we cast a spell, use a job ability, rest for MP, and so on
- ****************************************************** --]]
- -- the precast function runs automatically BEFORE we
- -- begin casting a spell or job ability. For our BRD,
- -- we want to equip fast cast gear prior to casting.
- -- Before you get Gjallarhorn, you'd also swap in your
- -- various intruments here.
- function precast(spell)
- if spell.action_type == 'Magic' then
- equip(sets.fc)
- if spell.type == 'BardSong' then
- equip(sets.fcsong)
- end
- end
- end
- -- now that we've already gained the benefit of fast cast,
- -- the midcast function swaps in a new set of gear during
- -- the cast, which will make the spell effect more potent.
- function midcast(spell)
- if spell.skill == 'Healing Magic' then
- equip_heal()
- elseif spell.skill == 'Enfeebling Magic' then
- equip_enfeebling()
- elseif spell.skill == 'Enhancing Magic' then
- equip_enhancing(spell)
- elseif spell.type == 'BardSong' then
- equip_song(spell)
- end
- end
- -- we're done with our spell or job ability, so the aftercast
- -- function makes sure we return to our idle gear to benefit
- -- from auto-refresh and evasion.
- function aftercast(spell)
- equip_idle()
- end
- -- the status_change function runs automatically whenever we
- -- engage, disengage, kneel, or stand. As a BRD we use this
- -- to equip our +hMP gear when we /heal, and return to our
- -- idle gear when we stand up.
- function status_change(new,old)
- if new == 'Resting' then
- equip_rest()
- else
- equip_idle()
- end
- end
- -- the self_command function can be called from
- -- a Yush or in-game macro. I call this function
- -- from a keybind in my Yush file, to put on my
- -- yellow HP gearset:
- --
- -- ['Alt+3'] = 'input //gs c Y'
- --
- function self_command(m)
- if m == "Y" then
- equip_yellow()
- end
- end
- --[[ ******************************************************
- Code that runs once, when we first swap to our BRD job
- ****************************************************** --]]
- send_command('wait 1;gs equip fashion;wait 1;input /lockstyle on;wait 1;gs equip idle')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement