Pergatory

Pergatory's SCH Gearswap

Feb 9th, 2025 (edited)
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 34.95 KB | None | 0 0
  1. ----- Credit: Krystela of Asura | Last Update: 27 November 2016 ---->
  2. ---- .:: This was entirely created by me, it's not based off anyone's file ::. ---->
  3. ---- Always visit http://pastebin.com/u/KrystelaRose to look for possible updates ---->
  4. ---- .:: Please leave credit where it's due ::. ---->
  5. ---- v2.0 by Pergatory of Asura -- http://pastebin.com/u/Pergatory
  6.  
  7. function user_unload()
  8.     send_command('unbind f9')
  9.     send_command('unbind f10')
  10.     send_command('unbind f11')
  11.     send_command('unbind f12')
  12.     send_command('unbind ^f9')
  13.     send_command('unbind ^f10')
  14.     send_command('unbind ^f11')
  15.     send_command('unbind ^f12')
  16.     enable("main","sub","range","ammo","head","neck","ear1","ear2","body","hands","ring1","ring2","back","waist","legs","feet")
  17. end
  18.  
  19. function get_sets()
  20.     -- Binds for modes
  21.     send_command('bind f9 gs c ToggleIdle')
  22.     send_command('bind f10 gs c MagicBurst')
  23.     send_command('bind f11 input /item "Panacea" <me>')
  24.     send_command('bind f12 input /item "Holy Water" <me>')
  25.     send_command('bind ^f9 gs c WeaponLock')
  26.     send_command('bind ^f10 gs c TH')
  27.     send_command('bind ^f11 gs c LowDmg')
  28.     send_command('bind ^f12 input /item "Remedy" <me>')
  29.  
  30.     -- Auto Functions --
  31.     AutoRemedy = false -- Set to ON if you want to auto use remedies if silenced or Paralyzed, otherwise set to OFF --
  32.  
  33.     -- Mode Defaults --
  34.     IdleMode = 'Move' -- Press F9 to toggle idle mode --
  35.     WeaponLock = false -- Press F10 for Weapon Lock--
  36.     LowDmg = true -- Press F11 to toggle low-damage helix set. Used for making skillchains against enemies that reflect ailments like in Sortie.
  37.                     -- Helix II will still use the full damage set so it's safe to leave this turned on most of the time.
  38.     MagicBurst = true -- Press F10 to circle through Magic modes --
  39.     OccultMode = false
  40.     VagaryMode = false -- "//gs c Vagary" to enable Vagary nuking set (target 5~7k damage magic burst)
  41.     TreasureHunter = false -- Press Ctrl + F10 to toggle Treasure Hunter. Only equips for spells in the "THSpells" list below.
  42.     RegenPotency = false
  43.     IdleModes = {'Refresh','Move','DT','Kite','TP'}
  44.  
  45.     gear = {}
  46.     -- Situational Gear --
  47.     -- Fill these if you have the item. --
  48.     gear.Duration_Hands = {hands="Arbatel Bracers +3"} -- Add Empy hands if you want to use it, it not leave {} empty --
  49.     gear.Refresh_Head = {head="Amalric Coif +1"} -- Add refresh effect + head if you want to use it, it not leave {} empty --
  50.     gear.Alacrity_Feet = {} -- Add Relic feet for stun if you want to use it, it not leave {} empty --
  51.     gear.Klimaform_Feet = {} -- Add Empyrean feet for Klimaform nukes if you want to use it, it not leave {} empty --
  52.     gear.Rapture_Head = {head="Arbatel Bonnet +3"} -- Add Empyrean Head for Rapture Heals if you want to use it, it not leave {} empty --
  53.     -- Element-specific nuking pieces
  54.     gear.Stone = {neck="Quanpur Necklace"}
  55.  
  56.     -- Set macro book/set --
  57.     macrobook = 13
  58.     if player.sub_job=='DRK' then
  59.         macrobook = 33
  60.     end
  61.     send_command('input /macro book '..macrobook..';wait .1;input /macro set 10;wait 3;input /lockstyleset 85') -- set macro book/set here --
  62.     --send_command('input /macro book '..macrobook..';wait .1;input /macro set 10;wait 3;input /lockstyleset 99') -- set macro book/set here --
  63.    
  64.     THSpells = S{"Dia","Dia II","Diaga","Dispelga","Bio","Bio II"} -- If you want Treasure Hunter gear to swap for a spell/ability, add it here.
  65.     -- Treasure Hunter set. Don't put anything in here except TH+ gear.
  66.     -- It overwrites slots in other sets when TH toggle is on (Ctrl+F10).
  67.     sets.TH = {
  68.         head="Volte Cap",
  69.         waist="Chaac Belt",
  70.         hands="Volte Bracers",
  71.         feet="Volte Boots"
  72.     }
  73.  
  74.     -- Lists --
  75.     NoHelixMonsters = S{"Gartell","Leshonn","Haughty Tulittia"} -- To prevent accidents, you will not be able to cast Helix II spells on these targets.
  76.         --Regular helix can still be cast on these, so take care that you've got the low damage toggle on.
  77.     Town = S{"Ru'Lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno","Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
  78.              "Port San d'Oria","Northern San d'Oria","Southern San d'Oria","Port Bastok","Bastok Markets","Bastok Mines","Metalworks","Aht Urhgan Whitegate",
  79.              "Tavnazian Safehold","Nashmau","Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham","Heavens Tower"}
  80.    
  81.     ---- Precast ----
  82.     sets.precast = {}
  83.    
  84.     -- Fast Cast Set --
  85.     sets.precast.FC = {
  86.         main="Musa", -- +10
  87.         sub="Clerisy Strap +1", -- +3
  88.         ammo="Sapience Orb", -- +2
  89.         head="Pedagogy Mortarboard +4",
  90.         neck="Orunmila's Torque", -- +5
  91.         ear1="Malignance Earring", -- +4
  92.         ear2="Loquac. Earring", -- +2
  93.         body="Zendik Robe", -- +13
  94.         hands="Academic's Bracers +3", -- +9
  95.         ring1="Kishar Ring", -- +4
  96.         ring2="Rahab Ring", -- +2
  97.         back={ name="Lugh's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},
  98.         waist="Embla Sash", -- +5
  99.         legs="Pinga Pants +1", -- +13
  100.         feet="Academic's Loafers +3"
  101.     }
  102.    
  103.     -- Fast Cast set used when your spell matches your active grimoire.
  104.     -- Note: Grimoire recast reduction caps at 25% with a base of 10%, so Pedagogy head or Academic feet alone will almost cap it.
  105.     --sets.precast.FC.Grimoire = set_combine(sets.precast.FC, {
  106.     --})
  107.  
  108.     -- Immanence FC set, if your normal set uses quick magic then replace it here so your skillchain timing is predictable.
  109.     --sets.precast.FC['Immanence'] = set_combine(sets.precast.FC.Grimoire, {
  110.     --})
  111.  
  112.     sets.precast.FC.WeaponLock = set_combine(sets.precast.FC, {
  113.         head="Amalric Coif +1"
  114.     })
  115.  
  116.     sets.precast['Impact'] = set_combine(sets.precast.FC, { -- Make sure to leave the head empty --
  117.         head=empty,
  118.         body="Crepuscular Cloak"})
  119.  
  120.     sets.precast["Dispelga"] = set_combine(sets.precast.FC.WeaponLock, {
  121.         main="Daybreak",
  122.         sub="Ammurapi Shield"
  123.     })
  124.  
  125.     -- Job Abilities --
  126.     sets.JA = {}
  127.     sets.JA['Tabula Rasa'] = { legs="Pedagogy Pants +3" }
  128.  
  129.     ---- Midcast ----
  130.     sets.midcast = {}
  131.    
  132.     -- Base Set --
  133.     sets.midcast.Recast = set_combine(sets.precast.FC, {
  134.         head="Amalric Coif +1",
  135.         feet={ name="Merlinic Crackows", augments={'DEX+10','Phys. dmg. taken -2%','"Refresh"+2','Accuracy+3 Attack+3',}},
  136.     })
  137.    
  138.     -- Healing Magic --
  139.     sets.midcast.Cure = {
  140.         main="Daybreak",
  141.         sub="Ammurapi Shield",
  142.         ammo="Esper Stone +1",
  143.         head="Kaykaus Mitra +1",
  144.         neck="Incanter's Torque",
  145.         ear1="Novia Earring",
  146.         ear2="Meili Earring",
  147.         body="Zendik Robe",
  148.         hands="Kaykaus Cuffs +1",
  149.         ring1={name="Stikini Ring +1", bag="wardrobe2"},
  150.         ring2="Haoma's Ring",
  151.         --back="Tempered Cape +1",
  152.         back="Moonlight Cape",
  153.         waist="Luminary Sash",
  154.         legs="Kaykaus Tights +1",
  155.         feet="Kaykaus Boots +1"
  156.     }
  157.  
  158.     sets.midcast.Cure.Weather = set_combine(sets.midcast.Cure, {
  159.         main="Chatoyant staff",
  160.         sub="Clerisy Strap +1",
  161.         back="Twilight Cape",
  162.         waist="Hachirin-no-Obi",
  163.     })
  164.    
  165.     sets.midcast.Cure.WeaponLock = set_combine(sets.midcast.Cure, {
  166.     })
  167.    
  168.     sets.midcast['Cursna'] = set_combine(sets.midcast.Recast, {
  169.         main={ name="Gada", augments={'Enh. Mag. eff. dur. +6','DEX+1','Mag. Acc.+5','"Mag.Atk.Bns."+18','DMG:+4',}},
  170.         sub="Ammurapi Shield",
  171.         ammo="Impatiens",
  172.         head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  173.         neck="Debilis Medallion",
  174.         ear1="Meili Earring",
  175.         ear2="Beatific Earring",
  176.         body="Pedagogy Gown +4",
  177.         hands="Hieros Mittens",
  178.         ring1="Menelaus's Ring",
  179.         ring2="Haoma's Ring",
  180.         back="Tempered Cape +1",
  181.         waist="Bishop's Sash",
  182.         --legs="Academic's Pants +3",
  183.         feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}}
  184.     })
  185.    
  186.     -- Enhancing Magic --
  187.     sets.midcast.Enhancing = { -- Max enhancing set for spells with no cap like Enspell
  188.         main="Musa",
  189.         sub="Clerisy Strap +1",
  190.         ammo="Savant's Treatise",
  191.         head={ name="Telchine Cap", augments={'Mag. Evasion+24','"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
  192.         neck="Incanter's Torque",
  193.         ear1="Mimir Earring",
  194.         ear2="Andoaa earring",
  195.         body="Pedagogy Gown +4",
  196.         hands={ name="Telchine Gloves", augments={'Mag. Evasion+25','"Fast Cast"+5','Enh. Mag. eff. dur. +10',}},
  197.         ring1={name="Stikini Ring +1", bag="wardrobe2"},
  198.         ring2={name="Stikini Ring +1", bag="wardrobe4"},
  199.         back="Perimede Cape",
  200.         waist="Embla sash",
  201.         legs={ name="Telchine Braconi", augments={'Mag. Evasion+25','"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
  202.         feet={ name="Telchine Pigaches", augments={'Mag. Evasion+24','"Conserve MP"+3','Enh. Mag. eff. dur. +10',}}
  203.     }
  204.    
  205.     sets.midcast.Enhancing500 = set_combine(sets.midcast.Enhancing, {   -- This is 500 skill and full duration --
  206.     })
  207.     sets.midcast.Enhancing500.WeaponLock = set_combine(sets.midcast.Enhancing500, {})   -- Priority: 500skil > Duration For when weapon is locked --
  208.    
  209.     sets.midcast['Phalanx'] = set_combine(sets.midcast.Enhancing, {}) -- If you have specific phalanx gears --
  210.    
  211.     sets.midcast.Regen = set_combine(sets.midcast.Enhancing500, {
  212.         main="Musa",
  213.         sub="Clerisy Strap +1",
  214.         back={ name="Lugh's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},
  215.     })
  216.    
  217.     sets.midcast.Regen.Potency = set_combine(sets.midcast.Regen, {
  218.         head="Arbatel Bonnet +3",
  219.         back="Bookworm's Cape",
  220.     })
  221.    
  222.     sets.midcast['Stoneskin'] = set_combine(sets.midcast.Enhancing500, {
  223.         neck="Nodens Gorget",
  224.         ear2="Earthcry Earring",
  225.         waist="Siegel Sash",
  226.     })
  227.    
  228.     sets.midcast['Aquaveil'] = set_combine(sets.midcast.Enhancing500, {
  229.         main="Vadose Rod",
  230.         head="Amalric Coif +1",
  231.         hands="Regal Cuffs",
  232.         waist="Emphatikos Rope",
  233.     })
  234.  
  235.     -- Enfeebling Magic --
  236.     sets.midcast.Enfeebling = { -- Full skill set for frazzle/distract/Poison --
  237.         main="Daybreak",
  238.         sub="Ammurapi Shield",
  239.         ammo="Pemphredo Tathlum",
  240.         head="Acad. Mortar. +3",
  241.         neck="Argute Stole +2",
  242.         ear1="Regal Earring",
  243.         ear2="Arbatel Earring +2",
  244.         body="Academic's Gown +3",
  245.         hands="Kaykaus Cuffs +1",
  246.         ring1={name="Stikini Ring +1", bag="wardrobe2"},
  247.         ring2={name="Stikini Ring +1", bag="wardrobe4"},
  248.         back="Aurist's Cape +1",
  249.         waist="Obstinate Sash",
  250.         legs="Arbatel Pants +3",
  251.         feet="Acad. Loafers +3"
  252.     }
  253.     sets.midcast.Enfeebling.MND = set_combine(sets.midcast.Enfeebling, {}) -- For Paralyze/Slow who's potency/macc is enhanced by MND --
  254.     sets.midcast.Enfeebling.INT = set_combine(sets.midcast.Enfeebling, { -- For Blind/Bind who's Macc is enhanced by INT --
  255.         --waist="Acuity Belt +1"
  256.     })
  257.     sets.midcast.Enfeebling.Duration = set_combine(sets.midcast.Enfeebling, {
  258.         hands="Regal Cuffs",
  259.     })
  260.     sets.midcast.Enfeebling.Ele = set_combine(sets.midcast.Enfeebling.INT, { -- For Burn/Drown/etc
  261.         legs="Agwu's Slops"
  262.     })
  263.  
  264.     sets.midcast["Dispelga"] = set_combine(sets.midcast.Enfeebling.Macc, {
  265.         main="Daybreak",
  266.         sub="Ammurapi Shield"
  267.     })
  268.  
  269.     -- Dark Magic --
  270.     sets.midcast.Dark = set_combine(sets.midcast.Recast, {
  271.         neck="Erra Pendant",
  272.         ear1="Mani Earring",
  273.         ear2="Regal Earring",
  274.         body="Academic's Gown +3",
  275.         --head="Pixie Hairpin +1",
  276.         ring1={name="Stikini Ring +1", bag="wardrobe2"},
  277.         ring2={name="Stikini Ring +1", bag="wardrobe4"},
  278.         back="Bookworm's Cape",
  279.         legs="Pedagogy Pants +3",
  280.     })
  281.  
  282.     sets.midcast.Aspir = set_combine(sets.midcast.Dark, {
  283.         ring1="Archon Ring",
  284.         ring2="Evanescence Ring",
  285.         waist="Fucho-no-Obi",
  286.         feet="Agwu's Pigaches"
  287.     })
  288.    
  289.     sets.midcast['Stun'] = set_combine(sets.midcast.Recast, {})
  290.    
  291.     sets.midcast['Absorb-TP'] = {
  292.         main="Musa",
  293.         sub="Khonsu",
  294.         ammo="Pemphredo Tathlum",
  295.         head="Amalric Coif +1",
  296.         neck="Null Loop",
  297.         ear1="Malignance Earring",
  298.         ear2="Loquac. Earring",
  299.         --ear2="Arbatel Earring +2",
  300.         body="Zendik Robe",
  301.         hands="Agwu's Gages",
  302.         ring1="Kishar Ring",
  303.         ring2="Metamorph Ring +1",
  304.         back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Fast Cast"+10',}},
  305.         waist="Acuity Belt +1",
  306.         legs="Pinga Pants +1",
  307.         --legs="Agwu's Slops",
  308.         feet="Agwu's Pigaches"
  309.     }
  310.  
  311.     -- Elemental Magic --
  312.     sets.midcast.Elemental = { -- Normal Nukes --
  313.         main="Opashoro",
  314.         --sub="Enki Strap",
  315.         sub="Khonsu",
  316.         ammo="Ghastly Tathlum +1",
  317.         head="Pedagogy Mortarboard +4",
  318.         neck="Argute Stole +2",
  319.         ear1="Malignance Earring",
  320.         ear2="Arbatel Earring +2",
  321.         body="Arbatel Gown +3",
  322.         hands="Indomitable Gloves",
  323.         ring1="Freke Ring",
  324.         ring2="Metamorph Ring +1",
  325.         back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},
  326.         waist="Sacro Cord",
  327.         legs="Agwu's Slops",
  328.         feet="Arbatel Loafers +3"
  329.     }
  330.     -- For when MB mode is turned on --
  331.     -- Note: I use Agwu's Robe for extra magic burst damage due to Opashoro. If you use Bunzi's Rod, the next best weapon, use Arbatel body instead.
  332.     sets.midcast.Elemental.MB = set_combine(sets.midcast.Elemental, {
  333.         body="Agwu's Robe",
  334.         hands="Agwu's Gages",
  335.         ring1="Mujin Band",
  336.     })
  337.     sets.midcast.Elemental.Weather = set_combine(sets.midcast.Elemental, {
  338.         waist="Hachirin-no-Obi",
  339.     })
  340.     sets.midcast.Elemental.MB.Weather = set_combine(sets.midcast.Elemental.MB, {
  341.         waist="Hachirin-no-Obi"
  342.     })
  343.  
  344.     -- Occult Acumen sets (uses magic burst sets as baseline)
  345.     sets.midcast.Elemental.Occult = set_combine(sets.midcast.Elemental.MB, {
  346.         legs="Perdition Slops",
  347.     })
  348.     sets.midcast.Elemental.Occult.Weather = set_combine(sets.midcast.Elemental.MB.Weather, {
  349.         legs="Perdition Slops",
  350.     })
  351.    
  352.     -- Target: 5~7k damage magic bursted
  353.     sets.midcast.Elemental.Vagary = {
  354.         main="Bolelabunga",
  355.         sub="Genmei Shield",
  356.         ammo="Ghastly Tathlum +1",
  357.         --head="Pedagogy Mortarboard +4", --high
  358.         head="Academic's mortarboard +3", --low
  359.         neck="Argute Stole +2",
  360.         ear1="Malignance Earring",
  361.         ear2="Arbatel Earring +2",
  362.         --body="Arbatel Gown +3", --high
  363.         body="Annointed Kalasiris", --low
  364.         --hands="Arbatel Bracers +3", --high
  365.         hands="Academic's Bracers +3", --low
  366.         ring1="Freke Ring",
  367.         ring2="Metamorph Ring +1",
  368.         back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},
  369.         waist="Sacro Cord",
  370.         legs="Agwu's Slops",
  371.         --feet="Arbatel Loafers +3" --high
  372.         feet="Academic's Loafers +3" --low
  373.     }
  374.  
  375.     -- Helix Set: Priority INT > Mdmg > Mab, don't put weather stuff in here, helix have natural 100% dmg + from weather --
  376.     sets.midcast.Helix = set_combine(sets.midcast.Elemental, {
  377.         main="Opashoro",
  378.         --sub="Enki Strap",
  379.         sub="Khonsu",
  380.         head="Arbatel Bonnet +3",
  381.         hands="Arbatel Bracers +3",
  382.         body="Arbatel Gown +3",
  383.         legs="Mallquis Trews +2",
  384.         waist="Acuity Belt +1",
  385.     })
  386.     -- Priority MB > INT > Mdmg > Mab, don't put weather obi here, helix have natural 100% dmg + from weather --
  387.     sets.midcast.Helix.MB = set_combine(sets.midcast.Helix, {
  388.         body="Agwu's Robe",
  389.         hands="Agwu's Gages",
  390.         ring1="Mujin Band",
  391.         legs="Agwu's Slops",
  392.     })
  393.  
  394.     sets.midcast.Helix['Light'] = set_combine(sets.midcast.Helix, {
  395.         main="Daybreak",
  396.         sub="Culminus",
  397.     })
  398.     sets.midcast.Helix['Light'].MB = set_combine(sets.midcast.Helix.MB, {
  399.         main="Daybreak",
  400.         sub="Culminus",
  401.     })
  402.    
  403.     -- Low Damage set for when you don't want to nuke for very much. Used on T1 nukes and T1 helixes only.
  404.     -- Useful for making skillchains when bosses reflect helix back on you or build resistance based on damage dealt.
  405.     -- Subtle blow is also nice here.
  406.     sets.midcast.Elemental.Low = set_combine(sets.midcast.Recast, {
  407.         main="Warp Cudgel",
  408.         sub="Genmei Shield",
  409.         head="Kaykaus Mitra +1",
  410.         neck="Bathy Choker +1",
  411.         ear1="Dignitary's Earring",
  412.         hands={ name="Telchine Gloves", augments={'Mag. Evasion+25','"Fast Cast"+5','Enh. Mag. eff. dur. +10',}},
  413.         ring1={name="Chirich Ring +1", bag="wardrobe2"},
  414.         ring2={name="Chirich Ring +1", bag="wardrobe4"},
  415.         waist="Ninurta's Sash",
  416.         legs="Pinga Pants +1",
  417.         feet="Regal Pumps +1"
  418.     })
  419.     sets.midcast.Helix.Low = set_combine(sets.midcast.Elemental.Low, {
  420.     })
  421.  
  422.     sets.midcast.Kaustra = set_combine(sets.midcast.Elemental, { -- INT -> MaB --
  423.         --main="Opashoro",
  424.         --sub="Enki Strap",
  425.         --sub="Khonsu",
  426.         main="Bunzi's Rod",
  427.         sub="Ammurapi Shield",
  428.         ammo="Ghastly Tathlum +1",
  429.         head="Arbatel Bonnet +3",
  430.         neck="Argute Stole +2",
  431.         ear1="Regal Earring",
  432.         ear2="Arbatel Earring +2",
  433.         body="Arbatel Gown +3",
  434.         hands="Agwu's Gages",
  435.         ring1="Archon Ring",
  436.         ring2="Metamorph Ring +1",
  437.         back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},
  438.         waist="Sacro Cord",
  439.         legs="Agwu's Slops",
  440.         feet="Arbatel Loafers +3"
  441.     })
  442.     sets.midcast.Kaustra.MB  = set_combine(sets.midcast.Kaustra, {
  443.         body="Agwu's Robe"
  444.     })
  445.     sets.midcast.Kaustra.Weather  = set_combine(sets.midcast.Kaustra, {  -- Priority: Weather effect -> INT -> MaB --
  446.         waist="Hachirin-no-Obi"
  447.     })
  448.     sets.midcast.Kaustra.MB.Weather  = set_combine(sets.midcast.Kaustra.MB, { -- Priority: MB% -> Weather effect -> INT -> MaB --
  449.          waist="Hachirin-no-Obi"
  450.     })
  451.  
  452.     sets.midcast['Impact'] = set_combine(sets.midcast.Elemental.MB, {  -- Make sure to leave the head empty --
  453.         head=empty,
  454.         body="Crepuscular Cloak",
  455.         --hands="Academic's Bracers +3",
  456.         --ring1={name="Stikini Ring +1", bag="wardrobe2"},
  457.         --ring2={name="Stikini Ring +1", bag="wardrobe4"},
  458.         --legs={ name="Chironic Hose", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Haste+1','MND+10','Mag. Acc.+7','"Mag.Atk.Bns."+11',}},
  459.         --feet="Academic's Loafers +3"
  460.     })
  461.    
  462.     sets.midcast.Enlightenment = {
  463.         body="Pedagogy Gown +4",
  464.     }
  465.    
  466.     -- Weaponskills --
  467.     sets.WS = {
  468.         ammo="Oshasha's Treatise",
  469.         head="Nyame Helm",
  470.         neck="Sanctity Necklace",
  471.         ear1="Regal Earring",
  472.         ear2="Arbatel Earring +2",
  473.         body="Nyame Mail",
  474.         hands="Nyame Gauntlets",
  475.         ring1="Epaminondas's Ring",
  476.         ring2="Metamorph Ring +1",
  477.         back="Aurist's Cape +1",
  478.         waist="Acuity Belt +1",
  479.         legs="Nyame Flanchard",
  480.         feet="Nyame Sollerets"
  481.     }
  482.  
  483.     sets.WS['Myrkr'] = set_combine(sets.WS, {
  484.         head="Amalric Coif +1",
  485.         neck="Sanctity Necklace",
  486.         ear1="Gifted Earring",
  487.         ear2="Etiolation Earring",
  488.         body="Academic's Gown +3",
  489.         hands="Academic's Bracers +3",
  490.         ring1="Mephitas's Ring +1",
  491.         ring2="Mephitas's Ring",
  492.         back="Aurist's Cape +1",
  493.         waist="Luminary Sash",
  494.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  495.         feet="Psycloth Boots"
  496.     })
  497.  
  498.     sets.WS['Oshala'] = set_combine(sets.WS, {
  499.         neck="Argute Stole +2",
  500.     })
  501.  
  502.     sets.WS['Shattersoul'] = set_combine(sets.WS, {})
  503.     sets.WS['Omniscience'] = set_combine(sets.WS, {})
  504.  
  505.     -- /SMN sets
  506.     sets.midcast.BloodPact = {
  507.         head={ name="Helios Band", augments={'Pet: Mag. Acc.+29','"Blood Pact" ability delay -5','Summoning magic skill +8',}},
  508.         legs={ name="Helios Spats", augments={'Pet: Mag. Acc.+25','"Blood Pact" ability delay -5','Summoning magic skill +6',}},
  509.         feet={ name="Helios Boots", augments={'Pet: Mag. Acc.+29','"Blood Pact" ability delay -5','Summoning magic skill +8',}}
  510.     }
  511.    
  512.     sets.pet_midcast = {}
  513.    
  514.     sets.pet_midcast.Ward = {
  515.         -- main="Vayuvata III",
  516.         -- sub="Vox Grip",
  517.         -- neck="Incanter's Torque",
  518.         -- ear1="Andoaa Earring",
  519.         -- ear2="Lodurr Earring",
  520.         -- ring1={name="Stikini Ring +1", bag="wardrobe2"},
  521.         -- ring2={name="Stikini Ring +1", bag="wardrobe4"},
  522.         -- waist="Kobo Obi",
  523.     }
  524.    
  525.     sets.pet_midcast.Rage = {
  526.     }
  527.  
  528.     ---- Aftercast ----
  529.     sets.aftercast = {
  530.         main="Mpaca's Staff",
  531.         sub="Oneiros Grip",
  532.         ammo="Homiliary",
  533.         head={ name="Chironic Hat", augments={'"Fast Cast"+2','"Refresh"+2','Mag. Acc.+18 "Mag.Atk.Bns."+18',}},
  534.         neck="Loricate Torque +1",
  535.         ear1={ name="Moonshade Earring", augments={'MP+25','Latent effect: "Refresh"+1',}},
  536.         ear2="Arbatel Earring +2",
  537.         body="Arbatel Gown +3",
  538.         hands={ name="Chironic Gloves", augments={'Pet: INT+10','AGI+12','"Refresh"+2','Accuracy+6 Attack+6',}},
  539.         ring1={name="Stikini Ring +1", bag="wardrobe2"},
  540.         ring2={name="Stikini Ring +1", bag="wardrobe4"},
  541.         back={ name="Lugh's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},
  542.         waist="Carrier's Sash",
  543.         legs={ name="Chironic Hose", augments={'AGI+8','Pet: Mag. Acc.+14','"Refresh"+2','Accuracy+16 Attack+16','Mag. Acc.+15 "Mag.Atk.Bns."+15',}},
  544.         feet={ name="Chironic Slippers", augments={'Pet: INT+6','"Snapshot"+1','"Refresh"+2','Accuracy+12 Attack+12','Mag. Acc.+4 "Mag.Atk.Bns."+4',}},
  545.     }
  546.  
  547.     sets.aftercast.Sub50 = set_combine(sets.aftercast, { waist="Fucho-no-obi" })
  548.    
  549.     sets.aftercast.Shiva = set_combine(sets.aftercast, {
  550.         --main="Vourukasha III",
  551.         --sub="Oneiros Grip",
  552.         waist="Avatar Belt",
  553.     })
  554.     sets.aftercast.Siren = set_combine(sets.aftercast, {
  555.         --main="Vayuvata III",
  556.         --sub="Oneiros Grip",
  557.         waist="Avatar Belt",
  558.     })
  559.     sets.aftercast.Garuda = sets.aftercast.Siren   
  560.     sets.aftercast.Ramuh = set_combine(sets.aftercast, {
  561.         --main="Apamajas III",
  562.         --sub="Oneiros Grip",
  563.         waist="Avatar Belt",
  564.     })
  565.     sets.aftercast.Pet = set_combine(sets.aftercast, {
  566.         ear2="Evans Earring",
  567.         waist="Avatar Belt",
  568.         legs="Assiduity Pants +1",
  569.     })
  570.  
  571.     sets.aftercast.Move = set_combine(sets.aftercast, {
  572.         ring2="Shneddick Ring +1"
  573.     })
  574.  
  575.     sets.aftercast.DT = set_combine(sets.aftercast, {
  576.         main="Bolelabunga",
  577.         sub="Genmei Shield",
  578.         head="Arbatel Bonnet +3",
  579.         hands="Nyame Gauntlets",
  580.         legs="Nyame Flanchard",
  581.         feet="Arbatel Loafers +3"
  582.     })
  583.    
  584.     sets.aftercast.Kite = set_combine(sets.aftercast.DT, {
  585.         ring2="Shneddick Ring +1",
  586.     })
  587.  
  588.     sets.aftercast.TP = {
  589.         ammo="Oshasha's Treatise",
  590.         head="Nyame Helm",
  591.         neck="Lissome Necklace",
  592.         ear1="Telos Earring",
  593.         ear2="Crepuscular Earring",
  594.         body="Nyame Mail",
  595.         hands="Nyame Gauntlets",
  596.         ring1={name="Chirich Ring +1", bag="wardrobe2"},
  597.         ring2={name="Chirich Ring +1", bag="wardrobe4"},
  598.         back="Aurist's Cape +1",
  599.         waist="Cetl Belt",
  600.         legs="Nyame Flanchard",
  601.         feet="Nyame Sollerets"
  602.     }
  603.  
  604.     sets.aftercast.Town = set_combine(sets.aftercast, { -- For town --
  605.         --feet="Herald's Gaiters"
  606.     })
  607.  
  608.     -- Variables
  609.     EnfeeblingMND = S{"Paralyze","Slow","Frazzle","Distract","Addle"}
  610.     EnfeeblingDuration = S{"Sleep","Sleepga","Sleep II","Sleepga II","Bind","Silence","Break"}
  611.     EnfeeblingEle = S{"Burn","Rasp","Drown","Choke","Frost","Shock"}
  612.     NoSwap = S{"Light Arts","Dark Arts","Addendum: White","Addendum: Black","Celerity","Alacrity","Penury","Parsimony","Accession","Manifestation","Rapture","Ebullience","Altruism","Focalization","Tranquility","Equanimity","Perpetuance","Immanence"}
  613.     Immanence = false
  614.     Perpetuance = false
  615. end
  616.  
  617. ---- .::Pretarget Functions::. ---->
  618. function pretarget(spell,action)
  619.     -- Auto Remedy --
  620.     if AutoRemedy then
  621.         if buffactive['Silence'] or buffactive['Paralysis'] then
  622.             if spell.action_type == 'Magic' or spell.type == 'JobAbility' then
  623.                 cancel_spell()
  624.                 send_command('input /item "Remedy" <me>')
  625.             end
  626.         end
  627.     end
  628.     -- Do not let me Helix2 on Leshonn/Gartell like an idiot
  629.     if string.find(spell.english, 'helix II') and NoHelixMonsters:contains(spell.target.name) then
  630.         cancel_spell()
  631.         send_command('console_echo "Helix II disabled on Target: '..tostring(spell.target.name)..'"')
  632.     end
  633. end
  634.  
  635. ---- .::Precast Functions::. ---->
  636. function precast(spell)
  637.     if spell.type=="Item" or NoSwap:contains(spell.name) then
  638.         return
  639.     end
  640.     -- Check for a specific set
  641.     if sets.precast[spell.english] then
  642.         equipSet = sets.precast[spell.english]
  643.     elseif spell.action_type == 'Magic' then
  644.         equipSet = sets.precast.FC
  645.         if WeaponLock and equipSet.WeaponLock then
  646.             equipSet = equipSet.WeaponLock
  647.         end
  648.         equipSet = checkStratagemSets(equipSet)
  649.         if spell.type == 'BlackMagic' and buffactive['Dark Arts'] and equipSet.Grimoire then
  650.             equipSet = equipSet.Grimoire
  651.         elseif spell.type == 'WhiteMagic' and buffactive['Light Arts'] and equipSet.Grimoire then
  652.             equipSet = equipSet.Grimoire
  653.         end
  654.     -- Job Abilities --
  655.     elseif spell.type == 'JobAbility' then
  656.         equipSet = sets.JA[spell.english]
  657.     -- Weaponskills --
  658.     elseif spell.type == 'WeaponSkill' then
  659.         if sets.WS[spell.english] then
  660.             equipSet = sets.WS[spell.english]
  661.         else
  662.             equipSet = sets.WS
  663.         end
  664.     end
  665.     if (equipSet) then
  666.         equip(equipSet)
  667.     end
  668. end
  669.  
  670. ---- .::Midcast Functions::. ---->
  671. function midcast(spell)
  672.     if spell.name == 'Immanence' then
  673.         Immanence = true
  674.     elseif spell.name == 'Perpetuance' then
  675.         Perpetuance = true
  676.     end
  677.     if spell.type=="Item" or NoSwap:contains(spell.name) then
  678.         return
  679.     end
  680.     -- Everything that has a specific name set --
  681.     if sets.midcast[spell.english] then
  682.         if spell.skill == 'Enhancing' and buffactive[469] then
  683.             equip(sets.midcast[spell.english], gear.Duration_Hands)
  684.         elseif spell.english == 'Stun' and buffactive[363] then
  685.             equip(sets.midcast[spell.english], gear.Alacrity_Feet)
  686.         else
  687.             equip(sets.midcast[spell.english])
  688.         end
  689.     elseif spell.action_type == 'Magic' then
  690.         -- Healing Magic --
  691.         if string.find(spell.english, 'Cure') or string.find(spell.english, 'Cura') then
  692.             if WeaponLock then
  693.                 if buffactive[364] then
  694.                     equip(sets.midcast.Cure.WeaponLock, gear.Rapture_Head)
  695.                 else
  696.                     equip(sets.midcast.Cure.WeaponLock)
  697.                 end
  698.             elseif spell.element == world.weather_element or spell.element == world.day_element then
  699.                 if buffactive[364] then
  700.                     equip(sets.midcast.Cure.Weather, gear.Rapture_Head)
  701.                 else
  702.                     equip(sets.midcast.Cure.Weather)
  703.                 end
  704.             elseif buffactive[364] then
  705.                 equip(sets.midcast.Cure, gear.Rapture_Head)
  706.             else
  707.                 equip(sets.midcast.Cure)
  708.             end
  709.         -- Enhancing Magic --
  710.         elseif spell.skill=="Enhancing Magic" then
  711.             if string.find(spell.english, 'Haste') or string.find(spell.english, 'storm') or string.find(spell.english, 'Reraise') or string.find(spell.english, 'Flurry') or string.find(spell.english, 'Bar') or string.find(spell.english, 'Embrava') or string.find(spell.english, 'Protect') or string.find(spell.english, 'Shell') or string.find(spell.english, 'Adloquium') or string.find(spell.english, 'Animus') then
  712.                 if buffactive[469] or Perpetuance then
  713.                     if WeaponLock then
  714.                         equip(sets.midcast.Enhancing.WeaponLock, gear.Duration_Hands)
  715.                     else
  716.                         equip(sets.midcast.Enhancing, gear.Duration_Hands)
  717.                     end
  718.                 else
  719.                     equip(sets.midcast.Enhancing)
  720.                 end
  721.             elseif string.find(spell.english, 'Refresh') then
  722.                 if buffactive[469] or Perpetuance then
  723.                     if WeaponLock then
  724.                         equip(sets.midcast.Enhancing.WeaponLock, gear.Refresh_Head, gear.Duration_Hands)
  725.                     else
  726.                         equip(sets.midcast.Enhancing, gear.Refresh_Head, gear.Duration_Hands)
  727.                     end
  728.                 else
  729.                     equip(sets.midcast.Enhancing, gear.Refresh_Head)
  730.                 end
  731.             elseif string.find(spell.english, 'Regen') then
  732.                 equipSet = sets.midcast.Regen
  733.                 if RegenPotency and equipSet["Potency"] then
  734.                     equipSet = equipSet["Potency"]
  735.                 end
  736.                 if buffactive[469] or Perpetuance then
  737.                     equip(equipSet, gear.Duration_Hands)
  738.                 else
  739.                     equip(equipSet)
  740.                 end
  741.             else
  742.                 if buffactive[469] or Perpetuance then
  743.                     equip(sets.midcast.Enhancing, gear.Duration_Hands)
  744.                 else
  745.                     equip(sets.midcast.Enhancing)
  746.                 end
  747.             end
  748.             if Perpetuance then
  749.                 Perpetuance = false
  750.             end
  751.         -- Enfeebling Magic --
  752.         elseif spell.skill=="Enfeebling Magic" then
  753.             if EnfeeblingDuration:contains(spell.name) then
  754.                 equip(sets.midcast.Enfeebling.Duration)
  755.             elseif EnfeeblingEle:contains(spell.name) then
  756.                 equip(sets.midcast.Enfeebling.Ele)
  757.             elseif EnfeeblingMND:contains(spell.name) then
  758.                 equip(sets.midcast.Enfeebling.MND)
  759.             elseif spell.type=="BlackMagic" then
  760.                 equip(sets.midcast.Enfeebling.INT)
  761.             else
  762.                 equip(sets.midcast.Enfeebling)
  763.             end
  764.         -- Dark Magic --
  765.         elseif spell.skill == 'Dark Magic' then
  766.             if spell.english == 'Stun' then
  767.                 if buffactive[363] then
  768.                     equip(sets.midcast['stun'], gear.Alacrity_Feet)
  769.                 else
  770.                     equip(sets.midcast[spell.english])
  771.                 end
  772.             elseif string.find(spell.english, 'Aspir') or string.find(spell.english, 'Drain') then
  773.                 equip(sets.midcast.Aspir)
  774.             elseif spell.english == 'Kaustra' then
  775.                 if MagicBurst then
  776.                     if spell.element == world.weather_element or spell.element == world.day_element then
  777.                         if buffactive[407] then
  778.                             equip(sets.midcast.Kaustra.MB.Weather, gear.Klimaform_Feet)
  779.                         else
  780.                             equip(sets.midcast.Kaustra.MB.Weather)
  781.                         end
  782.                     else
  783.                         equip(sets.midcast.Kaustra.MB)
  784.                     end
  785.                 elseif spell.element == world.weather_element or spell.element == world.day_element then
  786.                     if buffactive[407] then
  787.                         equip(sets.midcast.Kaustra.Weather, gear.Klimaform_Feet)
  788.                     else
  789.                         equip(sets.midcast.Kaustra.Weather)
  790.                     end
  791.                 else
  792.                     equip(sets.midcast.Kaustra)
  793.                 end
  794.             else
  795.                 equip(sets.midcast.Dark)
  796.             end
  797.         -- Elemental Magic --
  798.         elseif spell.skill == 'Elemental Magic' then
  799.             equipSet = sets.midcast.Elemental
  800.             if VagaryMode and not buffactive['Immanence'] and not Immanence then
  801.                 equipSet = sets.midcast.Elemental.Vagary
  802.             elseif string.find(spell.english, 'helix') then
  803.                 equipSet = sets.midcast.Helix
  804.             end
  805.             -- Conditional subsets
  806.             if LowDmg and equipSet.Low and not string.find(spell.english, 'II') and not string.find(spell.english, 'V') then
  807.                 equipSet = equipSet.Low
  808.             end
  809.             if equipSet[spell.element] then
  810.                 equipSet = equipSet[spell.element]
  811.             end
  812.             if OccultMode and equipSet.Occult then
  813.                 equipSet = equipSet.Occult
  814.             end
  815.             if MagicBurst and equipSet.MB then
  816.                 equipSet = equipSet.MB
  817.             end
  818.             if (spell.element == world.weather_element or spell.element == world.day_element) and equipSet.Weather then
  819.                 equipSet = equipSet.Weather
  820.             end
  821.             equipSet = checkStratagemSets(equipSet)
  822.             equip(equipSet)
  823.             -- Klimaform feet check
  824.             if spell.element == world.weather_element or spell.element == world.day_element and buffactive[407] then
  825.                 equip(gear.Klimaform_Feet)
  826.             end
  827.             -- Check for element-specific nuking pieces
  828.             if gear[spell.element] then
  829.                 equip(gear[spell.element])
  830.             end
  831.             if Immanence then
  832.                 Immanence = false
  833.             end
  834.         elseif spell.type=="BloodPactWard" or spell.type=="BloodPactRage" then
  835.             equip(sets.midcast.BloodPact)
  836.         -- Everything else that doesn't have a specific set for it --
  837.         else
  838.             equip(sets.midcast.Recast)
  839.         end
  840.     end
  841.     -- Treasure Hunter
  842.     if TreasureHunter and THSpells:contains(spell.name) then
  843.         equip(sets.TH)
  844.     end
  845.     -- Auto-cancel existing buffs
  846.     if spell.name=="Stoneskin" and buffactive["Stoneskin"] then
  847.         windower.send_command('cancel 37;')
  848.     elseif spell.name=="Sneak" and buffactive["Sneak"] and spell.target.type=="SELF" then
  849.         windower.send_command('cancel 71;')
  850.     elseif spell.name=="Utsusemi: Ichi" and buffactive["Copy Image"] then
  851.         windower.send_command('wait 1;cancel 66;')
  852.     end
  853. end
  854.  
  855. ---- .::Aftercast Sets::. ---->
  856. function aftercast(spell,action)
  857.     if spell.type=="Item" or NoSwap:contains(spell.name) then
  858.         return
  859.     end
  860.     idle()
  861. end
  862.  
  863. function pet_midcast(spell)
  864.     if spell.type=="BloodPactWard" then
  865.         equip(sets.pet_midcast.Ward)
  866.     elseif spell.type=="BloodPactRage" then
  867.         equip(sets.pet_midcast.Rage)
  868.     end
  869. end
  870.  
  871. function pet_aftercast()
  872.     if not midaction() then
  873.         idle()
  874.     end
  875. end
  876.  
  877. ---- .::Status Changes Functions::. ---->
  878. function status_change(new,tab,old)
  879.     idle()
  880. end
  881.  
  882. function pet_change(pet,gain)
  883.     if not midaction() and not pet_midaction() then
  884.         idle()
  885.     end
  886. end
  887.  
  888. --- ..::Self Commands functions::.. --->
  889. function self_command(command)
  890.     for _, v in ipairs(IdleModes) do
  891.         if command:lower()==v:lower() then
  892.             IdleMode = v
  893.             send_command('console_echo "Idle Mode: ['..IdleMode..']"')
  894.             idle()
  895.             return
  896.         end
  897.     end
  898.     if command:lower()=="magicburst" then
  899.         MagicBurst = MagicBurst==false
  900.         send_command('console_echo "Magic Burst Set: '..tostring(MagicBurst)..'"')
  901.     elseif command == "ToggleIdle" then
  902.         if IdleMode=="Kite" then
  903.             IdleMode = "DT"
  904.         elseif IdleMode=="DT" then
  905.             IdleMode = "Refresh"
  906.         elseif IdleMode=="Refresh" then
  907.             IdleMode = "Move"
  908.         else
  909.             IdleMode = "Kite"
  910.         end
  911.         send_command('console_echo "Idle Mode: '..IdleMode..'"')
  912.     elseif command:lower()=='weaponlock' then
  913.         WeaponLock = WeaponLock==false
  914.         send_command('console_echo "Weapon Lock: '..tostring(WeaponLock)..'"')
  915.         if WeaponLock then
  916.             --equip({main="Opashoro", sub="Enki Strap"})
  917.             equip({main="Opashoro", sub="Khonsu"})
  918.             disable('main', 'sub', 'range')
  919.         else
  920.             enable('main', 'sub', 'range')
  921.         end
  922.     elseif command:lower()=="th" then
  923.         TreasureHunter = TreasureHunter==false
  924.         send_command('console_echo "Treasure Hunter Mode: '..tostring(TreasureHunter)..'"')
  925.     elseif command:lower()=="low" then
  926.         LowDmg = LowDmg==false
  927.         send_command('console_echo "Low Damage T1 Set: '..tostring(LowDmg)..'"')
  928.     elseif command:lower()=="occult" then
  929.         OccultMode = OccultMode==false
  930.         send_command('console_echo "Occult Acumen Mode: '..tostring(OccultMode)..'"')
  931.     elseif command:lower()=="regen" then
  932.         RegenPotency = RegenPotency==false
  933.         send_command('console_echo "Regen Potency Mode: '..tostring(RegenPotency)..'"')
  934.     elseif command:lower()=="vagary" then
  935.         VagaryMode = VagaryMode==false
  936.         send_command('console_echo "Vagary Mode: '..tostring(VagaryMode)..'"')
  937.     elseif command:lower()=="lightart" then
  938.         send_command('input /ja "Light Arts" <me>;input /ja "Addendum: White" <me>')
  939.     elseif command:lower()=="darkart" then
  940.         send_command('input /ja "Dark Arts" <me>;input /ja "Addendum: Black" <me>')
  941.     end
  942.     idle()
  943. end
  944.  
  945. -- Automatically changes Idle gears if you zone in or out of town --
  946. windower.register_event('zone change', function()
  947.     idle()
  948. end)
  949.  
  950. -- Will make gears change the seconds you use Sublimation or the second it gets completed --
  951. function buff_change(buff,gain)
  952.     if midaction() then
  953.         return
  954.     end
  955.     if buff=="Sneak" or buff=="Invisible" or buff=="Sublimation: Activated" then
  956.         idle()
  957.     end
  958. end
  959.  
  960. function idle()
  961.     --if TownIdle:contains(world.area:lower()) then
  962.     --  return
  963.     --end
  964.     equipSet = sets.aftercast
  965.     if IdleMode=='Auto' then
  966.         if player.mpp < 50 then
  967.             equipSet = sets.aftercast.Sub50
  968.         else
  969.             equipSet = sets.aftercast.DT
  970.         end
  971.     elseif equipSet[IdleMode] then
  972.         equipSet = equipSet[IdleMode]
  973.     end
  974.     if pet.isvalid then
  975.         if equipSet[pet.name] then
  976.             equipSet = equipSet[pet.name]
  977.         elseif equipSet["Pet"] then
  978.             equipSet = equipSet["Pet"]
  979.         end
  980.     end
  981.     if player.mpp < 50 and equipSet['Sub50'] then
  982.         equipSet = equipSet['Sub50']
  983.     end
  984.     equip(equipSet)
  985.     if buffactive['Sneak'] or buffactive['Invisible'] or buffactive["Bolter's Roll"] then
  986.         equip({ring2="Shneddick Ring +1"})
  987.     end
  988. end
  989.  
  990. function checkStratagemSets(equipSet)
  991.     if (equipSet) then
  992.         if (buffactive['Immanence'] or Immanence) and equipSet['Immanence'] then
  993.             equipSet = equipSet['Immanence']
  994.         elseif (buffactive['Perpetuance'] or Perpetuance) and equipSet['Perpetuance'] then
  995.             equipSet = equipSet['Perpetuance']
  996.         end
  997.     end
  998.     return equipSet
  999. end
Add Comment
Please, Sign In to add comment