Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --require 'stringhelper'
- --require 'tablehelper'
- function get_sets()
- -- Static Sets
- sets.Iuitl = {head = "Iuitl Headgear", legs = "Iuitl Tights", feet = "Iuitl Gaiters"}
- sets.Haste = set_combine(sets.Iuitl, {range = "Raider's Bmrng.", ear1 = "Suppanomimi", body = "Thaumas Coat", waist = "Twilight Belt"})
- sets.Regen = {neck = "Orochi Nodowa"}
- sets.TH = {hands = "Asn. Armlets +2", feet = "Raid. Poulaines +2"}
- sets.Kite = {feet = "Fajin Boots"}
- sets.DEX = set_combine(sets.Iuitl, {neck = "Spike Necklace",
- body = "Loki's Kaftan", hands = "Raid. Armlets", ring1 = "Rajas Ring", ring2 = "Airy Ring",
- waist = "Cuchulain's Belt", legs = "Hecatomb Subligar"})
- sets.AGI = set_combine(sets.Iuitl, {neck = "Houyi's Gorget",
- body = "Loki's Kaftan", hands = "Thaumas Gloves", ring1 = "Rajas Ring", ring2 = "Solemn Ring",
- waist = "Cuchulain's Belt"})
- sets.JA = {}
- sets.JA.Steal = {head = "Rogue's Bonnet", hands = "Rog. Armlets + 1", waist = "Key Ring Belt", legs = "Assassin's Culottes", feet = "Rogue's Poulaines"}
- sets.JA.Despoil = {legs = "Raid. Culottes +2", feet = "Raid. Poulaines +2"}
- sets.JA.Accomplice = {head = "Raid. Bonnet +2"}
- sets.JA.Collaborator = sets.JA.Accomplice
- sets.JA.Conspirator = {body = "Raider's Vest +2"}
- sets.JA.Flee = {feet = "Rogue's Poulaines"}
- sets.DT = {neck = "Twilight Torque"}
- sets.PDT = set_combine(sets.DT, {})
- sets.MDT = set_combine(sets.DT, {})
- -- Static Sets
- -- Dynamic Sets
- Weapon_Set = "Default"
- Weapon_Set_Toggles = T{ "Default", "Dagger", "Sword", "Club", "Staff" }
- sets.Weapons = {}
- sets.Weapons.Default = {main = "Eminent Dagger", sub = "Leisilonu +1"}
- sets.Weapons.Dagger = {main = "Thokcha", sub = "Thief's Knife"}
- sets.Weapons.Sword = {main = "Mailbreaker", sub = "Thief's Knife"}
- sets.Weapons.Club = {main = "Shellbuster", sub = "Thief's Knife"}
- sets.Weapons.Staff = {main = "Earth Staff", sub = "Pole Grip", ear1 = "Ethereal Earring"}
- sets.Weapons.Master = sets.Weapons[Weapon_Set]
- optional_toggles = {}
- optional_toggles.Engaged = T{['PDT'] = 0, ['MDT'] = 0, ['Kite'] = 0, ['TH'] = 0}
- sets.Engaged = {}
- sets.Engaged.Default = {}
- sets.Engaged.Master = {}
- optional_toggles.Idle = T{['Regen'] = 1, ['PDT'] = 0, ['MDT'] = 0, ['Kite'] = 1}
- sets.Idle = {}
- sets.Idle.Default = {}
- sets.Idle.Master = {}
- sets.Resting = {}
- sets.Resting.Default = {}
- sets.Resting.Master = {}
- optional_toggles.Ranged = T{['TH'] = 1}
- sets.Ranged = {}
- sets.Ranged.Default = {}
- sets.Ranged.Master = {}
- optional_toggles.Weaponskill = T{['TH'] = 0} -- Not implemented yet
- sets.Weaponskill = {}
- sets.Weaponskill.Evisceration = set_combine(sets.DEX, {neck = "Rancor Collar"})
- sets.Weaponskill.Exenterator = set_combine(sets.AGI, {neck = "Soil Gorget", body = "Thaumas Coat", waist = "Breeze Belt"})
- sets.Weaponskill["Mandalic Stab"] = set_combine(sets.DEX, {neck = "Flame Gorget"})
- sets.Weaponskill["Aeolian Edge"] = set_combine(sets.DEX, {neck = "Stoicheion Medal", legs = "Iuitl Tights"})
- sets.Weaponskill["Last Stand"] = set_combine(sets.AGI, {neck = "Flame Gorget"})
- sets.Weaponskill.Master = {}
- optional_toggles.SATA = T{['PDT'] = 0, ['MDT'] = 0, ['Kite'] = 0, ['TH'] = 0}
- sets.SA = {}
- sets.SA.Default = {}
- sets.SA.Master = {}
- sets.TA = {}
- sets.TA.Default = {}
- sets.TA.Master = {}
- build_default_sets()
- build_master_sets()
- end
- function build_default_sets()
- -- Build Default Engaged Set
- sets.Engaged.Default = {neck = "Houyi's Gorget", ear2 = "Brutal Earring",
- hands = "Raid. Armlets +2", ring1 = "Rajas Ring", ring2 = "Heed Ring",
- back = "Atheling Mantle"}
- sets.Engaged.Default = set_combine(sets.Engaged.Default, sets.Haste)
- sets.Engaged.Default = set_combine(sets.Engaged.Default, sets.Weapons.Master)
- -- Build Default Idle Set
- sets.Idle.Default = sets.Engaged.Default
- for key, value in pairs(optional_toggles.Idle) do
- if value == 1 then
- sets.Idle.Default = set_combine(sets.Idle.Default, sets[key])
- end
- end
- -- Build Default Resting Set
- sets.Resting.Default = sets.Idle.Default
- -- Build Default Ranged Sets
- sets.Ranged.Default = set_combine(sets.AGI, {neck = "Arctier's Torque", ear2 = "Volley Earring", body = "Aurore Doublet", back = "Libeccio Mantle", waist = "Buccaneer's Belt"})
- -- Build Default SA and TA sets
- sets.SA.Default = set_combine(sets.DEX, {hands = "Raid. Armlets +2"})
- sets.TA.Default = set_combine(sets.AGI, {hands = "Rog. Armlets +1"})
- end
- function build_master_set(setName)
- if sets[setName].Master then
- sets[setName].Master = sets[setName].Default
- used_toggles = 'Currently Used Toggles - '
- toggles = T{}
- if optional_toggles[setName] then
- for key, value in pairs(optional_toggles[setName]) do
- if value == 1 then
- sets[setName].Master = set_combine(sets[setName].Master, sets[key])
- toggles:insert(key)
- end
- end
- windower.add_to_chat(123, used_toggles .. toggles:concat(':'))
- else
- windower.add_to_chat(123, 'There are no toggles for this set: ' .. setName)
- end
- else
- windower.add_to_chat(123, 'There is no master set for this variable')
- end
- end
- function build_master_sets()
- --master_sets = T{'Engaged', 'Idle', 'Resting', 'Ranged', 'SA', 'TA'}
- --for i = 1, i < #master_sets, i + 1 do
- --build_master_set(i)
- --end
- build_master_set('Engaged')
- build_master_set('Idle')
- build_master_set('Resting')
- build_master_set('Ranged')
- build_master_set('SA')
- build_master_set('TA')
- end
- function build_weaponskill_master(spell, action)
- sets.Weaponskill.Master = {}
- if sets.Weaponskill[spell.english] then
- sets.Weaponskill.Master = sets.Weaponskill[spell.english]
- end
- if not (spell.english == 'Aeolian Edge') then
- if buffactive['Trick Attack'] and (spell.english == 'Exenterator' or not buffactive['Sneak Attack']) then
- sets.Weaponskill.Master = set_combine(sets.Weaponskill.Master, {hands = 'Rog. Armlets +1'})
- elseif buffactive['Sneak Attack'] then
- sets.Weaponskill.Master = set_combine(sets.Weaponskill.Master, {hands = 'Raid. Armlets +2'})
- end
- end
- end
- function precast(spell, action)
- verify_equip()
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- elseif spell.type == 'Weaponskill' then
- build_weaponskill_master(spell, action)
- equip(sets.Weaponskill.Master)
- end
- end
- function midcast(spell, action)
- end
- function aftercast(spell, action)
- if T{'Idle', 'Resting', 'Engaged'}:contains(player.status) then
- equip(sets[player.status].Master)
- end
- end
- function pet_midcast(spell, action)
- end
- function pet_aftercast(spell, action)
- end
- function status_change(new, old)
- if T{'Zoning', 'Fishing', 'Event', 'Dead'}:contains(old) then
- return
- end
- if T{'Idle', 'Resting', 'Engaged'}:contains(new) then
- equip(sets[new].Master)
- end
- end
- function buff_change(buff, gain_or_loss)
- if buff == 'Sneak Attack' or buff == 'Trick Attack' then
- if buff == 'Sneak Attack' and gain_or_loss == 'gain' then
- sets.Engaged.Master = sets.SA.Master
- elseif buff == 'Trick Attack' and gain_or_loss == 'gain' and not buffactive['Sneak Attack'] then
- sets.Engaged.Master = sets.TA.Master
- elseif (buff == 'Sneak Attack' or buff == 'Trick Attack') and gain_or_loss == 'loss' then
- build_master_set('Engaged')
- end
- if player.status == 'Engaged' then
- equip(sets.Engaged.Master)
- end
- end
- end
- function self_command(command)
- -- Toggle Commands: toggle engaged, toggle idle, toggle ranged, toggle SATA, toggle TH
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement