Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- *** Credit goes to Flippant for helping me with Gearswap *** --
- -- ** I Use Some of Motenten's Functions ** --
- function get_sets()
- AccIndex = 1
- AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. Default ACC Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
- IdleIndex = 1
- IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
- Armor = 'None'
- target_distance = 5 -- Set Default Distance Here --
- select_default_macro_book() -- Change Default Macro Book At The End --
- sc_map = {SC1="Resolution", SC2="Berserk", SC3="Aggressor"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
- sets.Idle = {main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
- sub="Refined Grip +1",
- ammo="Staunch Tathlum",
- head="Turms Cap",
- body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
- hands="Erilaz Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Erilaz Greaves +1",
- neck="Loricate Torque +1",
- waist="Flume Belt +1",
- left_ear="Sanare Earring",
- right_ear="Genmei Earring",
- left_ring="Gelatinous Ring +1",
- right_ring="Defending Ring",
- back="Shadow Mantle"}
- -- Idle/Town Sets --
- sets.Idle.Regen = {main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
- sub="Refined Grip +1",
- ammo="Staunch Tathlum",
- head={ name="Fu. Bandeau +1", augments={'Enhances "Battuta" effect',}},
- body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
- hands="Erilaz Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Erilaz Greaves +1",
- neck="Loricate Torque +1",
- waist="Flume Belt +1",
- left_ear="Sanare Earring",
- right_ear="Genmei Earring",
- left_ring="Woltaris Ring +1",
- right_ring="Defending Ring",
- back="Shadow Mantle"}
- sets.Idle.Movement = set_combine(sets.Idle.Regen,{main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
- sub="Refined Grip +1",
- ammo="Staunch Tathlum",
- head={ name="Fu. Bandeau +1", augments={'Enhances "Battuta" effect',}},
- body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
- hands="Erilaz Gauntlets +1",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Erilaz Greaves +1",
- neck="Loricate Torque +1",
- waist="Flume Belt +1",
- left_ear="Sanare Earring",
- right_ear="Genmei Earring",
- left_ring="Gelatinous Ring +1",
- right_ring="Defending Ring",
- back="Shadow Mantle"})
- -- TP Sets --
- sets.TP = {Main="Lionheart",
- sub="Utu Grip",
- ammo="Yamarang",
- head={ name="Dampening Tam", augments={'DEX+10','Accuracy+15','Mag. Acc.+15','Quadruple Attack +3',}},
- body={ name="Herculean Vest", augments={'Accuracy+29','"Triple Atk."+4','DEX+3',}},
- hands="Adhemar Wristbands +1",
- legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}},
- feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+4',}},
- neck="Clotharius Torque",
- waist="Windbuffet Belt +1",
- left_ear="Telos Earring",
- right_ear="Sherida Earring",
- left_ring="Niqmaddu Ring",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- right_ring="Epona's Ring"}
- sets.TP.MidACC = set_combine(sets.TP,{
- })
- sets.TP.HighACC = set_combine(sets.TP.MidACC,{})
- -- TP Swordplay Set
- sets.TP.Swordplay = {}
- -- PDT/MDT Sets --
- sets.PDT = {main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
- sub="Refined Grip +1",
- ammo="Staunch Tathlum",
- head={ name="Fu. Bandeau +1", augments={'Enhances "Battuta" effect',}},
- body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
- hands="Turms Mittens",
- legs="Eri. Leg Guards +1",
- feet="Turms Leggings",
- neck="Loricate Torque +1",
- waist="Flume Belt +1",
- left_ear="Sanare Earring",
- right_ear="Eabani Earring",
- left_ring="Gelatinous Ring +1",
- right_ring="Defending Ring",
- back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}}}
- sets.MDT = set_combine(sets.PDT,{
- ammo="Vanir Battery",
- ear1="Etiolation earring",
- head="Erilaz Galea +1",
- right_ring="Dark ring",
- hands="Futhark mitons +1",
- body="Runeist coat +1",
- back="Engulfer cape +1"})
- -- Hybrid Sets --
- sets.TP.Hybrid = set_combine(sets.PDT,{main="Hepatizon Axe +1",
- sub="Utu Grip",
- ammo="Staunch Tathlum",
- head="Meghanada Visor +2",
- body="Ayanmo Corazza +2",
- hands={ name="Adhemar Wrist. +1", augments={'DEX+12','AGI+12','Accuracy+20',}},
- legs="Meg. Chausses +2",
- feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+4',}},
- neck="Loricate Torque +1",
- waist="Flume Belt +1",
- left_ear="Telos Earring",
- right_ear="Genmei Earring",
- left_ring="Gelatinous Ring +1",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- right_ring="Defending Ring"})
- sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
- sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
- -- WS Base Set --
- sets.WS = {ammo="Seeth. Bomblet +1",
- head="Adhemar Bonnet +1",
- body="Adhemar Jacket +1",
- hands={ name="Herculean Gloves", augments={'Accuracy+23 Attack+23','Crit. hit damage +4%','STR+10','Accuracy+10','Attack+1',}},
- legs="Meghanada Chausses +2",
- feet={ name="Herculean Boots", augments={'Accuracy+13 Attack+13','"Triple Atk."+1','STR+12','Accuracy+7','Attack+6',}},
- neck="Fotia Gorget",
- waist="Fotia Belt",
- right_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +25',}},
- left_ear="Telos Earring",
- left_ring="Regal Ring",
- back={ name="Ogma's cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},
- right_ring="Epona's Ring"}
- -- WS Sets --
- sets.WS.Resolution = {
- ammo="Seeth. Bomblet +1",
- head="Adhemar Bonnet +1",
- body="Adhemar Jacket +1",
- hands={ name="Herculean Gloves", augments={'Accuracy+23 Attack+23','Crit. hit damage +4%','STR+10','Accuracy+10','Attack+1',}},
- legs="Meghanada Chausses +2",
- feet={ name="Herculean Boots", augments={'Accuracy+13 Attack+13','"Triple Atk."+1','STR+12','Accuracy+7','Attack+6',}},
- neck="Fotia Gorget",
- waist="Fotia Belt",
- left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +25',}},
- right_ear="Sherida Earring",
- left_ring="Niqmaddu Ring",
- back={ name="Ogma's cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},
- right_ring="Epona's Ring"}
- sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{})
- sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{})
- sets.WS.SavageBlade = {
- head="Lilitu headpiece",
- body="Adhemar jacket",
- ear1="Moonshade earring",
- ear2="Ishvara earring",
- left_ring="Ifrit ring +1",
- right_ring="Ifrit ring +1",
- ammo="Seething bomblet +1",
- back="Phalangite Mantle",
- legs="Meghanada Chausses +2",
- neck="Fotia gorget",
- waist="Fotia belt"}
- sets.WS.SavageBlade.MidACC = set_combine(sets.WS.SavageBlade,{})
- sets.WS.SavageBlade.HighACC = set_combine(sets.WS.SavageBlade.MidACC,{})
- sets.WS.Dimidiation = {
- head="Lilitu Headpiece",
- neck="Fotia gorget",
- hands="Meghanada Gloves +2",
- body="Adhemar Jacket +1",
- ammo="Seething Bomblet +1",
- ear1="Moonshade earring",
- ear2="Ishvara earring",
- waist="Fotia belt",
- legs="Lusratio Subligar +1",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},
- feet={ name="Herculean Boots", augments={'Accuracy+4 Attack+4','Weapon skill damage +5%','DEX+8','Accuracy+12','Attack+13',}},
- left_ring="Ilabrat ring",
- right_ring="Regal ring"}
- sets.WS.Dimidiation.MidACC = set_combine(sets.WS.Dimidiation,{})
- sets.WS.Dimidiation.HighACC = set_combine(sets.WS.Dimidiation.MidACC,{})
- sets.WS.Requiescat = {
- head="Adhemar Bonnet +1",
- body="Adhemar jacket +1",
- ear1="Moonshade earring",
- ear2="Ishvara earring",
- left_ring="Ifrit ring +1",
- right_ring="Ifrit ring +1",
- ammo="Seething bomblet +1",
- back="Phalangite Mantle",
- legs={ name="Herculean Trousers", augments={'Attack+14','Phys. dmg. taken -1%','STR+15','Accuracy+15',}},
- neck="Fotia gorget",
- waist="Fotia belt"}
- sets.WS.Requiescat.MidACC = set_combine(sets.WS.Requiescat,{})
- sets.WS.Requiescat.HighACC = set_combine(sets.WS.Requiescat.MidACC,{})
- sets.WS.Upheaval = {}
- sets.WS.Upheaval.MidACC = set_combine(sets.WS.Upheaval,{})
- sets.WS.Upheaval.HighACC = set_combine(sets.WS.Upheaval.MidACC,{})
- -- Enmity Set --
- sets.Enmity = {
- head="Halitus Helm",
- body="Emet harness +1",
- waist="Goading belt",
- ammo="Sapience Orb",
- back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}},
- left_ring="Provocare ring",
- right_ring="Eihwaz ring",
- ear1="Cryptic Earring",
- ear2="Friomisi earring",
- neck="Unmoving Collar +1",
- hands="Kurys gloves",
- legs="Eri. leg Guards +1",
- feet="Erilaz greaves +1"}
- sets.JA = {}
- -- JA Sets --
- sets.JA.Lunge = {
- ammo="Seething Bomblet",
- head={ name="Herculean Helm", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Weapon skill damage +4%','STR+4','"Mag.Atk.Bns."+11',}},
- body={ name="Samnuha Coat", augments={'Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+5','"Dual Wield"+5',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Herculean Trousers", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +4%','INT+3','Mag. Acc.+14','"Mag.Atk.Bns."+14',}},
- feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +1%','INT+8','Mag. Acc.+5','"Mag.Atk.Bns."+4',}},
- neck="Sanctity Necklace",
- waist="Eschan Stone",
- left_ear="Friomisi Earring",
- right_ear="Crematio Earring",
- left_ring="Mujin Band",
- right_ring="Locus Ring",
- back="Toro Cape"}
- sets.JA.Swipe = set_combine(sets.Lunge,{})
- sets.JA.Vallation = set_combine(sets.Enmity,{body="Runeist Coat +1", back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}}, legs="Futhark Trousers +1"})
- sets.JA.Swordplay = set_combine(sets.Enmity,{hands="Futhark Mitons +1"})
- sets.JA.Pflug = set_combine(sets.Enmity,{feet="Runeist Bottes +3"})
- sets.JA.Valiance = set_combine(sets.Enmity,{ back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}}, body="Runeist Coat +1"})
- sets.JA.Embolden = set_combine(sets.Enmity,{back="Evasionist's Cape", legs="Futhark Trousers +1",head="Erilaz Galea +1"})
- sets.JA.Gambit = set_combine(sets.Enmity,{hands="Runeist's Mitons +3"})
- sets.JA.Liement = set_combine(sets.Enmity,{body="Futhark Coat +1"})
- sets.JA["One For All"] = set_combine(sets.Enmity)
- sets.JA.Battuta = set_combine(sets.Enmity,{head="Futhark Bandeau +1"})
- sets.JA.Rayke = set_combine(sets.Enmity,{feet="Futhark Boots"})
- sets.JA['Elemental Sforzo'] = set_combine(sets.Enmity,{body="Futhark Coat"})
- sets.JA['Vivacious Pulse'] = set_combine(sets.Enmity,{head="Erilaz Galea +1",
- legs="Runeist Trousers +3",
- neck="Incanter's Torque",
- ear1="Beatific Earring",
- waist="Bishop's Sash",
- left_ring="Stikini Ring",
- right_ring="Globidonta Ring",
- back="Altruistic Cape"})
- sets.JA.Provoke = set_combine(sets.Enmity)
- sets.JA.Warcry = set_combine(sets.Enmity)
- -- Waltz Set --
- sets.Waltz = {}
- -- Flourish --
- sets.Flourish = {}
- sets.Precast = {}
- -- Fastcast Set --
- sets.Precast.FastCast = {back={ name="Ogma's cape", augments={'HP+60','"Fast Cast"+10',}},
- ammo="Sapience Orb",
- head="Carmine Mask +1",
- body={ name="Taeon Tabard", augments={'"Fast Cast"+4',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs="Ayanmo Cosciales +2",
- feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}},
- neck="Orunmila's Torque",
- waist="Flume Belt",
- left_ear="Loquac. Earring",
- right_ear="Etiolation Earring",
- left_ring="Kishar Ring",
- right_ring="Prolix Ring"
- }
- -- Utsusemi Precast Set --
- sets.Precast.Utsusemi = set_combine(sets.Precast.FastCast,{})
- -- Precast Enhancing Magic --
- sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{
- legs="Futhark Trousers +1"})
- -- Midcast Base Set --
- sets.Midcast = {left_ring="Moonbeam ring",
- back="Moonbeam Cape",
- ammo="Staunch Tathlum",
- hands="Rawhide gloves",
- head={ name="Taeon Chapeau", augments={'Spell interruption rate down -8%',}},
- body={ name="Taeon Tabard", augments={'Spell interruption rate down -10%',}},
- ear1="Halasz earring",
- waist="Rumination sash",
- feet={ name="Taeon Boots", augments={'Spell interruption rate down -9%',}},
- right_ring="Evanescence ring",
- ear2="Dignitary's earring",
- neck="Willpower Torque",
- legs="Carmine cuisses +1"}
- -- Magic Haste Set --
- sets.Midcast.Haste = {back="Moonbeam Cape",
- left_ring="Moonbeam ring",
- ammo="Staunch Tathlum",
- hands="Rawhide gloves",
- head={ name="Taeon Chapeau", augments={'Spell interruption rate down -8%',}},
- body={ name="Taeon Tabard", augments={'Spell interruption rate down -10%',}},
- ear1="Halasz earring",
- waist="Rumination sash",
- feet={ name="Taeon Boots", augments={'Spell interruption rate down -9%',}},
- right_ring="Evanescence ring",
- ear2="Dignitary's earring",
- neck="Willpower Torque",
- legs="Carmine cuisses +1"}
- -- Flash Set --
- sets.Midcast.Flash = {
- head="Halitus Helm",
- body="Emet harness +1",
- waist="Goading belt",
- ammo="Sapience Orb",
- back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}},
- left_ring="Provocare ring",
- right_ring="Eihwaz ring",
- ear1="Cryptic Earring",
- ear2="Friomisi earring",
- neck="Unmoving Collar +1",
- hands="Kurys gloves",
- legs="Eri. leg Guards +1",
- feet="Erilaz greaves +1"}
- -- Enhancing Magic --
- sets.Midcast['Enhancing Magic'] = {
- neck="Incanter's torque",
- ear1="Andoaa earring",
- ear2="Augmenting Earring",
- waist="Olympus sash",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back="Evasionist's Cape",
- head="Erilaz Galea +1",
- hands="Runeist's Mitons +3",
- legs="Carmine Cuisses +1"}
- sets.Midcast.Temper = {main="Pukulatmuj +1",
- neck="Incanter's torque",
- ear1="Andoaa earring",
- body="Manasa Chasuble",
- ear2="Augmenting Earring",
- waist="Olympus sash",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back="Evasionist's Cape",
- head="Carmine Mask +1",
- hands="Runeist's Mitons +3",
- legs="Carmine Cuisses +1"}
- -- Cure Set --
- sets.Midcast.Cure = {
- ammo="Impatiens",
- hands="Buremte gloves",
- head={ name="Taeon Chapeau", augments={'"Cure" potency +5%',}},
- legs={ name="Taeon Tights", augments={'"Cure" potency +5%',}},
- feet={ name="Taeon Boots", augments={'"Cure" potency +4%',}},
- body="Vrikodara Jupon",
- waist="Gishdubar sash",
- back={ name="Ogma's cape", augments={'"Cure" potency +10%',}},
- left_ring="Asklepian ring",
- right_ring="Kunaji ring",
- ear1="Mendicant's earring",
- ear2="Roundel earring",
- neck="Incanter's torque"}
- -- Self Cure Set --
- sets.Midcast.SelfCure = set_combine(sets.Midcast.Cure,{
- ammo="Impatiens",
- hands="Buremte gloves",
- head={ name="Taeon Chapeau", augments={'"Cure" potency +5%',}},
- legs={ name="Taeon Tights", augments={'"Cure" potency +5%',}},
- feet={ name="Taeon Boots", augments={'"Cure" potency +4%',}},
- body="Vrikodara Jupon",
- waist="Gishdubar sash",
- back={ name="Ogma's cape", augments={'"Cure" potency +10%',}},
- left_ring="Asklepian ring",
- right_ring="Kunaji ring",
- ear1="Mendicant's earring",
- ear2="Roundel earring",
- neck="Incanter's torque"})
- -- Stoneskin --
- sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{})
- -- Phalanx --
- sets.Midcast.Phalanx = set_combine(sets.Midcast['Enhancing Magic'],{main="Deacon Sword", head="Futhark bandeau +1",body={ name="Taeon Tabard", augments={'Spell interruption rate down -10%','Phalanx +3',}},
- hands={ name="Taeon Gloves", augments={'Phalanx +3',}},
- legs={ name="Taeon Tights", augments={'Phalanx +3',}},
- feet={ name="Taeon Boots", augments={'Spell interruption rate down -9%','Phalanx +3',}}, })
- -- Foil --
- sets.Midcast.Foil = {head="Halitus Helm",
- body="Emet harness +1",
- waist="Goading belt",
- ammo="Sapience Orb",
- back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}},
- left_ring="Provocare ring",
- right_ring="Eihwaz ring",
- ear1="Cryptic Earring",
- ear2="Friomisi earring",
- neck="Unmoving Collar +1",
- hands="Kurys gloves",
- legs="Eri. leg Guards +1",
- feet="Erilaz greaves +1"}
- -- Regen --
- sets.Midcast.Regen = {}
- -- Divine Magic --
- sets.Midcast['Divine Magic'] = {}
- end
- function pretarget(spell,action)
- if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
- cancel_spell()
- send_command('input /item "Echo Drops" <me>')
- elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
- cancel_spell()
- send_command('Aggressor')
- elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Out of Range]')
- return
- end
- end
- function precast(spell,action)
- if spell.type == "WeaponSkill" then
- if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
- cancel_spell()
- add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
- return
- else
- equipSet = sets.WS
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
- equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
- end
- equip(equipSet)
- end
- elseif spell.type == "JobAbility" or spell.type == "Ward" or spell.type == "Effusion" then
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- end
- elseif spell.type == "Rune" then
- equip(sets.Enmity)
- elseif spell.action_type == 'Magic' then
- if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
- return
- else
- if spell.english:startswith('Utsusemi') then
- if spell.english == 'Utsusemi: Ni' then
- if buffactive['Copy Image (3)'] then
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
- return
- else
- equip(sets.Precast.Utsusemi)
- end
- else
- equip(sets.Precast.Utsusemi)
- end
- elseif sets.Precast[spell.skill] then
- equip(sets.Precast[spell.skill])
- else
- equip(sets.Precast.FastCast)
- end
- end
- elseif spell.type:endswith('Flourish') then
- if spell.english == "Animated Flourish" then
- equip(sets.Enmity)
- else
- equip(sets.Flourish)
- end
- elseif spell.type == "Waltz" then
- refine_waltz(spell,action)
- equip(sets.Waltz)
- elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
- cast_delay(0.2)
- send_command('cancel Sneak')
- end
- end
- function midcast(spell,action)
- equipSet = {}
- if spell.action_type == 'Magic' then
- equipSet = sets.Midcast
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- elseif spell.english:startswith('Protect') or spell.english:startswith('Shell') then
- equipSet = equipSet.Haste
- if spell.target.name == player.name then
- equipSet = set_combine(equipSet,{ring2="Sheltered Ring"})
- end
- elseif (string.find(spell.english,'Cur') or spell.english == "Wild Carrot" or spell.english == "Healing Breeze") and spell.english ~= "Cursna" then
- if spell.target.name == player.name then
- equipSet = equipSet.SelfCure
- else
- equipSet = equipSet.Cure
- end
- elseif spell.english == "Stoneskin" then
- if buffactive.Stoneskin then
- send_command('@wait 2.8;cancel stoneskin')
- end
- equipSet = equipSet.Stoneskin
- elseif spell.english == "Sneak" then
- if spell.target.name == player.name and buffactive['Sneak'] then
- send_command('cancel sneak')
- end
- equipSet = equipSet.Haste
- elseif spell.english:endswith('Spikes') then
- equipSet = equipSet.Haste
- elseif spell.english:startswith('Utsusemi') then
- if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then
- send_command('@wait 1.7;cancel Copy Image*')
- end
- equipSet = equipSet.Haste
- elseif spell.english == 'Monomi: Ichi' then
- if buffactive['Sneak'] then
- send_command('@wait 1.7;cancel sneak')
- end
- equipSet = equipSet.Haste
- elseif equipSet[spell.skill] then
- equipSet = equipSet[spell.skill]
- end
- elseif equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- equip(equipSet)
- end
- function aftercast(spell,action)
- if spell.type == "WeaponSkill" and not spell.interrupted then
- send_command('wait 0.2;gs c TP')
- end
- status_change(player.status)
- end
- function status_change(new,old)
- check_equip_lock()
- if Armor == 'PDT' then
- equip(sets.PDT)
- elseif Armor == 'MDT' then
- equip(sets.MDT)
- elseif new == 'Engaged' then
- equipSet = sets.TP
- if Armor == 'Hybrid' and equipSet["Hybrid"] then
- equipSet = equipSet["Hybrid"]
- end
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- if buffactive.Swordplay then
- equipSet = set_combine(equipSet,sets.TP.Swordplay)
- end
- equip(equipSet)
- else
- equipSet = sets.Idle
- if equipSet[IdleArray[IdleIndex]] then
- equipSet = equipSet[IdleArray[IdleIndex]]
- end
- if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
- equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
- end
- if world.area:endswith('Adoulin') then
- equipSet = set_combine(equipSet,{body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','"Dbl.Atk."+3','STR+10','"Mag.Atk.Bns."+10',}},})
- end
- equip(equipSet)
- end
- end
- function buff_change(buff,gain)
- buff = string.lower(buff)
- if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
- if gain then
- send_command('timers create "Aftermath: Lv.3" 180 down;wait 150;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 15;input /echo Aftermath: Lv.3 [WEARING OFF IN 15 SEC.];wait 5;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
- else
- send_command('timers delete "Aftermath: Lv.3"')
- add_to_chat(123,'AM3: [OFF]')
- end
- elseif buff == 'weakness' then -- Weakness Timer --
- if gain then
- send_command('timers create "Weakness" 300 up')
- else
- send_command('timers delete "Weakness"')
- end
- end
- if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
- equip({head="Frenzy sallet"})
- else
- if not midaction() then
- status_change(player.status)
- end
- end
- end
- -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
- function self_command(command)
- if command == 'C1' then -- Accuracy Level Toggle --
- AccIndex = (AccIndex % #AccArray) + 1
- add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
- status_change(player.status)
- elseif command == 'C5' then -- Auto Update Gear Toggle --
- status_change(player.status)
- add_to_chat(158,'Auto Update Gear')
- elseif command == 'C2' then -- Hybrid Toggle --
- if Armor == 'Hybrid' then
- Armor = 'None'
- add_to_chat(123,'Hybrid Set: [Unlocked]')
- else
- Armor = 'Hybrid'
- add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
- end
- status_change(player.status)
- elseif command == 'C7' then -- PDT Toggle --
- if Armor == 'PDT' then
- Armor = 'None'
- add_to_chat(123,'PDT Set: [Unlocked]')
- else
- Armor = 'PDT'
- add_to_chat(158,'PDT Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C15' then -- MDT Toggle --
- if Armor == 'MDT' then
- Armor = 'None'
- add_to_chat(123,'MDT Set: [Unlocked]')
- else
- Armor = 'MDT'
- add_to_chat(158,'MDT Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C8' then -- Distance Toggle --
- if player.target.distance then
- target_distance = math.floor(player.target.distance*10)/10
- add_to_chat(158,'Distance: '..target_distance)
- else
- add_to_chat(123,'No Target Selected')
- end
- elseif command == 'C6' then -- Idle Toggle --
- IdleIndex = (IdleIndex % #IdleArray) + 1
- add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
- status_change(player.status)
- elseif command == 'TP' then
- add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
- elseif command:match('^SC%d$') then
- send_command('//' .. sc_map[command])
- end
- end
- function check_equip_lock() -- Lock Equipment Here --
- if player.equipment.left_ring == "Warp Ring" or player.equipment.left_ring == "Capacity Ring" or player.equipment.right_ring == "Warp Ring" or player.equipment.right_ring == "Capacity Ring" then
- disable('left_ring','right_ring')
- elseif player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Mecisto. Mantle" then
- disable('back')
- else
- enable('left_ring','right_ring','back')
- end
- end
- function refine_waltz(spell,action)
- if spell.type ~= 'Waltz' then
- return
- end
- if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
- return
- end
- local newWaltz = spell.english
- local waltzID
- local missingHP
- if spell.target.type == "SELF" then
- missingHP = player.max_hp - player.hp
- elseif spell.target.isallymember then
- local target = find_player_in_alliance(spell.target.name)
- local est_max_hp = target.hp / (target.hpp/100)
- missingHP = math.floor(est_max_hp - target.hp)
- end
- if missingHP ~= nil then
- if player.sub_job == 'DNC' then
- if missingHP < 40 and spell.target.name == player.name then
- add_to_chat(123,'Full HP!')
- cancel_spell()
- return
- elseif missingHP < 150 then
- newWaltz = 'Curing Waltz'
- waltzID = 190
- elseif missingHP < 300 then
- newWaltz = 'Curing Waltz II'
- waltzID = 191
- else
- newWaltz = 'Curing Waltz III'
- waltzID = 192
- end
- else
- return
- end
- end
- local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
- local tpCost = waltzTPCost[newWaltz]
- local downgrade
- if player.tp < tpCost and not buffactive.trance then
- if player.tp < 20 then
- add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
- cancel_spell()
- return
- elseif player.tp < 35 then
- newWaltz = 'Curing Waltz'
- elseif player.tp < 50 then
- newWaltz = 'Curing Waltz II'
- elseif player.tp < 65 then
- newWaltz = 'Curing Waltz III'
- elseif player.tp < 80 then
- newWaltz = 'Curing Waltz IV'
- end
- downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
- end
- if newWaltz ~= spell.english then
- send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
- if downgrade then
- add_to_chat(158, downgrade)
- end
- cancel_spell()
- return
- end
- if missingHP > 0 then
- add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
- end
- end
- function find_player_in_alliance(name)
- for i,v in ipairs(alliance) do
- for k,p in ipairs(v) do
- if p.name == name then
- return p
- end
- end
- end
- end
- function sub_job_change(newSubjob, oldSubjob)
- select_default_macro_book()
- end
- function set_macro_page(set,book)
- if not tonumber(set) then
- add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
- return
- end
- if set < 1 or set > 10 then
- add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
- return
- end
- if book then
- if not tonumber(book) then
- add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
- return
- end
- if book < 1 or book > 20 then
- add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
- return
- end
- send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
- else
- send_command('@input /macro set '..tostring(set))
- end
- end
- function select_default_macro_book()
- -- Default macro set/book
- if player.sub_job == 'BLU' then
- set_macro_page(1, 12)
- elseif player.sub_job == 'WAR' then
- set_macro_page(1, 12)
- elseif player.sub_job == 'SAM' then
- set_macro_page(1, 12)
- elseif player.sub_job == 'DNC' then
- set_macro_page(1, 12)
- elseif player.sub_job == 'NIN' then
- set_macro_page(1, 12)
- else
- set_macro_page(1, 12)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement