Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_sets()
- TPback = { name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','"Store TP"+10',}}
- DEXback = { name="Belenus's Cape", augments={'DEX+20','Rng.Acc.+20 Rng.Atk.+20','DEX+10','Crit.hit rate+10',}}
- AGIback = { name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}}
- SNAPback = { name="Belenus's Cape", augments={'"Snapshot"+10',}}
- MABback = { name="Belenus's Cape", augments={'AGI+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','Weapon skill damage +10%',}}
- MABhead = { name="Herculean Helm", augments={'"Mag.Atk.Bns."+22','Weapon skill damage +3%','Mag. Acc.+12',}}
- MABlegs = { name="Herculean Trousers", augments={'"Repair" potency +1%','"Waltz" potency +6%','Weapon skill damage +9%','Mag. Acc.+20 "Mag.Atk.Bns."+20',}}
- MABfeet = { name="Herculean Boots", augments={'"Mag.Atk.Bns."+25','Weapon skill damage +4%','DEX+4','Mag. Acc.+3',}}
- WSbody = { name="Herculean Vest", augments={'Rng.Acc.+7 Rng.Atk.+7','Weapon skill damage +3%','AGI+12','Rng.Acc.+12',}}
- Adhemar_M = { name="Adhemar Wrist. +1", augments={'DEX+12','AGI+12','Accuracy+20',}}
- Adhemar_R = { name="Adhemar Wrist. +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}
- TP_Index = 1
- TH_Index = 1
- TP_Array = {'TPnormal', 'TPacc', 'PDT'}
- TH_Array = {'Normal','TPtreasure'}
- -------------------------------------------
- -- aftercast for returning to TP and Idle sets
- -- the 'self command' area will change the set defined as aftercast.TP
- -------------------------------------------
- sets.aftercast = {}
- sets.engaged = {}
- sets.precast = {}
- sets.precast.Normal = {}
- sets.precast.Acc = {}
- sets.midcast = {}
- sets.buffs = {}
- Dex_WS = S{"Wasp Sting","Viper Bite","Mandalic Stab"}
- Dex2_WS = S{"Eviceration"}
- Dex3_WS = S{"Rudra's Storm"}
- DexChr_WS = S{"Shadowstitch","Dancing Edge"}
- DexAgi_WS = S{"Shark Bite"}
- Agi_WS = S{"Exenterator"}
- -- no sets made for this, it's not unlocked
- Str_WS = S{"Mercy Stroke"}
- Mnd_WS = S{"Energy Steal","Energy Drain"}
- MAB_WS = S{"Gust Slash","Cyclone","Aeolian Edge"}
- sets.aftercast.Idle = {
- ammo="Staunch Tathlum",
- head="Meghanada Visor +2",
- neck="Wiglen Gorget",
- lear="Infused Earring",
- rear="Ethereal Earring",
- body="Meg. Cuirie +2",
- hands="Meg. Gloves +2",
- lring="Sheltered Ring",
- rring="Defending Ring",
- back="Shadow Mantle",
- waist="Kentarch Belt",
- legs="Meg. Chausses +2",
- feet="Fajin Boots"}
- -------------------------------------------
- -- The outermost table has to be named "sets", but
- -- otherwise there are no restrictions.
- -------------------------------------------
- sets.engaged.TPnormal = {
- ammo="Yetshila",
- head="Skulker's Bonnet +1",
- neck="Asperity Necklace",
- lear="Heartseeker Earring",
- rear="Dudgeon Earring",
- body="Mummu Jacket +2",
- hands=Adhemar_M,
- lring="Hetairoi Ring",
- rring="Epona's Ring",
- back="Letalis Mantle",
- waist="Windbuffet Belt +1",
- legs="Samnuha Tights",
- feet="Taeon Boots"}
- --8+4+5+6+4=27 haste
- sets.engaged.TPacc = set_combine(sets.engaged.TPnormal, {
- ammo="Honed Tathlum",
- lring="Patricius Ring",
- rring="Chirich Ring",
- back="Canny Cape",
- waist="Kentarch Belt"})
- --8+4+5+6+4=27 haste
- sets.engaged.PDT = set_combine(sets.engaged.TPnormal, {
- ammo="Staunch Tathlum",
- head="Meghanada Visor +2",
- neck="Loricate Torque +1",
- lear="Digni. Earring",
- rear="Telos Earring",
- body="Meg. Cuirie +2",
- hands="Meg. Gloves +2",
- lring="Defending Ring",
- rring="Patricius Ring",
- waist="Sailfi Belt +1",
- legs="Meg. Chausses +2",
- feet="Meg. Jam. +2"})
- -- Haste: 4+2+4+9+4+2 = 25
- sets.engaged.TPtreasure = {
- hands="Plun. Armlets +1",
- feet="Skulk. Poulaines +1"}
- sets.aftercast.TP = sets.engaged[TP_Array[TP_Index]]
- sets.aftercast.TH = sets.engaged[TH_Array[TH_Index]]
- -------------------------------------------
- -- DEX WS : Wasp Sting, Viper Bite, Mandalic Stab, Eviceration, Rudra's Storm
- -- Eviceration is built for crit hit (Dex2 sets below)
- -- So it's easy to determine if new obtained gear can replace anything, listed dex stats per piece
- -------------------------------------------
- sets.precast.Normal.WSDex = {
- ammo="Ginsen",
- head="Lilitu Headpiece", --26+10aug, 3 wsd
- neck="Fotia Gorget",
- lear="Moonshade Earring",
- rear="Ishvara Earring", --2 wsd
- body="Skulker's Vest +1", --36
- hands="Meg. Gloves +2", --50, 7 wsd
- lring="Ilabrat Ring", --10
- rring="Epona's Ring",
- back="Letalis Mantle",
- waist="Fotia Belt",
- legs="Herculean Trousers", --9 wsd
- feet="Herculean Boots"} --24+4aug, 4 wsd
- sets.precast.Acc.WSDex = set_combine(sets.precast.Normal.WSDex, {
- ammo="Honed Tathlum",
- head="Skulker's Bonnet +1", --33
- back="Grounded Mantle",
- legs="Samnuha Tights", --10
- feet="Pill. Poulaines +1"}) --24
- sets.precast.Normal.WSDex2 = set_combine(sets.precast.Normal.WSDex, {
- ammo="Yetshila",
- head="Pill. Bonnet +1",
- body="Meg. Cuirie +2",
- hands="Pill. Armlets +1",
- legs="Pill. Culottes +1"})
- sets.precast.Acc.WSDex2 = set_combine(sets.precast.Acc.WSDex, {
- ammo="Yetshila",
- head="Pill. Bonnet +1",
- body="Meg. Cuirie +2",
- hands="Pill. Armlets +1",
- legs="Pill. Culottes +1"})
- -------------------------------------------
- -- DEX/CHR WS Mix : Shadowstitch, Dancing Edge
- -- Shadowstitch is pure CHR but no point making a pure chr set for it
- -- So it's easy to determine if new obtained gear can replace anything, listed dex/chr stats per piece
- -------------------------------------------
- sets.precast.Normal.WSDexChr = {
- ammo="Ginsen",
- head="Lilitu Headpiece", --35/18
- neck="Fotia Gorget",
- lear="Moonshade Earring",
- rear="Sherida Earring", --5/0
- body="Skulker's Vest +1", --41/21
- hands="Meg. Gloves +2", --50/27, 7 wsd
- lring="Ilabrat Ring", --10/0
- rring="Epona's Ring",
- back="Letalis Mantle",
- waist="Fotia Belt",
- legs="Herculean Trousers", --0/10, 9 wsd
- feet="Herculean Boots"} --24+4aug/26, 4 wsd
- sets.precast.Acc.WSDexChr = set_combine(sets.precast.Normal.WSDexChr, {
- ammo="Honed Tathlum",
- head="Skulker's Bonnet +1", --33/18
- back="Grounded Mantle",
- feet="Pill. Poulaines +1"}) --24/30
- -------------------------------------------
- -- DEX/AGI WS Mix : Shark Bite
- -- So it's easy to determine if new obtained gear can replace anything, listed dex/agi stats per piece
- -------------------------------------------
- sets.precast.Normal.WSDexAgi = {
- ammo="Ginsen",
- head="Lilitu Headpiece", --35/22
- neck="Fotia Gorget",
- lear="Moonshade Earring",
- rear="Ishvara Earring", --2 wsd
- body="Herculean Vest", --34/30+12aug, 3 wsd
- hands="Meg. Gloves +2", --50/19, 7 wsd
- lring="Ilabrat Ring", --10/10
- rring="Epona's Ring",
- back="Canny Cape", --0/6
- waist="Fotia Belt",
- legs="Herculean Trousers", --0/32, 9 wsd
- feet="Herculean Boots"} --24+4aug/43, 4 wsd
- sets.precast.Acc.WSDexAgi = sets.precast.Normal.WSDexAgi
- -------------------------------------------
- -- STR WS : Mercy Stroke
- -- So it's easy to determine if new obtained gear can replace anything, listed str stats per piece
- -------------------------------------------
- sets.precast.Normal.WSStr = {
- ammo="Ginsen",
- head="Lilitu Headpiece", --22+10aug, 3wsd
- neck="Fotia Gorget",
- lear="Moonshade Earring",
- rear="Ishvara Earring",
- body="Herculean Vest", --28
- hands="Meg. Gloves +2", --23, 7 wsd
- lring="Ilabrat Ring", --10
- rring="Epona's Ring",
- back="Grounded Mantle",
- waist="Fotia Belt",
- legs="Herculean Trousers", --33, 9 wsd
- feet="Herculean Boots"} --16, 4 wsd
- sets.precast.Acc.WSStr = sets.precast.Normal.WSStr
- -------------------------------------------
- -- MND WS : Energy Steal, Energy Drain
- -- So it's easy to determine if new obtained gear can replace anything, listed mnd stats per piece
- -------------------------------------------
- sets.precast.Normal.WSMnd = {
- ammo="Pemphredo Tathlum",
- head="Herculean Helm", --16, 12 macc
- neck="Sanctity Necklace", --10 macc
- lear="Moonshade Earring",
- rear="Dignitary's Earring", --10 macc
- body="Samnuha Coat", --20, 23+15 macc
- hands="Leyline Gloves", --30, 18+15aug macc
- lring="Evanescence Ring", --10 drk mag
- rring="Archon Ring", --5 drk mag acc/mab
- back="Grounded Mantle",
- waist="Eschan Stone", --7 macc
- legs="Herculean Trousers", --15, 20 macc
- feet="Herculean Boots"} --11, 10+3aug macc
- sets.precast.Acc.WSMnd = sets.precast.Normal.WSMnd
- -------------------------------------------
- -- Magic WS Mix : Gust Slash, Cyclone, Aeolian Edge
- -- They have an Dex/Int Modifier so using that as a base and applying gear with MAB
- -- So it's easy to determine if new obtained gear can replace anything, listed dex/int stats per piece
- -------------------------------------------
- sets.precast.Normal.WSMAB = {
- ammo="Pemphredo Tathlum", --0/4 , 4 mab
- head=MABhead, --28/20, 32 mab, 3 wsd
- neck="Sanctity Necklace", --10 mab
- lear="Moonshade Earring",
- rear="Friomisi Earring", --10 mab
- body="Samnuha Coat", --33/20, 20+15 mab
- hands="Leyline Gloves", --35/12
- lring="Acumen Ring", --0/2, 4 mab
- rring="Dingir Ring", --10 mab
- back="Letalis Mantle",
- waist="Eschan Stone", --7 mab
- legs=MABlegs, --0/29, 20 mab, 9 wsd
- feet=MABfeet} --24+4aug/0, 10+25aug mab, 4 wsd
- sets.precast.Acc.WSMAB = sets.precast.Normal.WSMAB
- -------------------------------------------
- -- Other Melee ws'ing for random times a dagger isn't in use
- -- So it's easy to determine if new obtained gear can replace anything, listed str stats per piece
- -------------------------------------------
- sets.precast.Normal.WS = {
- head="Lilitu Headpiece", --22+10aug, 3 wsd
- neck="Fotia Gorget",
- lear="Ishvara Earring",
- rear="Moonshade Earring",
- body="Meg. Cuirie +2", --34
- hands="Meg. Gloves +2", --23
- lring="Apate Ring", --6
- rring="Rajas Ring", --5
- back="Letalis Mantle",
- waist="Fotia Belt",
- legs="Meg. Chausses +2", --40
- feet="Meg. Jam. +2"} --23
- sets.precast.Acc.WS = set_combine(sets.precast.Normal.WS, {
- rring="Cacoethic Ring"})
- -------------------------------------------
- -- Precast sets for fastcast spells
- -------------------------------------------
- sets.precast.Fastcast = set_combine(sets.engaged.TPnormal, {
- ammo="Impatiens",
- head=MABhead,
- neck="Voltsurge Torque",
- lear="Loquac. Earring",
- rear="Enchntr. Earring +1",
- body="Samnuha Coat",
- hands="Leyline Gloves",
- lring="Lebeche Ring",
- rring="Prolix Ring",
- waist="Sailfi Belt +1"})
- sets.precast.Utsusemi = set_combine(sets.precast.Fastcast, {
- neck="Magoraga Beads",
- body="Passion Jacket"})
- -------------------------------------------
- -- Job Ability sets
- -- The sets.buff is used when a particular JA requires gear to be worn during the duration of the buff
- -- and not just at the point of activation like the rest. Rules for both are in the function for precast
- -------------------------------------------
- sets.precast["Perfect Dodge"] = {hands="Plun. Armlets +1"}
- sets.precast.Steal = {hands="Pill. Armlets +1", legs="Pill. Culottes +1", feet="Pill. Poulaines +1"}
- sets.precast["Sneak Attack"] = {hands="Skulk. Armlets +1"}
- sets.precast.Flee = {feet="Pill. Poulaines +1"}
- sets.precast["Trick Attack"] = {hands="Pill. Armlets +1"}
- sets.precast.Mug = {head="Plun. Bonnet +1"}
- sets.precast.Hide = {body="Pillager's Vest +1"}
- sets.precast.Accomplice = {head="Skulker's Bonnet +1"}
- sets.precast.Collaborator = {head="Skulker's Bonnet +1"}
- sets.precast["Assassin's Charge"] = {feet="Plun. Poulaines +1"}
- sets.precast.Feint = {legs="Plun. Culottes +1"}
- sets.precast.Despoil = {legs="Skulk. Culottes +1", feet="Skulk. Poulaines +1"}
- sets.precast.Conspirator = {body="Skulker's Vest +1"}
- sets.precast.Waltz = {hands="Slither Gloves +1",legs=MABlegs}
- send_command('input /macro book 10')
- end
- function precast(spell,action)
- equip_sets = {}
- if sets.precast[spell.english] then
- equip(sets.precast[spell.english])
- elseif spell.type == 'WeaponSkill' then
- if sets.aftercast.TP == sets.engaged.TPnormal then
- mode = "Normal"
- else
- mode = "Acc"
- end
- if Dex_WS:contains(spell.english) then
- equip_sets[#equip_sets+1] = sets.precast[mode].WSDex
- elseif Dex2_WS:contains(spell.english) then
- equip_sets[#equip_sets+1] = sets.precast[mode].WSDex2
- elseif Dex3_WS:contains(spell.english) then
- equip_sets[#equip_sets+1] = sets.precast.Acc.WSDex
- elseif DexChr_WS:contains(spell.english) then
- equip_sets[#equip_sets+1] = sets.precast[mode].WSDexChr
- -- elseif DexAgi_WS:contains(spell.english) then
- -- equip_sets[#equip_sets+1] = sets.precast[mode]WSDexAgi
- -- elseif Str_WS:contains(spell.english) then
- -- equip_sets[#equip_sets+1] = sets.precast[mode]WSStr
- -- elseif Mnd_WS:contains(spell.english) then
- -- equip_sets[#equip_sets+1] = sets.precast[mode]WSMnd
- elseif MAB_WS:contains(spell.english) then
- equip_sets[#equip_sets+1] = sets.precast[mode].WSMAB
- else equip_sets[#equip_sets+1] = sets.precast[mode].WS
- end
- if TH_Array == 'TPtreasure' then
- equip_sets[#equip_sets+1] = sets.engaged.TPtreasure
- end
- end
- for buff in pairs(buffactive) do
- equip_sets[#equip_sets+1] = sets.buffs[buff]
- end
- equip(set_combine(table.unpack(equip_sets)))
- end
- function midcast(spell,action)
- if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
- if windower.wc_match(spell.english,'Utsusemi') then
- if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then -- Cancel Copy Image 1 & 2 For Utsusemi: Ichi --
- send_command('@wait 1.7;cancel Copy Image*')
- end
- elseif spell.english == 'Monomi: Ichi' then -- Cancel Sneak --
- if buffactive['Sneak'] then
- send_command('@wait 1.7;cancel sneak')
- end
- elseif spell.skill == 'Elemental Magic' or spell.skill == 'Enfeebling Magic' then
- if TH_Array == 'TPtreasure' then
- equip(set_combine(sets.precast.Fastcast,sets.engaged.TPtreasure))
- send_command('@input /echo th')
- else
- equip(sets.precast.Fastcast)
- send_command('@input /echo not th')
- end
- else
- equip(sets.precast.Fastcast)
- end
- end
- end
- function aftercast(spell)
- if player.status == 'Engaged' then
- equip(sets.aftercast.TP)
- equip(sets.aftercast.TH)
- else
- equip(sets.aftercast.Idle)
- end
- end
- function status_change(new,old)
- if new == 'Idle' then
- equip(sets.aftercast.Idle)
- elseif new == 'Resting' then
- equip(sets.aftercast.Resting)
- elseif new == 'Engaged' then
- equip(sets.aftercast.TP)
- equip(sets.aftercast.TH)
- end
- end
- -------------------------------------------
- -- The 'self command' allows you to toggle inbetween sets, based on the TP and TH Arrays identified in the beginning
- -- The TP_Array toggles between a normal, acc, and pdt set
- -- The TH_Array activates Treasure Hunter gear to be used in combination to whatever TP set is active
- -- I binded my ctrl+q & ctrl+w keys in the 'init.txt' file (in the Scripts folder) for the TP and RA toggling
- -- Without being bound, the manual command to toggle would be //gs c toggle TP set & //gs c toggle RA set
- -- The RA command is for my ranger/cor sets but I'm using it to also activate TH, so I didnt have to bind a 3rd button
- -------------------------------------------
- function self_command(command)
- if command == 'toggle TP set' then
- TP_Index = (TP_Index % #TP_Array) + 1
- sets.aftercast.TP = sets.engaged[TP_Array[TP_Index]]
- status_change(player.status, player.status)
- send_command('@input /echo '..TP_Array[TP_Index]..' SET')
- end
- if command == 'toggle RA set' then
- TH_Index = (TH_Index % #TH_Array) + 1
- sets.aftercast.TH = sets.engaged[TH_Array[TH_Index]]
- status_change(player.status, player.status)
- send_command('@input /echo '..TH_Array[TH_Index]..' SET')
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment