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 Motenten's refine_waltz function for Waltz. ** --
- -- Last Updated: 03/08/14 2:30 PM *Changed JA Names* --
- function get_sets()
- AccIndex = 1
- AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. Default ACC Set Is LowACC. The First TP Set Of Your Main Weapon Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
- ShieldIndex = 1
- ShieldArray = {"Ochain","Aegis"} -- 2 Types Of Shields --
- IdleIndex = 1
- IdleArray = {"Refresh","Regen"} -- Default Idle Set Is Movement --
- Armor = 'None'
- Twilight = 0
- Repulse = 'OFF' -- Set Default Repulse ON or OFF Here --
- target_distance = 6 -- Set Default Distance Here --
- send_command('input /macro book 19;wait .1;input /macro set 1') -- Change Default Macro Book Here --
- Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
- sc_map = {SC1="Flash", SC2="UtsusemiNi", SC3="UtsusemiIchi"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
- EnmityBlueMagic = S{"Jettatura","Sheep Song","Soporific","Blank Gaze","Geist Wall"} -- BlueMagic --
- -- Idle/Town Sets --
- sets.Idle = {}
- sets.Idle.Refresh = {
- ammo="Angha Gem",
- head="Twilight Helm",
- head="Wivre Hairpin",
- neck="Creed Collar",
- ear1="Ethereal Earring",
- ear2="Darkness Earring",
- body="Ares' Cuirass +1",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Paguroidea Ring",
- back="Shadow Mantle",
- waist="Flume Belt",
- legs="Blood Cuisses",
- feet="Cizin Greaves +1"}
- sets.Idle.Regen = set_combine(sets.Idle.Refresh,{
- head="Twilight Helm",
- neck="Wiglen Gorget"})
- sets.Resting = set_combine(sets.Idle.Refresh)
- sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
- -- TP Base Set --
- sets.TP = {
- ammo="Paeapua",
- head="Otomi Helm",
- neck="Portus Collar",
- ear1="Steelflash Earring",
- ear2="Bladeborn Earring",
- body="Xaddi Mail",
- hands="Xaddi Gauntlets",
- ring1="Rajas Ring",
- ring2="K'ayres Ring",
- back="Atheling Mantle",
- waist="Windbuffet Belt",
- legs="Ares' Flanchard +1",
- feet="Ejekamal Boots"}
- -- Ochain TP Sets --
- sets.TP.Ochain = {
- sub="Ochain",
- ammo="Paeapua",
- head="Otomi Helm",
- neck="Portus Collar",
- ear1="Steelflash Earring",
- ear2="Bladeborn Earring",
- body="Xaddi Mail",
- hands="Xaddi Gauntlets",
- ring1="Rajas Ring",
- ring2="K'ayres Ring",
- back="Atheling Mantle",
- waist="Windbuffet Belt",
- legs="Ares' Flanchard +1",
- feet="Ejekamal Boots"}
- sets.TP.Ochain.MidACC = set_combine(sets.TP.Ochain,{
- head="Yaoyotl Helm",
- body="Mes. Haubergeon",
- back="Letalis Mantle",
- feet="Whirlpool Greaves"})
- sets.TP.Ochain.HighACC = set_combine(sets.TP.Ochain.MidACC,{
- ammo="Ginsen",
- neck="Iqabi Necklace",
- ring1="Mars's Ring",
- ring2="Patricius Ring",
- waist="Anguinus Belt"})
- -- Aegis TP Sets --
- sets.TP.Aegis = {
- sub="Aegis",
- ammo="Paeapua",
- head="Otomi Helm",
- neck="Portus Collar",
- ear1="Steelflash Earring",
- ear2="Bladeborn Earring",
- body="Xaddi Mail",
- hands="Xaddi Gauntlets",
- ring1="Rajas Ring",
- ring2="K'ayres Ring",
- back="Atheling Mantle",
- waist="Windbuffet Belt",
- legs="Ares' Flanchard +1",
- feet="Ejekamal Boots"}
- sets.TP.Aegis.MidACC = set_combine(sets.TP.Aegis,{
- head="Yaoyotl Helm",
- body="Mes. Haubergeon",
- back="Letalis Mantle",
- feet="Whirlpool Greaves"})
- sets.TP.Aegis.HighACC = set_combine(sets.TP.Aegis.MidACC,{
- ammo="Ginsen",
- neck="Iqabi Necklace",
- ring1="Mars's Ring",
- ring2="Patricius Ring",
- waist="Anguinus Belt"})
- -- Ragnarok TP Sets --
- sets.TP.Ragnarok = {
- main="Ragnarok",
- sub="Duplus Grip",
- ammo="Paeapua",
- head="Otomi Helm",
- neck="Portus Collar",
- ear1="Steelflash Earring",
- ear2="Bladeborn Earring",
- body="Xaddi Mail",
- hands="Xaddi Gauntlets",
- ring1="Rajas Ring",
- ring2="K'ayres Ring",
- back="Atheling Mantle",
- waist="Windbuffet Belt",
- legs="Ares' Flanchard +1",
- feet="Ejekamal Boots"}
- sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{
- head="Yaoyotl Helm",
- body="Mes. Haubergeon",
- back="Letalis Mantle",
- feet="Whirlpool Greaves"})
- sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{
- ammo="Ginsen",
- neck="Iqabi Necklace",
- ring2="Patricius Ring"})
- -- Ragnarok(Ionis) TP Sets --
- sets.TP.Ragnarok.Ionis = set_combine(sets.TP.Ragnarok,{})
- sets.TP.Ragnarok.MidACC.Ionis = set_combine(sets.TP.Ragnarok.Ionis,{})
- sets.TP.Ragnarok.HighACC.Ionis = set_combine(sets.TP.Ragnarok.MidACC.Ionis,{})
- -- PDT/MDT/DT Sets --
- sets.PDT = {}
- sets.PDT.Ochain = {
- sub="Ochain",
- ammo="Angha Gem",
- head="Rev. Coronet +1",
- neck="Twilight Torque",
- ear1="Ethereal Earring",
- ear2="Creed Earring",
- body="Cab. Surcoat +1",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Patricius Ring",
- back="Shadow Mantle",
- waist="Flume Belt",
- legs="Cab. Breeches +1",
- feet="Rev. Leggings +1"}
- sets.PDT.Aegis = {
- sub="Aegis",
- ammo="Angha Gem",
- head="Rev. Coronet +1",
- neck="Twilight Torque",
- ear1="Ethereal Earring",
- ear2="Creed Earring",
- body="Cab. Surcoat +1",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Patricius Ring",
- back="Shadow Mantle",
- waist="Flume Belt",
- legs="Cab. Breeches +1",
- feet="Rev. Leggings +1"}
- sets.MDT = {}
- sets.MDT.Ochain = set_combine(sets.PDT.Ochain,{
- ammo="Vanir Battery",
- head="Rev. Coronet +1",
- neck="Twilight Torque",
- ear1="Ethereal Earring",
- ear2="Sanare Earring",
- body="Nocturnus Mail",
- hands="Rev. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Shadow Ring",
- back="Engulfer Cape",
- waist="Creed Baudrier",
- legs="Cab. Breeches +1",
- feet="Cab. Leggings +1"})
- sets.MDT.Aegis = set_combine(sets.PDT.Aegis,{
- ammo="Vanir Battery",
- head="Rev. Coronet +1",
- neck="Twilight Torque",
- ear1="Ethereal Earring",
- ear2="Sanare Earring",
- body="Nocturnus Mail",
- hands="Rev. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Shadow Ring",
- back="Engulfer Cape",
- waist="Creed Baudrier",
- legs="Cab. Breeches +1",
- feet="Cab. Leggings +1"})
- sets.DT = {}
- sets.DT.Ochain = set_combine(sets.PDT.Ochain,{
- sub="Ochain",
- ammo="Angha Gem",
- head="Laeradr Helm",
- neck="Twilight Torque",
- ear1="Ethereal Earring",
- ear2="Darkness Earring",
- body="Cab. Surcoat +1",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Dark Ring",
- back="Weard Mantle",
- waist="Nierenschutz",
- legs="Scuff. Cosciales",
- feet="Rev. Leggings +1"})
- sets.DT.Aegis = set_combine(sets.PDT.Aegis,{
- sub="Aegis",
- ammo="Angha Gem",
- head="Laeradr Helm",
- neck="Twilight Torque",
- ear1="Ethereal Earring",
- ear2="Darkness Earring",
- body="Cab. Surcoat +1",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Dark Ring",
- back="Weard Mantle",
- waist="Nierenschutz",
- legs="Scuff. Cosciales",
- feet="Rev. Leggings +1"})
- -- Weakness/Kiting/Repulse Sets --
- sets.Weakness = {}
- sets.Weakness.Ochain = set_combine(sets.PDT.Ochain,{head="Twilight Helm",body="Twilight Mail"})
- sets.Weakness.Aegis = set_combine(sets.PDT.Aegis,{head="Twilight Helm",body="Twilight Mail"})
- sets.Kiting = {}
- sets.Kiting.Ochain = set_combine(sets.PDT.Ochain,{
- ear2="Darkness Earring",
- legs="Blood Cuisses",
- feet="Cizin Greaves +1"})
- sets.Kiting.Aegis = set_combine(sets.PDT.Aegis,{
- ear2="Darkness Earring",
- legs="Blood Cuisses",
- feet="Cizin Greaves +1"})
- sets.Repulse = {}
- sets.Repulse.Ochain = {sub="Ochain",back="Repulse Mantle"}
- sets.Repulse.Aegis = {sub="Aegis",back="Repulse Mantle"}
- -- Hybrid/Shield Skill Sets --
- sets.TP.Hybrid = {}
- sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
- sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
- sets.TP.ShieldSkill = {}
- -- WS Base Set --
- sets.WS = {
- ammo="Cheruski Needle",
- head="Otomi Helm",
- neck="Portus Collar",
- lear="Moonshade Earring",
- rear="Brutal Earring",
- body="Mes. Haubergeon",
- hands="Miki. Gauntlets",
- ring1="Pyrosoul Ring",
- ring2="Pyrosoul Ring",
- back="Atheling Mantle",
- waist="Soil Belt",
- legs="Miki. Cuisses",
- feet="Ejekamal Boots"}
- -- WS Sets --
- sets.WS["Chant du Cygne"] = {
- ammo="Jukukik Feather",
- head="Otomi Helm",
- neck="Rancor Collar",
- ear1="Moonshade Earring",
- ear2="Brutal Earring",
- body="Mes. Haubergeon",
- hands="Cab. Gauntlets +1",
- ring1="Rajas Ring",
- ring2="Thundersoul Ring",
- back="Atheling Mantle",
- waist="Wanion Belt",
- legs="Hct. Subligar +1",
- feet="Ejekamal Boots"}
- sets.WS["Chant du Cygne"].MidACC = set_combine(sets.WS["Chant du Cygne"],{
- head="Yaoyotl Helm",
- hands="Miki. Gauntlets",
- Back="Letalis Mantle",
- feet="Whirlpool Greaves"})
- sets.WS["Chant du Cygne"].HighACC = set_combine(sets.WS["Chant du Cygne"].MidACC,{
- ear2="Heartseeker Earring"})
- sets.WS.Requiescat = {
- ammo="Aqua Sachet",
- head="Otomi Helm",
- neck="Soil Gorget",
- lear="Moonshade Earring",
- rear="Brutal Earring",
- body="Miki. Breastplate",
- hands="Cab. Gauntlets +1",
- ring1="Aquasoul Ring",
- ring2="Aquasoul Ring",
- back="Atheling Mantle",
- waist="Soil Belt",
- legs="Miki. Cuisses",
- feet="Whirlpool Greaves"}
- sets.WS.Requiescat.MidACC = set_combine(sets.WS.Requiescat,{
- head="Yaoyotl Helm",
- body="Mes. Haubergeon",
- hands="Miki. Gauntlets",
- Back="Letalis Mantle"})
- sets.WS.Requiescat.HighACC = set_combine(sets.WS.Requiescat.MidACC,{
- lear="Steelflash Earring",
- rear="Heartseeker Earring",})
- sets.WS.Resolution = {
- ammo="Cheruski Needle",
- head="Otomi Helm",
- neck="Soil Gorget",
- lear="Moonshade Earring",
- rear="Brutal Earring",
- body="Mes. Haubergeon",
- hands="Miki. Gauntlets",
- ring1="Pyrosoul Ring",
- ring2="Pyrosoul Ring",
- back="Atheling Mantle",
- waist="Soil Belt",
- legs="Miki. Cuisses",
- feet="Ejekamal Boots"}
- sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{
- head="Yaoyotl Helm",
- feet="Whirlpool Greaves"})
- sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{
- ring1="Candent Ring",
- back="Letalis Mantle"})
- -- Torcleaver Set --
- sets.WS.Torcleaver = {
- ammo="Iron Gobbet",
- head="Yaoyotl Helm",
- neck="Light Gorget",
- ear1="Moonshade Earring",
- ear2="Brutal Earring",
- body="Phorcys Korazin",
- hands="Xaddi Gauntlets",
- ring1="Rajas Ring",
- ring2="Spiral Ring",
- back="Atheling Mantle",
- waist="Caudata Belt",
- legs="Cab. Breeches +1",
- feet="Kar. Sollerets +1"}
- sets.WS.Torcleaver.MidACC = set_combine(sets.WS.Torcleaver,{
- ammo="Ginsen",
- body="Mes. Haubergeon",
- back="Letalis Mantle"})
- sets.WS.Torcleaver.HighACC = set_combine(sets.WS.Torcleaver.MidACC,{
- legs="Miki. Cuisses",
- feet="Scamp's Sollerets"})
- sets.WS.Atonement = {
- ammo="Paeapua",
- head="Cab. Coronet +1",
- neck="Invidia Torque",
- ear1="Trux Earring",
- ear2="Friomisi Earring",
- body="Phorcys Korazin",
- hands="Cab. Gauntlets +1",
- ring1="Eihwaz Ring",
- ring2="Vexer Ring +1",
- back="Fierabras's Mantle",
- waist="Creed Baudrier",
- legs="Induro Cuisses",
- feet="Creed Sabatons +2"}
- sets.WS["Knights of Round"] = {}
- sets.WS["Sanguine Blade"] = {}
- sets.WS["Aeolian Edge"] = {}
- sets.Enmity = {
- ammo="Paeapua",
- head="Cab. Coronet +1",
- neck="Invidia Torque",
- ear1="Trux Earring",
- ear2="Friomisi Earring",
- body="Cab. Surcoat +1",
- hands="Cab. Gauntlets +1",
- ring1="Eihwaz Ring",
- ring2="Vexer Ring +1",
- back="Fierabras's Mantle",
- waist="Creed Baudrier",
- legs="Induro Cuisses",
- feet="Creed Sabatons +2"}
- -- JA Sets --
- sets.JA = {}
- sets.JA["Shield Bash"] = set_combine(sets.Enmity,{hands="Cab. Gauntlets +1"})
- sets.JA.Sentinel = set_combine(sets.Enmity,{feet="Cab. Leggings +1"})
- sets.JA["Holy Circle"] = set_combine(sets.Enmity,{feet="Rev. Leggings +1"})
- sets.JA["Divine Emblem"] = set_combine(sets.Enmity,{feet="Creed Sabatons +2"})
- sets.JA.Fealty = set_combine(sets.Enmity,{body="Cab. Surcoat +1"})
- sets.JA.Invincible = set_combine(sets.Enmity,{legs="Cab. Breeches +1"})
- sets.JA.Cover = {head="Rev. Coronet +1",body="Cab. Surcoat +1"}
- sets.JA.Palisade = set_combine(sets.Enmity)
- sets.JA.Provoke = set_combine(sets.Enmity)
- sets.JA.Warcry = set_combine(sets.Enmity)
- sets.JA.Souleater = set_combine(sets.Enmity)
- sets.JA["Last Resort"] = set_combine(sets.Enmity)
- sets.JA.Chivalry = {
- head="Rev. Coronet +1",
- body="Rev. Surcoat +1",
- hands="Cab. Gauntlets +1",
- ring1="Aquasoul Ring",
- ring2="Aquasoul Ring",
- back="Engulfer Cape",
- legs="Cab. Breeches +1",
- feet="Cab. Leggings +1"}
- sets.JA.Rampart = {
- head="Cab. Coronet +1",
- neck="Twilight Torque",
- ear1="Trux Earring",
- ear2="Friomisi Earring",
- body="Rev. Surcoat +1",
- hands="Cab. Gauntlets +1",
- ring1="Eihwaz Ring",
- ring2="Vexer Ring +1",
- back="Shadow Mantle",
- waist="Flume Belt",
- legs="Cab. Breeches +1",
- feet="Cab. Leggings +1"}
- -- Sublimation --
- sets.Sublimation = {}
- -- Flourish --
- sets.Flourish = set_combine(sets.Enmity)
- -- Step --
- sets.Step = set_combine(sets.Enmity)
- -- Waltz --
- sets.Waltz = {
- ammo="Paeapua",
- head="Rev. Coronet +1",
- neck="Invidia Torque",
- ear1="Trux Earring",
- ear2="Friomisi Earring",
- body="Cab. Surcoat +1",
- hands="Cab. Gauntlets +1",
- ring1="Eihwaz Ring",
- ring2="Vexer Ring +1",
- back="Fierabras's Mantle",
- waist="Creed Baudrier",
- legs="Cab. Breeches +1",
- feet="Rev. Leggings +1"}
- sets.Precast = {}
- --Fastcast Set --
- sets.Precast.FastCast = {
- ammo="Impatiens",
- head="Cizin Helm +1",
- neck="Orunmila's Torque",
- ear1="Loquac. Earring",
- ear2="Darkness Earring",
- body="Nuevo Coselete",
- hands="Shab. Gauntlets +1",
- ring1="Veneficium Ring",
- ring2="Prolix Ring",
- back="Repulse Mantle",
- waist="Goading Belt",
- legs="Enif Cosciales",
- feet="Cizin Greaves +1"}
- -- Precast Enhancing Magic --
- sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{waist="Siegel Sash"})
- -- Cure Precast Set --
- sets.Precast.Cure = set_combine(sets.Precast.FastCast,{})
- -- Midcast Base Set --
- sets.Midcast = {
- ammo="Impatiens",
- head="Cizin Helm +1",
- neck="Twilight Torque",
- ear1="Loquac. Earring",
- ear2="Darkness Earring",
- body="Nuevo Coselete",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Patricius Ring",
- back="Repulse Mantle",
- waist="Goading Belt",
- legs="Enif Cosciales",
- feet="Cizin Greaves +1"}
- -- Spells Recast --
- sets.Midcast.Recast = {
- ammo="Impatiens",
- head="Cizin Helm +1",
- neck="Twilight Torque",
- ear1="Loquac. Earring",
- ear2="Darkness Earring",
- body="Nuevo Coselete",
- hands="Shab. Gauntlets +1",
- ring1="Defending Ring",
- ring2="Patricius Ring",
- back="Repulse Mantle",
- waist="Goading Belt",
- legs="Enif Cosciales",
- feet="Cizin Greaves +1"}
- -- Divine Magic --
- sets.Midcast['Divine Magic'] = set_combine(sets.Midcast.Recast,{
- neck="Colossus's Torque",
- body="Rev. Surcoat +1"})
- -- Cure Set --
- sets.Midcast.Cure = {
- ammo="Paeapua",
- neck="Phalaina Locket",
- ear1="Trux Earring",
- ear2="Hospitaler Earring",
- ring1="Eihwaz Ring",
- ring2="Vexer Ring +1",
- back="Fierabras's Mantle",
- waist="Goading Belt"}
- -- Self Cure Set --
- sets.Midcast.SelfCure = set_combine(sets.Midcast.Cure,{
- head="Shabti Armet +1",
- ear1="Oneiros Earring",
- body="Rev. Surcoat +1",
- hands="Cab. Gauntlets +1",
- waist="Creed Baudrier",
- legs="Rev. Breeches +1",
- feet="Cab. Leggings +1"})
- -- Flash Set --
- sets.Midcast.Flash = {
- ammo="Paeapua",
- head="Cizin Helm +1",
- neck="Invidia Torque",
- ear1="Trux Earring",
- ear2="Friomisi Earring",
- body="Rev. Surcoat +1",
- hands="Cab. Gauntlets +1",
- ring1="Eihwaz Ring",
- ring2="Vexer Ring +1",
- back="Fierabras's Mantle",
- waist="Goading Belt",
- legs="Enif cosciales",
- feet="Creed Sabatons +2"}
- -- Enhancing Magic --
- sets.Midcast['Enhancing Magic'] = {
- neck="Colossus's Torque",
- back="Merciful Cape",
- waist="Olympus Sash",
- legs="Rev. Breeches +1"}
- -- Stoneskin --
- sets.Midcast.Stoneskin = set_combine(sets.Midcast.Recast,{waist="Siegel Sash"})
- -- Reprisal --
- sets.Midcast.Reprisal = {}
- end
- function pretarget(spell,action)
- if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
- cancel_spell()
- send_command('input /item "Echo Drops" <me>')
- elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
- degrade_spell(spell,Cure_Spells)
- elseif spell.english == "Berserk" and buffactive.Berserk then -- Cancel Berserk If Berserk Is On --
- send_command('cancel Berserk')
- elseif spell.english == "Defender" and buffactive.Defender then -- Cancel Defender If Defender Is On --
- send_command('cancel Defender')
- elseif spell.english == "Souleater" and buffactive.Souleater then -- Cancel Souleater If Souleater Is On --
- send_command('cancel Souleater')
- elseif spell.english == "Last Resort" and buffactive["Last Resort"] then -- Cancel Last Resort If Last Resort Is On --
- send_command('cancel Last Resort')
- 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
- elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
- if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
- cancel_spell()
- send_command('input /ja Addendum: White <me>')
- elseif spell.english == "Manifestation" then
- cancel_spell()
- send_command('input /ja Accession <me>')
- elseif spell.english == "Alacrity" then
- cancel_spell()
- send_command('input /ja Celerity <me>')
- elseif spell.english == "Parsimony" then
- cancel_spell()
- send_command('input /ja Penury <me>')
- end
- elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
- if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
- cancel_spell()
- send_command('input /ja Addendum: Black <me>')
- elseif spell.english == "Accession" then
- cancel_spell()
- send_command('input /ja Manifestation <me>')
- elseif spell.english == "Celerity" then
- cancel_spell()
- send_command('input /ja Alacrity <me>')
- elseif spell.english == "Penury" then
- cancel_spell()
- send_command('input /ja Parsimony <me>')
- end
- 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 spell.english == "Requiescat" and (world.day_element == 'Dark' or world.day_element == 'Earth') then -- Equip Mekira-oto +1 On Darksday Or Earthsday --
- equipSet = set_combine(equipSet,{})
- end
- if player.tp > 2999 then
- if spell.english == "Resolution" then
- equipSet = set_combine(equipSet,{ear1="Steelflash Earring",ear2="Bladeborn Earring"})
- elseif spell.english == "Chant du Cygne" then
- equipSet = set_combine(equipSet,{ear1="Steelflash Earring",ear2="Bladeborn Earring"})
- elseif spell.english == "Requiescat" then
- equipSet = set_combine(equipSet,{ear1="Steelflash Earring",ear2="Bladeborn Earring"})
- end
- end
- equip(equipSet)
- end
- elseif spell.type == "JobAbility" then
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- end
- elseif spell.type == "Rune" then
- equip(sets.Enmity)
- elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" 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 string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
- equip(sets.Precast.Cure)
- elseif spell.english == "Reprisal" then
- if buffactive['Blaze Spikes'] or buffactive['Ice Spikes'] or buffactive['Shock Spikes'] then -- Cancel Blaze Spikes, Ice Spikes or Shock Spikes When You Cast Reprisal --
- cast_delay(0.2)
- send_command('cancel Blaze Spikes,Ice Spikes,Shock Spikes')
- end
- equip(sets.Precast.FastCast)
- elseif string.find(spell.english,'Utsusemi') then
- if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
- return
- else
- equip(sets.Precast.FastCast)
- end
- elseif sets.Precast[spell.skill] then
- equip(sets.Precast[spell.skill])
- else
- equip(sets.Precast.FastCast)
- end
- end
- elseif string.find(spell.type,'Flourish') then
- if spell.english == "Animated Flourish" then
- equip(sets.Enmity)
- else
- equip(sets.Flourish)
- end
- elseif spell.type == "Step" then
- equip(sets.Step)
- 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
- if Twilight == 1 then
- equip(sets.Twilight)
- end
- end
- function midcast(spell,action)
- equipSet = {}
- if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
- equipSet = sets.Midcast
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- 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 string.find(spell.english,'Protect') or string.find(spell.english,'Shell') then
- if spell.target.name == player.name then
- equipSet = set_combine(equipSet,{ring2="Sheltered Ring"})
- end
- elseif spell.english == "Stoneskin" then
- if buffactive.Stoneskin then
- send_command('@wait 1.7;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.Recast
- elseif string.find(spell.english,'Banish') then
- equipSet = set_combine(equipSet,{ring1="Fenian Ring"})
- elseif EnmityBlueMagic:contains(spell.english) or spell.english == "Stun" or string.find(spell.english,'Absorb') or spell.english == 'Aspir' or spell.english == 'Drain' then
- if buffactive.Sentinel then
- equipSet = equipSet.Recast
- else
- equipSet = equipSet.Flash
- end
- elseif string.find(spell.english,'Spikes') then
- equipSet = equipSet.Recast
- elseif string.find(spell.english,'Utsusemi') then
- if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
- send_command('@wait 1.7;cancel Copy Image*')
- end
- equipSet = equipSet.Recast
- elseif spell.english == 'Monomi: Ichi' then
- if buffactive['Sneak'] then
- send_command('@wait 1.7;cancel sneak')
- end
- equipSet = equipSet.Recast
- 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')
- elseif spell.english == "Banish II" and not spell.interrupted then -- Banish II Countdown --
- send_command('@wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
- elseif spell.english == "Holy Circle" and not spell.interrupted then -- Holy Circle Countdown --
- send_command('wait 260;input /echo '..spell.name..' Effect: [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..' Effect: [OFF]')
- end
- status_change(player.status)
- end
- function status_change(new,old)
- if Armor == 'PDT' then
- equip(sets.PDT[ShieldArray[ShieldIndex]])
- elseif Armor == 'MDT' then
- equip(sets.MDT[ShieldArray[ShieldIndex]])
- elseif Armor == 'Kiting' then
- equip(sets.Kiting[ShieldArray[ShieldIndex]])
- elseif Armor == 'Weakness' then
- equip(sets.Weakness[ShieldArray[ShieldIndex]])
- elseif Armor == 'DT' then
- equip(sets.DT[ShieldArray[ShieldIndex]])
- elseif buffactive["Sublimation: Activated"] then
- equip(sets.Sublimation)
- elseif new == 'Engaged' then
- equipSet = sets.TP
- if Armor == 'Hybrid' and equipSet["Hybrid"] then
- equipSet = equipSet["Hybrid"]
- end
- if equipSet[player.equipment.main] then
- equipSet = equipSet[player.equipment.main]
- end
- if equipSet[player.equipment.sub] then
- equipSet = equipSet[ShieldArray[ShieldIndex]]
- end
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- if buffactive.Ionis and equipSet["Ionis"] then
- equipSet = equipSet["Ionis"]
- end
- if Armor == 'ShieldSkill' then
- equipSet = set_combine(equipSet,sets.TP.ShieldSkill)
- end
- equip(equipSet)
- elseif new == 'Idle' then
- equip(sets.Idle[IdleArray[IdleIndex]])
- elseif new == 'Resting' then
- equip(sets.Resting)
- end
- if buffactive.doom then -- Lock Twilight When You Are Doomed --
- equip(sets.Twilight)
- disable('head','body')
- end
- if Repulse == 'ON' then -- Use Repulse Toggle To Lock Repulse Mantle --
- equip(sets.Repulse[ShieldArray[ShieldIndex]])
- end
- if Twilight == 1 then
- equip(sets.Twilight)
- end
- end
- function buff_change(buff,gain)
- buff = string.lower(buff)
- if buff == "doom" and not gain then
- enable('head','body')
- elseif buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
- if gain then
- send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;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({neck="Berserker's Torque"})
- 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
- status_change(player.status)
- add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
- elseif command == 'C5' then -- Auto Update Gear Toggle --
- status_change(player.status)
- add_to_chat(158,'Auto Update Gear')
- elseif command == 'C2' then -- Shield Type Toggle --
- ShieldIndex = (ShieldIndex % #ShieldArray) + 1
- status_change(player.status)
- add_to_chat(158,'Shield Type: ' .. ShieldArray[ShieldIndex])
- elseif command == 'C9' 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 == 'C12' then -- Kiting Toggle --
- if Armor == 'Kiting' then
- Armor = 'None'
- add_to_chat(123,'Kiting Set: [Unlocked]')
- else
- Armor = 'Kiting'
- add_to_chat(158,'Kiting Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C10' then -- Weakness Set Toggle --
- if Armor == 'Weakness' then
- Armor = 'None'
- add_to_chat(123,'Weakness Set: [Unlocked]')
- else
- Armor = 'Weakness'
- add_to_chat(158,'Weakness Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C17' then -- DT Toggle --
- if Armor == 'DT' then
- Armor = 'None'
- add_to_chat(123,'DT Set: [Unlocked]')
- else
- Armor = 'DT'
- add_to_chat(158,'DT Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C16' then -- Repulse Mantle Toggle --
- if Repulse == 'ON' then
- Repulse = 'OFF'
- add_to_chat(123,'Repulse Mantle: [Unlocked]')
- else
- Repulse = 'ON'
- add_to_chat(158,'Repulse Mantle: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C11' then -- Shield Skill Toggle --
- if Armor == 'ShieldSkill' then
- Armor = 'None'
- add_to_chat(123,'Shield Skill Set: [Unlocked]')
- else
- Armor = 'ShieldSkill'
- add_to_chat(158,'Shield Skill Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C3' then -- Twilight Toggle --
- if Twilight == 1 then
- Twilight = 0
- add_to_chat(123,'Twilight Set: [Unlocked]')
- else
- Twilight = 1
- add_to_chat(158,'Twilight 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
- status_change(player.status)
- add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
- 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 actualCost(originalCost)
- if buffactive["Penury"] then
- return originalCost*.5
- elseif buffactive["Light Arts"] then
- return originalCost*.9
- else
- return originalCost
- end
- end
- function degrade_spell(spell,degrade_array)
- spell_index = table.find(degrade_array,spell.name)
- if spell_index>1 then
- new_spell = degrade_array[spell_index - 1]
- change_spell(new_spell,spell.target.raw)
- add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
- end
- end
- function change_spell(spell_name,target)
- cancel_spell()
- send_command('//'..spell_name..' '..target)
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement