Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_sets()
- --Idle Sets--
- sets.Idle = {
- ammo="Homiliary",
- head="Futhark Bandeau +1",
- neck="Twilight Torque",
- ear1="Hearty Earring",ear2="Ethereal Earring",
- body="Futhark coat +1",
- hands="Erilaz Gauntlets +1",
- ring1="Patricius Ring",ring2="Defending Ring",
- back="Evasionist's Cape",
- waist="Flume Belt",
- legs="Erilaz Leg Guards +1",
- feet="Skadi's Jambeaux +1"}
- --TP Sets--
- sets.TP = {}
- sets.TP.index = {'Standard', 'Accuracy', 'DT', 'MDTacc'}
- TP_ind = 1
- --offensive melee set
- sets.TP.Standard = {
- ammo="Ginsen",
- head="Dampening Tam",
- neck="Asperity Necklace",
- ear1="Brutal Earring",ear2="Ethereal Earring",
- body="Rawhide Vest",
- hands="Erilaz Gauntlets +1",
- ring1="Epona's Ring",ring2="Rajas Ring",
- back="Evasionist's Cape",
- waist="Chaac Belt",
- legs="Taeon Tights",
- feet="Futhark Boots +1"}
- --high accuracy/DT hybrid set
- sets.TP.Accuracy = {
- ammo="Falcon Eye",
- head="Dampening Tam",
- neck="Twilight Torque",
- ear1="Steelflash Earring",ear2="Zennaroi Earring",
- body="Emet Harness +1",
- hands="Erilaz Gauntlets +1",
- ring1="Patricius Ring",ring2="Defending Ring",
- back="Evasionist's Cape",
- waist="Olseni Belt",
- legs="Taeon Tights",
- feet="Taeon Boots"}
- --full DT melee set
- sets.TP.DT = {
- ammo="Falcon Eye",
- head="Dampening Tam",
- neck="Twilight Torque",
- ear1="Hearty Earring",ear2="Zennaroi Earring",
- body="Futhark coat +1",
- hands="Erilaz Gauntlets +1",
- ring1="Patricius Ring",ring2="Defending Ring",
- back="Evasionist's Cape",
- waist="Flume Belt",
- legs="Erilaz Leg Guards +1",
- feet="Erilaz Greaves +1"}
- --MDT melee set
- sets.TP.MDTacc = {
- ammo="Falcon Eye",
- head="Dampening Tam",
- neck="Twilight Torque",
- ear1="Steelflash Earring",ear2="Zennaroi Earring",
- body="Rawhide Vest",
- hands="Erilaz Gauntlets +1",
- ring1="Shadow Ring",ring2="Defending Ring",
- back="Evasionist's Cape",
- waist="Olseni Belt",
- legs="Runeist Trousers +1",
- feet="Taeon Boots"}
- --Weaponskill Sets--
- sets.WS = {}
- --multi, carries FTP
- sets.Resolution = {
- ammo="Seething Bomblet +1",
- head="Dampening Tam",
- neck="Fotia Gorget",
- ear1="Brutal earring",ear2="Moonshade Earring",
- body="Rawhide Vest",
- hands="Rawhide Gloves",
- ring1="Epona's Ring",ring2="Rajas Ring",
- back="Evasionist's Cape",
- waist="Fotia Belt",
- legs="Lustratio Subligar +1",
- feet="Lustratio Leggings +1"}
- --single, doesn't carry FTP
- sets.Single = {
- ammo="Seething Bomblet +1",
- head="Dampening Tam",
- neck="Fotia Gorget",
- ear1="Ishvara earring",ear2="Moonshade Earring",
- body="Rawhide Vest",
- hands="Rawhide Gloves",
- ring1="Ramuh Ring +1",ring2="Rajas Ring",
- back="Evasionist's Cape",
- waist="Fotia Belt",
- legs="Lustratio Subligar +1",
- feet="Lustratio Leggings +1"}
- --single hit, benefits from DA
- sets.Cleave = {
- ammo="Seething Bomblet +1",
- head="Dampening Tam",
- neck="Fotia Gorget",
- ear1="Brutal earring",ear2="Zennaroi Earring",
- body="Rawhide Vest",
- hands="Rawhide Gloves",
- ring1="Epona's Ring",ring2="Ramuh Ring +1",
- back="Evasionist's Cape",
- waist="Fotia Belt",
- legs="Lustratio Subligar +1",
- feet="Lustratio Leggings +1"}
- --added effect
- sets.Shockwave = {
- ammo="Falcon Eye",
- head="Dampening Tam",
- neck="Fotia Gorget",
- ear1="Brutal earring",ear2="Zennaroi Earring",
- body="Samnuha Coat",
- hands="Leyline Gloves",
- ring1="Epona's Ring",ring2="Ramuh Ring +1",
- back="Evasionist's Cape",
- waist="Eschan Stone",
- legs="Lustratio Subligar +1",
- feet="Taeon Boots"}
- --Requiescat
- sets.Req = {
- ammo="Seething Bomblet +1",
- head="Dampening Tam",
- neck="Fotia Gorget",
- ear1="Brutal earring",ear2="Moonshade Earring",
- body="Rawhide Vest",
- hands="Rawhide Gloves",
- ring1="Epona's Ring",ring2="Rajas Ring",
- back="Evasionist's Cape",
- waist="Fotia Belt",
- legs="Taeon Tights",
- feet="Taeon Boots"}
- --crit based
- sets.Vorp = {
- ammo="Qirmiz Tathlum",
- head="Dampening Tam",
- neck="Fotia Gorget",
- ear1="Brutal earring",ear2="Moonshade Earring",
- body="Rawhide Vest",
- hands="Rawhide Gloves",
- ring1="Epona's Ring",ring2="Rajas Ring",
- back="Evasionist's Cape",
- waist="Fotia Belt",
- legs="Lustratio Subligar +1",
- feet="Lustratio Leggings +1"}
- --magic WS
- sets.HercSlash = {
- ammo="Seething Bomblet +1",
- head="Highwing Helm",
- neck="Deviant Necklace",
- ear1="Hecate's Earring",ear2="Friomisi earring",
- body="Samnuha Coat",
- hands="Leyline Gloves",
- ring1="Acumen Ring",
- back="Argochampsa Mantle",
- waist="Eschan Stone",
- legs="Limbo Trousers",
- feet="Adhemar Gamashes"}
- sets.Utility = {}
- --full PDT set for when stunned, etc.
- sets.Utility.PDT = {
- ammo="Vanir Battery",
- head="Erilaz Galea +1",
- neck="Twilight Torque",
- ear1="Hearty Earring",ear2="Ethereal Earring",
- body="Futhark coat +1",
- hands="Erilaz Gauntlets +1",
- ring1="Patricius Ring",ring2="Defending Ring",
- back="Evasionist's Cape",
- waist="Flume Belt",
- legs="Erilaz Leg Guards +1",
- feet="Erilaz Greaves +1"}
- --full MDT set for when stunned, etc
- sets.Utility.MDT = {
- ammo="Vanir Battery",
- head="Dampening Tam",
- neck="Twilight Torque",
- ear1="Hearty Earring",ear2="Zennaroi Earring",
- body="Rawhide Vest",
- hands="Erilaz Gauntlets +1",
- ring1="Shadow Ring",ring2="Defending Ring",
- back="Engulfer Cape +1",
- waist="Olseni Belt",
- legs="Runeist Trousers +1",
- feet="Erilaz Greaves +1"}
- --Job Ability Sets--
- sets.JA = {}
- sets.JA.Lunge = {
- ammo="Seething Bomblet +1",
- head="Highwing Helm",
- neck="Deviant Necklace",
- ear1="Hecate's Earring",ear2="Friomisi earring",
- body="Samnuha Coat",
- hands="Leyline Gloves",
- ring1="Acumen Ring",
- back="Argochampsa Mantle",
- waist="Eschan Stone",
- legs="Limbo Trousers",
- feet="Adhemar Gamashes"}
- sets.JA.Vallation = {body="Runeist Coat +1",legs="Futhark Trousers +1"}
- sets.JA.Gambit = {hands="Runeist mitons +1"}
- sets.JA.Rayke = {feet="Futhark bottes +1"}
- sets.JA.Battuta = {head="Futhark bandeau +1"}
- sets.JA.Pflug = {feet="Runeist bottes +1"}
- sets.JA.Pulse = {head="Erilaz Galea +1",legs="Runeist Trousers +1"}
- --Precast Sets--
- --Fast Cast set
- sets.precast = {
- head="Runeist bandeau +1",
- body="Samnuha Coat",
- hands="Leyline Gloves",
- legs="Limbo Trousers"}
- sets.Phalanx = {
- head="Futhark bandeau +1",
- body="Taeon Tabard",
- legs="Futhark Trousers +1"}
- --Enmity set for high hate generating spells and JAs
- sets.Enmity = {
- head="Highwing Helm",
- neck="Unmoving Collar +1",
- ear2="Friomisi earring",
- body="Emet Harness +1",
- hands="Nilas Gloves",
- back="Earthcry Mantle",
- legs="Erilaz Leg Guards",
- feet="Erilaz Greaves +1"}
- --Magic acc for enfeebles, handy for VW
- sets.MagicAcc = {
- head="Dampening Tam",
- ear1="Gwati Earring",
- body="Samnuha Coat",
- hands="Leyline Gloves",
- waist="Salire Belt",
- legs="Runeist Trousers +1",
- feet="Iuitl Gaiters +1"}
- --Toggle TP sets button, change if you want; currently ALT+F9 toggles forward, CTRL+F9 toggles backwards
- send_command('bind !f9 gs c toggle TP set')
- send_command('bind ^f9 gs c reverse TP set')
- --other stuff, don't touch
- ShadowType = 'None'
- end
- --the following section looks at the weather/day to see if the Hachirin-no-Obi is worth using
- --add the following line to a section to have it check the element and equip the obi:
- -->>> mid_obi(spell.element,spell.name)
- function mid_obi(spelement,spellname)
- if spelement == nil then
- spelement = "Light"
- end
- if spellname == nil then
- spellname = "Cure"
- end
- elements = {}
- elements.list = S{'Fire','Ice','Wind','Earth','Lightning','Water','Light','Dark'}
- elements.number = {[0]="Fire",[1]="Ice",[2]="Wind",[3]="Earth",[4]="Lightning",[5]="Water",[6]="Light",[7]="Dark"}
- elements.weak = {['Light']='Dark', ['Dark']='Light', ['Fire']='Water', ['Ice']='Fire', ['Wind']='Ice', ['Earth']='Wind',
- ['Lightning']='Earth', ['Water']='Lightning'}
- weather = world.weather_element
- intensity = 1 + (world.weather_id % 2)
- day = world.day
- boost = 0
- obi = nil
- for _,buff in pairs (windower.ffxi.get_player().buffs) do
- if buff > 177 and buff < 186 then
- weather = elements.number[(buff - 178)]
- intensity = 1
- elseif buff > 588 and buff < 597 then
- weather = elements.number[(buff - 589)]
- intensity = 2
- end
- if spellname == "Swipe" or spellname == "Lunge" or spellname == "Vivacious Pulse" then
- if buff > 522 and buff < 531 then
- spelement = elements.number[(buff - 523)]
- end
- end
- end
- if weather == spelement then
- boost = boost + intensity
- elseif weather == elements.weak[spelement] then
- boost = boost - intensity
- end
- if day == spelement then
- boost = boost + 1
- elseif day == elements.weak[spelement] then
- boost = boost - 1
- end
- if boost > 0 then
- if player.inventory["Hachirin-no-Obi"] or player.wardrobe["Hachirin-no-Obi"] then
- equip({waist="Hachirin-no-Obi"})
- end
- end
- end
- function precast(spell,abil)
- --equips favorite weapon if disarmed
- if player.equipment.main == "empty" or player.equipment.sub == "empty" then
- equip({main="Epeolatry",sub="Bloodrain Strap"})
- end
- if spell.action_type == 'Magic' then
- equip(sets.Utility.PDT,sets.precast)
- end
- if spell.skill == 'Enhancing Magic' then
- equip({legs="Futhark Trousers +1"})
- end
- if string.find(spell.name,'Utsusemi') then
- equip({neck="Magoraga Beads"})
- end
- if spell.name == 'Lunge' or spell.name == 'Swipe' then
- equip(sets.JA.Lunge)
- mid_obi(spell.element,spell.name)
- end
- --prevents Valiance/Vallation/Liement from being prevented by each other (cancels whichever is active)
- if spell.name == 'Valiance' or spell.name == 'Vallation' or spell.name == 'Liement' then
- if buffactive['Valiance'] then
- cast_delay(0.2)
- windower.ffxi.cancel_buff(535)
- elseif buffactive['Vallation'] then
- cast_delay(0.2)
- windower.ffxi.cancel_buff(531)
- elseif buffactive['Liement'] then
- cast_delay(0.2)
- windower.ffxi.cancel_buff(537)
- end
- end
- if spell.name == 'Vallation' or spell.name == 'Valiance' then
- equip(sets.Enmity,sets.JA.Vallation)
- end
- if spell.name == 'Pflug' then
- equip(sets.Enmity,sets.JA.Pflug)
- end
- if spell.name == 'Elemental Sforzo' or spell.name == 'Liement' then
- equip(sets.Enmity,{body="Futhark Coat +1"})
- end
- if spell.name == 'Gambit' then
- equip(sets.Enmity,sets.JA.Gambit)
- end
- if spell.name == 'Rayke' then
- equip(sets.Enmity,sets.JA.Rayke)
- end
- if spell.name == 'Battuta' then
- equip(sets.Enmity,sets.JA.Battuta)
- end
- if spell.name == 'Vivacious Pulse' then
- equip(sets.Enmity,sets.JA.Pulse)
- mid_obi(spell.element,spell.name)
- end
- if spell.name == 'One for All' or spell.name == 'Embolden' or spell.name == 'Odyllic Subterfuge' or spell.name == 'Warcry'
- or spell.name == 'Swordplay' or spell.name == 'Rayke' or spell.name == 'Meditate' or spell.name == 'Provoke' then
- equip(sets.Enmity)
- end
- if spell.name == 'Resolution' or spell.name == 'Ruinator' then
- equip(sets.Resolution)
- end
- if spell.name == 'Spinning Slash'
- or spell.name == 'Ground Strike'
- or spell.name == 'Upheaval'
- or spell.name == 'Dimidiation'
- or spell.name == 'Steel Cyclone'
- or spell.name == 'Savage Blade' then
- equip(sets.Single)
- end
- if spell.name == 'Shockwave' then
- equip(sets.Shockwave)
- end
- if spell.name == 'Fell Cleave' or spell.name == 'Circle Blade' then
- equip(sets.Cleave)
- end
- if spell.name == 'Requiescat' then
- equip(sets.Req)
- end
- if spell.name == 'Vorpal Blade' or spell.name == 'Rampage' then
- equip(sets.Vorp)
- end
- if spell.name == 'Herculean Slash'
- or spell.name == 'Freezebite'
- or spell.name == 'Sanguine Blade'
- or spell.name == 'Red Lotus Blade'
- or spell.name == 'Seraph Blade' then
- equip(sets.HercSlash)
- mid_obi(spell.element,spell.name)
- end
- --prevents casting Utsusemi if you already have 3 or more shadows
- if spell.name == 'Utsusemi: Ichi' and ShadowType == 'Ni' and (buffactive['Copy Image (3)'] or buffactive['Copy Image (4+)']) then
- cancel_spell()
- end
- if buffactive['terror'] or buffactive['petrification'] or buffactive['stun'] or buffactive['sleep'] then
- if TP_ind == 4 then
- equip(sets.Utility.MDT) else
- equip(sets.Utility.PDT)
- end
- end
- if buffactive.sleep and player.hp > 100 and player.status == "Engaged" then
- equip({head="Frenzy Sallet"})
- end
- end
- function midcast(spell,act,arg)
- if spell.action_type == 'Magic' then
- equip(sets.Utility.PDT,{head="Runeist bandeau +1"})
- end
- if spell.skill == 'Enhancing Magic' then
- equip({head="Erilaz Galea +1",legs="Futhark Trousers +1"})
- if spell.name == "Blink" or spell.name == "Stoneskin" or string.find(spell.name,'Utsusemi') then
- equip(sets.Utility.PDT,{head="Runeist bandeau +1",hands="Leyline Gloves"})
- elseif string.find(spell.name,'Bar') or spell.name=="Temper" then
- equip({hands="Runeist Mitons +1"})
- end
- if buffactive.embolden then
- equip({back="Evasionist's Cape"})
- end
- end
- if spell.name == 'Foil' or spell.name == 'Flash' or spell.name == "Stun" then
- equip(sets.Enmity,{head="Runeist bandeau +1"})
- end
- if spell.name == 'Phalanx' then
- equip(sets.Phalanx)
- end
- if string.find(spell.name,'Regen') then
- equip({head="Runeist bandeau +1"})
- end
- if spell.name == "Repose" or spell.skill == 'Enfeebling Magic' or spell.skill == 'Dark Magic' then
- equip(sets.MagicAcc)
- end
- if spell.skill == 'Elemental Magic' then
- equip(sets.JA.Lunge)
- mid_obi(spell.element,spell.name)
- end
- --cancels Ni shadows (if there are only 1 or 2) when casting Ichi
- if spell.name == 'Utsusemi: Ichi' and ShadowType == 'Ni' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
- send_command('cancel Copy Image')
- send_command('cancel Copy Image (2)')
- end
- end
- function aftercast(spell)
- equip_current()
- if string.find(spell.name,'Utsusemi') and not spell.interrupted then
- if spell.name == 'Utsusemi: Ichi' then
- ShadowType = 'Ichi'
- elseif spell.name == 'Utsusemi: Ni' then
- ShadowType = 'Ni'
- end
- end
- end
- function status_change(new,old)
- equip_current()
- end
- function equip_TP()
- equip(sets.TP[sets.TP.index[TP_ind]])
- --equips offensive gear despite being on defensive set if you have shadows
- if TP_ind == 3 and ((buffactive['Copy Image (2)'] or buffactive['Copy Image (3)'] or buffactive['Copy Image (4+)']) or buffactive['Third Eye'] or buffactive['Blink']) then
- equip(sets.TP.Accuracy)
- end
- --equips DW gear if using two weapons
- if player.equipment.sub == "Tramontane Axe" or player.equipment.sub == "Pukulatmuj" or player.equipment.sub == "Anahera Sword" then
- equip({ear2="Suppanomimi"})
- end
- --equips offensive gear and relic boots during Battuta
- if buffactive.battuta then
- --remains on defensive set if Avoidance Down is active
- if buffactive['Avoidance Down'] then
- else
- if TP_ind == 3 then
- equip(sets.TP.Accuracy)
- end
- equip({feet="Futhark Boots +1"})
- end
- end
- --equip defensive gear when hit with terror/petrify/stun/sleep
- if buffactive['terror'] or buffactive['petrification'] or buffactive['stun'] or buffactive['sleep'] then
- if TP_ind == 4 then
- equip(sets.Utility.MDT) else
- equip(sets.Utility.PDT)
- end
- end
- --equip Frenzy Sallet (will wake you up) if engaged, slept, and over 100 HP
- if buffactive.sleep and player.hp > 100 then
- equip({head="Frenzy Sallet"})
- end
- end
- function equip_idle()
- equip(sets.Idle)
- --equips extra refresh gear when MP is below 75%
- if player.mpp < 75 then
- equip({body="Runeist Coat +1"})
- end
- --auto-equip defensive gear when hit with terror/petrify/stun/sleep
- if buffactive['terror'] or buffactive['petrification'] or buffactive['stun'] or buffactive['sleep'] then
- if TP_ind == 4 then
- equip(sets.Utility.MDT) else
- equip(sets.Utility.PDT)
- end
- end
- end
- function buff_change(buff,gain)
- local buff = string.lower(buff)
- if buff == "terror" or buff == "petrification" or buff == "stun" or buff == "sleep" then
- if gain then
- if TP_ind == 4 then
- equip(sets.Utility.MDT) else
- equip(sets.Utility.PDT)
- end
- if buff == "sleep" and player.hp > 100 and player.status == "Engaged" then
- equip({head="Frenzy Sallet"})
- end
- else
- equip_current()
- end
- end
- end
- function equip_current()
- if player.status == 'Engaged' then
- equip_TP()
- else
- equip_idle()
- end
- end
- function self_command(command)
- if command == 'toggle TP set' then
- TP_ind = TP_ind +1
- if TP_ind > #sets.TP.index then
- TP_ind = 1
- end
- send_command('@input /echo <----- TP Set changed to '..sets.TP.index[TP_ind]..' ----->')
- equip_current()
- elseif command == 'reverse TP set' then
- TP_ind = TP_ind -1
- if TP_ind == 0 then
- TP_ind = #sets.TP.index
- end
- send_command('@input /echo <----- TP Set changed to '..sets.TP.index[TP_ind]..' ----->')
- equip_current()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement