Advertisement
Arnan

BLU Lua 28/01/2016

Jan 28th, 2016
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 75.34 KB | None | 0 0
  1.  
  2.         -----------------------------------------------
  3.         -- *** Arnan Blue Mage Gearswap Lua File *** --
  4.         -----------------------------------------------
  5.            
  6.             -- Things to do --
  7.                 -- Add Lunge to MB toggle and find a way to incorporate obi
  8.                 -- Add New spells (other than Mighty Guard)
  9.  
  10.         ----------
  11.         -- Sets --
  12.         ----------
  13.  
  14. function get_sets()
  15.         AccIndex = 1
  16.         AccArray = {"LowACC","MidACC","HighACC","MaxACC"} -- 4 Levels Of Accuracy Sets For TP/WS. Default ACC Set Is LowACC (1) --
  17.         WeaponIndex = 3
  18.         WeaponArray = {"Single","DW3","DW4"} -- Amount of Dual Wield used for TP. Default is DW4 (3) --
  19.         IdleIndex = 1
  20.         IdleArray = {"Full","DT"} -- Default Idle Set Is Full (1) --
  21.         Armor = 'None'
  22.         target_distance = 6 -- Set Default Distance Here --
  23.         Thaumas = 'OFF' -- Set Default Thaumas Coat ON or OFF Here --
  24.         MB = 'OFF' -- Set Default Magic Burst ON or OFF Here --
  25.         Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
  26.         Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
  27.         send_command('input /macro book 20;wait .1;input /macro set 1') -- Change Default Macro Book Here --
  28.         add_to_chat(158,'-[Blue Mage Lua Loaded]-')
  29.         add_to_chat(155,'Dual Wield: '..WeaponArray[WeaponIndex])
  30.         add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  31.         add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  32.  
  33.        
  34.         -- Town/City Areas --
  35.         Cities = S{
  36.                         "Ru'lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno",
  37.                         "Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
  38.                         "Port San d'Oria","Northern San d'Oria","Southern San d'Oria",
  39.                         "Port Bastok","Bastok Markets","Bastok Mines","Metalworks",
  40.                         "Aht Urhgan Whitegate","Nashmau","Tavanazian Safehold",
  41.                         "Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham","Tavnazia"}
  42.                    
  43.         -- Physical Blue Magic --
  44.         PhysicalBlueMagic = S{
  45.                         'Asuran Claws','Bludgeon','Body Slam','Feather Storm','Mandibular Bite','Queasyshroom',
  46.                         'Power Attack','Ram Charge','Saurian Slide','Screwdriver','Sickle Slash','Smite of Rage',
  47.                         'Spinal Cleave','Spiral Spin','Sweeping Gouge','Terror Touch'}
  48.  
  49.         -- STR Physical Blue Magic --
  50.         PhysicalBlueMagic_STR = S{
  51.                         'Battle Dance','Bloodrake','Death Scissors','Dimensional Death','Empty Thrash',
  52.                         'Quadrastrike','Uppercut','Tourbillion','Thrashing Assault','Vertical Cleave',
  53.                         'Whirl of Rage'}
  54.  
  55.         -- DEX Physical Blue Magic --
  56.         PhysicalBlueMagic_DEX = S{
  57.                         'Amorphic Spikes','Barbed Crescent','Claw Cyclone','Disseverment','Foot Kick',
  58.                         'Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad','Seedspray',
  59.                         'Sinker Drill','Vanity Dive'}
  60.  
  61.         -- VIT Physical Blue Magic --
  62.         PhysicalBlueMagic_VIT = S{
  63.                         'Cannonball','Delta Thrust','Glutinous Dart','Grand Slam','Quad. Continuum',
  64.                         'Sprout Smack'}
  65.  
  66.         -- AGI Physical Blue Magic --
  67.         PhysicalBlueMagic_AGI = S{
  68.                         'Benthic Typhoon','Helldive','Hydro Shot','Jet Stream','Pinecone Bomb','Wild Oats'}
  69.            
  70.         -- Physical Accuracy Blue Magic --         
  71.         BlueMagic_PhysicalACC = S{
  72.                         'Heavy Strike'}
  73.        
  74.         -- Magical Blue Magic --
  75.         MagicalBlueMagic = S{
  76.                         'Acrid Stream','Anvil Lightning','Crashing Thunder','Charged Whisker','Droning Whirlwind','Firespit',
  77.                         'Foul Waters','Gates of Hades','Leafstorm','Molting Plumage','Nectarous Deluge','Polar Roar',
  78.                         'Regurgitation','Rending Deluge','Scouring Spate','Searing Tempest','Silent Storm','Spectral Floe',
  79.                         'Subduction','Tem. Upheaval','Thermal Pulse','Thunderbolt','Uproot','Water Bomb'}
  80.            
  81.         -- Dark Magical Blue Magic --          
  82.         BlueMagic_Dark = S{
  83.                         'Atra. Libations','Blood Saber','Dark Orb','Death Ray','Eyes On Me',
  84.                         'Evryone. Grudge','Palling Salvo','Tenebral Crush'}
  85.        
  86.         -- Light Magical Blue Magic --
  87.         BlueMagic_Light = S{
  88.                         'Blinding Fulgor','Diffusion Ray','Magic Hammer','Rail Cannon','Retinal Glare'}
  89.        
  90.         -- Earth Magical Blue Magic --
  91.         BlueMagic_Earth = S{
  92.                         'Embalming Earth','Entomb','Sandspin'}
  93.  
  94.         -- Magic Accuracy Blue Magic --
  95.         BlueMagic_Accuracy = S{
  96.                         '1000 Needles','Absolute Terror','Auroral Drape','Awful Eye','Blank Gaze','Blistering Roar',
  97.                         'Blood Drain','Blood Saber','Chaotic Eye','Cimicine Discharge','Cold Wave','Digest','Corrosive Ooze',
  98.                         'Demoralizing Roar','Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar',
  99.                         'Geist Wall','Hecatomb Wave','Infrasonics','Light of Penance','Lowing','Mind Blast','Mortal Ray',
  100.                         'MP Drainkiss','Osmosis','Reaving Wind','Sheep Song','Soporific','Sound Blast','Stinking Gas',
  101.                         'Sub-zero Smash','Triumphant Roar','Venom Shell','Voracious Trunk','Yawn'}
  102.  
  103.         -- Breath Blue Magic --
  104.         BlueMagic_Breath = S{
  105.                         'Bad Breath','Flying Hip Press','Final Sting','Frost Breath','Heat Breath','Magnetite Cloud',
  106.                         'Poison Breath','Radiant Breath','Self Destruct','Thunder Breath','Wind Breath'}
  107.  
  108.         -- Blue Magic Buffs --
  109.         BlueMagic_Buff = S{
  110.                         'Carcharian Verve','Diamondhide','Metallic Body','Magic Barrier',"Occultation",
  111.                         'Orcish Counterstance','Plasma Charge','Pyric Bulwark','Reactor Cool'}
  112.                            
  113.         -- Blue Magic Healing --                   
  114.         BlueMagic_Healing = S{
  115.                         'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','Restoral','Wild Carrot'}
  116.                        
  117.         -- HP Cure Blue Magic --               
  118.         BlueMagic_HPCure = S{
  119.                         'White Wind'}
  120.  
  121.         -- Blue Magic Stun --
  122.         BlueMagic_Stun = S{
  123.                         'Blitzstrahl','Temporal Shift'}
  124.        
  125.         -- Blue Magic Physical Stun --
  126.         BlueMagic_PhysicalStun = S{
  127.                         'Frypan','Head Butt','Sudden Lunge','Tail slap','Whirl of Rage'}       
  128.        
  129.         -- Blue Magic Enmity --
  130.         BlueMagic_Emnity = S{
  131.                         'Actinic Burst','Exuviation','Fantod','Jettatura'}     
  132.  
  133.         -- Diffusion --
  134.         BlueMagic_Diffusion = S{
  135.                         'Amplification','Cocoon','Exuviation','Feather Barrier','Harden Shell','Memento Mori','Metallic Body',
  136.                         'Mighty Guard','Plasma Charge','Reactor Cool','Refueling','Saline Coat','Warm-Up','Zephyr Mantle'}
  137.  
  138.         -- Unbridled --
  139.         BlueMagic_Unbridled = S{
  140.                         'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
  141.                         'Droning Whirlwind','Gates of Hades','Harden Shell','Mighty Guard','Pyric Bulwark',
  142.                         'Thunderbolt','Tourbillion'}
  143.        
  144.         -- Herculean Helm Augments --
  145.         HerculeanHelm={}
  146.         HerculeanHelm.MAB={ name="Herculean Helm", augments={'Mag. Acc.+6 "Mag.Atk.Bns."+6','Magic burst mdg.+5%','INT+8','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}
  147.        
  148.         -- Herculean Gloves Augments --
  149.         HerculeanGloves={}
  150.         HerculeanGloves.ACC={ name="Herculean Gloves", augments={'Accuracy+22 Attack+22','DEX+8','Accuracy+12','Attack+7',}}
  151.         HerculeanGloves.DT={ name="Herculean Gloves", augments={'Damage taken-3%','DEX+8','Accuracy+11','Attack+10',}}
  152.        
  153.         -- Herculean Trousers Augments --
  154.         HerculeanTrousers={}   
  155.         HerculeanTrousers.ACC={ name="Herculean Trousers", augments={'Accuracy+24 Attack+24','"Store TP"+3','Accuracy+14',}}
  156.        
  157.         -- Herculean Boots Augments --
  158.         HerculeanBoots={}
  159.         HerculeanBoots.DW={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Dual Wield"+6',}}
  160.         HerculeanBoots.TA={ name="Herculean Boots", augments={'Accuracy+27','"Triple Atk."+4','DEX+7','Attack+13',}}
  161.         HerculeanBoots.DT={ name="Herculean Boots", augments={'Accuracy+12','Phys. dmg. taken -5%','Attack+5',}}
  162.         HerculeanBoots.WSD={ name="Herculean Boots", augments={'Accuracy+18 Attack+18','Weapon skill damage +5%','STR+9','Attack+10',}}
  163.            
  164.         --------------------
  165.         -- Idle/Town Sets --
  166.         --------------------
  167.         sets.Idle = {
  168.                         ammo="Iron Gobbet",
  169.                         head="Spurrina coif",
  170.                         neck="Bathy Choker +1",
  171.                         ear1="Ethereal Earring",
  172.                         ear2="Genmei Earring",
  173.                         body="Amalric Doublet +1",
  174.                         hands=HerculeanGloves.DT,
  175.                         ring1="Defending Ring",
  176.                         ring2="Paguroidea Ring",
  177.                         back="Xucau Mantle",
  178.                         waist="Flume Belt +1",
  179.                         legs="Carmine Cuisses +1",
  180.                         feet=HerculeanBoots.DT}
  181.         sets.Idle.Full = set_combine(sets.Idle,{})
  182.         sets.Idle.DT = set_combine(sets.Idle,{
  183.                         head="Spurrina Coif",
  184.                         neck="Loricate Torque +1",
  185.                         ear1="Darkness Earring",
  186.                         ring2="Gelatinous Ring +1"})
  187.         sets.Idle.Town = set_combine(sets.Idle,{})
  188.  
  189.         -------------
  190.         -- TP Sets --
  191.         -------------
  192.          sets.TP = {
  193.                         ammo="Ginsen",
  194.                         head="Adhemar Bonnet +1",
  195.                         neck="Asperity Necklace",
  196.                         ear1="Suppanomimi",
  197.                         ear2="Eabani Earring",
  198.                         body="Adhemar Jacket",
  199.                         hands="Adhemar Wristbands",
  200.                         ring1="Petrov Ring",
  201.                         ring2="Epona's Ring",
  202.                         back="Bleating Mantle",
  203.                         waist="Shetal Stone",
  204.                         legs="Samnuha Tights",
  205.                         feet=HerculeanBoots.DW}
  206.         sets.TP.MidACC = {
  207.                         ammo="Ginsen",
  208.                         head="Dampening Tam",
  209.                         neck="Lissome Necklace",
  210.                         ear1="Suppanomimi",
  211.                         ear2="Eabani Earring",
  212.                         body="Adhemar Jacket",
  213.                         hands="Adhemar Wristbands",
  214.                         ring1="Petrov Ring",
  215.                         ring2="Epona's Ring",
  216.                         back="Lupine Cape",
  217.                         waist="Shetal Stone",
  218.                         legs="Samnuha Tights",
  219.                         feet=HerculeanBoots.DW}
  220.         sets.TP.HighACC = {
  221.                         ammo="Falcon Eye",
  222.                         head="Dampening Tam",
  223.                         neck="Subtlety Spec.",
  224.                         ear1="Suppanomimi",
  225.                         ear2="Eabani Earring",
  226.                         body="Adhemar Jacket",
  227.                         hands="Adhemar Wristbands",
  228.                         ring1="Petrov Ring",
  229.                         ring2="Epona's Ring",
  230.                         back="Ground. Mantle +1",
  231.                         waist="Shetal Stone",
  232.                         legs="Samnuha Tights",
  233.                         feet=HerculeanBoots.DW}
  234.         sets.TP.MaxACC = {
  235.                         ammo="Falcon Eye",
  236.                         head="Carmine Mask +1",
  237.                         neck="Subtlety Spec.",
  238.                         ear1="Suppanomimi",
  239.                         ear2="Eabani Earring",                 
  240.                         body="Adhemar Jacket",
  241.                         hands=HerculeanGloves.ACC,
  242.                         ring1="Ramuh Ring +1",
  243.                         ring2="Ramuh Ring +1",
  244.                         back="Ground. Mantle +1",
  245.                         waist="Shetal Stone",
  246.                         legs="Carmine Cuisses +1",
  247.                         feet=HerculeanBoots.DW}
  248.  
  249.         ---------------------------
  250.         -- Single Weapon TP Sets --
  251.         ---------------------------
  252.         sets.TP.Single = {
  253.                         ammo="Ginsen",
  254.                         head="Adhemar Bonnet +1",
  255.                         neck="Asperity Necklace",
  256.                         ear1="Cessance Earring",
  257.                         ear2="Brutal Earring",
  258.                         body="Adhemar Jacket",
  259.                         hands="Adhemar Wristbands",
  260.                         ring1="Petrov Ring",
  261.                         ring2="Epona's Ring",
  262.                         back="Bleating Mantle",
  263.                         waist="Windbuffet Belt +1",
  264.                         legs="Samnuha Tights",
  265.                         feet=HerculeanBoots.TA}
  266.         sets.TP.Single.MidACC = set_combine(sets.TP.Single,{
  267.                         ammo="Falcon Eye",
  268.                         back="Lupine Cape"})
  269.         sets.TP.Single.HighACC = set_combine(sets.TP.Single.MidACC,{
  270.                         ear2="Zennaroi Earring",
  271.                         neck="Subtlety Spec."})
  272.         sets.TP.Single.MaxACC = set_combine(sets.TP.Single.HighACC,{
  273.                         ring1="Ramuh Ring +1",
  274.                         back="Ground. Mantle +1",
  275.                         waist="Olseni Belt"})
  276.  
  277.         -- Single Weapon Capped Magic Haste Sets --
  278.         sets.TP.Single.HighHaste = set_combine(sets.TP.Single,{})
  279.         sets.TP.Single.MidACC.HighHaste = set_combine(sets.TP.Single.MidACC,{})
  280.         sets.TP.Single.HighACC.HighHaste = set_combine(sets.TP.Single.HighACC,{})
  281.         sets.TP.Single.MaxACC.HighHaste = set_combine(sets.TP.Single.MaxACC,{})
  282.  
  283.         -- Single Weapon Mythic AM3 Sets --
  284.         sets.TP.Single.AM3 = set_combine(sets.TP.Single,{})
  285.         sets.TP.Single.MidACC.AM3 = set_combine(sets.TP.Single.MidACC,{})
  286.         sets.TP.Single.HighACC.AM3 = set_combine(sets.TP.Single.HighACC,{})
  287.         sets.TP.Single.MaxACC.AM3 = set_combine(sets.TP.Single.MaxACC,{})
  288.        
  289.         -- Single Weapon Mythic AM3 Capped Magic Haste Sets --
  290.         sets.TP.Single.HighHaste.AM3 = set_combine(sets.TP.Single,{})
  291.         sets.TP.Single.MidACC.HighHaste.AM3 = set_combine(sets.TP.Single.MidACC,{})
  292.         sets.TP.Single.HighACC.HighHaste.AM3 = set_combine(sets.TP.Single.HighACC,{})
  293.         sets.TP.Single.MaxACC.HighHaste.AM3 = set_combine(sets.TP.Single.MaxACC,{})
  294.  
  295.         ----------------------------
  296.         -- Dual Wield III TP Sets --
  297.         ----------------------------
  298.         sets.TP.DW3 = set_combine(sets.TP,{})
  299.         sets.TP.DW3.MidACC = set_combine(sets.TP.MidACC,{})
  300.         sets.TP.DW3.HighACC = set_combine(sets.TP.HighACC,{})
  301.         sets.TP.DW3.MaxACC = set_combine(sets.TP.MaxACC,{
  302.                         ear2="Zennaroi Earring"})
  303.  
  304.         -- Dual Wield III Capped Magic Haste Sets --
  305.         sets.TP.DW3.HighHaste =  set_combine(sets.TP,{
  306.                         ear1="Cessance Earring",
  307.                         ear2="Brutal Earring",
  308.                         waist="Windbuffet Belt +1"})
  309.         sets.TP.DW3.MidACC.HighHaste =  set_combine(sets.TP.MidACC,{
  310.                         ear1="Cessance Earring",
  311.                         ear2="Brutal Earring",
  312.                         waist="Windbuffet Belt +1"})
  313.         sets.TP.DW3.HighACC.HighHaste =  set_combine(sets.TP.HighACC,{
  314.                         ear1="Cessance Earring",
  315.                         ear2="Brutal Earring",
  316.                         waist="Windbuffet Belt +1"})
  317.         sets.TP.DW3.MaxACC.HighHaste =  set_combine(sets.TP.MaxACC,{
  318.                         ear1="Cessance Earring",
  319.                         ear2="Zennaroi Earring",
  320.                         waist="Olseni Belt"})
  321.                            
  322.         -- Dual Wield III Mythic AM3 Sets --
  323.         sets.TP.DW3.AM3 = set_combine(sets.TP,{})
  324.         sets.TP.DW3.MidACC.AM3 = set_combine(sets.TP.MidACC,{})
  325.         sets.TP.DW3.HighACC.AM3 = set_combine(sets.TP.HighACC,{})
  326.         sets.TP.DW3.MaxACC.AM3 = set_combine(sets.TP.MaxACC,{
  327.                         ear2="Zennaroi Earring"})
  328.  
  329.         -- Dual Wield III Mythic AM3 Capped Magic Haste Sets --
  330.         sets.TP.DW3.HighHaste.AM3 =  set_combine(sets.TP,{
  331.                         ear1="Cessance Earring",
  332.                         ear2="Tripudio Earring",
  333.                         waist="Windbuffet Belt +1"})
  334.         sets.TP.DW3.MidACC.HighHaste.AM3 = set_combine(sets.TP.MidACC,{
  335.                         ear1="Cessance Earring",
  336.                         ear2="Tripudio Earring",
  337.                         waist="Windbuffet Belt +1"})
  338.         sets.TP.DW3.HighACC.HighHaste.AM3 = set_combine(sets.TP.HighACC,{
  339.                         ear1="Cessance Earring",
  340.                         ear2="Tripudio Earring",
  341.                         waist="Windbuffet Belt +1"})
  342.         sets.TP.DW3.MaxACC.HighHaste.AM3 = set_combine(sets.TP.MaxACC,{
  343.                         ear1="Cessance Earring",
  344.                         ear2="Zennaroi Earring",
  345.                         waist="Olseni Belt"})
  346.                                
  347.         ---------------------------
  348.         -- Dual Wield IV TP Sets --
  349.         ---------------------------
  350.         sets.TP.DW4 = set_combine(sets.TP,{
  351.                         ear2="Brutal Earring"})
  352.         sets.TP.DW4.MidACC = set_combine(sets.TP.MidACC,{
  353.                         ear2="Brutal Earring"})
  354.         sets.TP.DW4.HighACC = set_combine(sets.TP.HighACC,{
  355.                         ear2="Brutal Earring"})
  356.         sets.TP.DW4.MaxACC = set_combine(sets.TP.MaxACC,{
  357.                         ear2="Zennaroi Earring"})
  358.  
  359.         -- Dual Wield IV Capped Magic Haste Sets --
  360.         sets.TP.DW4.HighHaste =  set_combine(sets.TP,{
  361.                         ear1="Cessance Earring",
  362.                         ear2="Brutal Earring",
  363.                         waist="Windbuffet Belt +1",
  364.                         feet=HerculeanBoots.TA})
  365.         sets.TP.DW4.MidACC.HighHaste =  set_combine(sets.TP.MidACC,{
  366.                         ear1="Cessance Earring",
  367.                         ear2="Brutal Earring",
  368.                         waist="Windbuffet Belt +1",
  369.                         feet=HerculeanBoots.TA})
  370.         sets.TP.DW4.HighACC.HighHaste =  set_combine(sets.TP.HighACC,{
  371.                         ear1="Cessance Earring",
  372.                         ear2="Brutal Earring",
  373.                         waist="Windbuffet Belt +1",
  374.                         feet=HerculeanBoots.TA})
  375.         sets.TP.DW4.MaxACC.HighHaste =  set_combine(sets.TP.MaxACC,{
  376.                         ear1="Cessance Earring",
  377.                         ear2="Zennaroi Earring",
  378.                         waist="Olseni Belt",
  379.                         feet=HerculeanBoots.TA})
  380.  
  381.         -- Dual Wield IV Mythic AM3 Sets --
  382.         sets.TP.DW4.AM3 = set_combine(sets.TP,{
  383.                         ear2="Tripudio Earring"})
  384.         sets.TP.DW4.MidACC.AM3 = set_combine(sets.TP.MidACC,{
  385.                         ear2="Tripudio Earring"})
  386.         sets.TP.DW4.HighACC.AM3 = set_combine(sets.TP.HighACC,{
  387.                         ear2="Tripudio Earring"})
  388.         sets.TP.DW4.MaxACC.AM3 = set_combine(sets.TP.MaxACC,{
  389.                         ear2="Zennaroi Earring"})
  390.  
  391.         -- Dual Wield IV Mythic AM3 Capped Magic Haste Sets --
  392.         sets.TP.DW4.HighHaste.AM3 =  set_combine(sets.TP,{
  393.                         ear1="Cessance Earring",
  394.                         ear2="Tripudio Earring",
  395.                         waist="Windbuffet Belt +1",
  396.                         feet=HerculeanBoots.TA})
  397.         sets.TP.DW4.MidACC.HighHaste.AM3 = set_combine(sets.TP.MidACC,{
  398.                         ear1="Cessance Earring",
  399.                         ear2="Tripudio Earring",
  400.                         waist="Windbuffet Belt +1",
  401.                         feet=HerculeanBoots.TA})
  402.         sets.TP.DW4.HighACC.HighHaste.AM3 = set_combine(sets.TP.HighACC,{
  403.                         ear1="Cessance Earring",
  404.                         ear2="Tripudio Earring",
  405.                         waist="Windbuffet Belt +1",
  406.                         feet=HerculeanBoots.TA})
  407.         sets.TP.DW4.MaxACC.HighHaste.AM3 = set_combine(sets.TP.MaxACC,{
  408.                         ear1="Cessance Earring",
  409.                         ear2="Zennaroi Earring",
  410.                         waist="Olseni Belt",
  411.                         feet=HerculeanBoots.TA})
  412.                        
  413.         -- TP Thaumas Coat --
  414.         sets.TP.Thaumas = {body="Thaumas Coat"}
  415.  
  416.         -----------------------
  417.         -- Damage Taken Sets --
  418.         -----------------------
  419.        
  420.         -- PDT Set --
  421.         sets.PDT = {
  422.                         ammo="Iron Gobbet",
  423.                         head="Lithelimb Cap",
  424.                         neck="Loricate Torque +1",
  425.                         ear1="Ethereal Earring",
  426.                         ear2="Eabani Earring",
  427.                         body="Emet Harness +1",
  428.                         hands=HerculeanGloves.DT,
  429.                         ring1="Defending Ring",
  430.                         ring2="Gelatinous Ring +1",
  431.                         back="Xucau Mantle",
  432.                         waist="Flume Belt +1",
  433.                         legs="Iuitl Tights +1",
  434.                         feet=HerculeanBoots.DT}
  435.  
  436.         -- MDT Set --
  437.         sets.MDT = set_combine(sets.PDT,{
  438.                         ammo="Vanir Battery",
  439.                         head="Dampening Tam",
  440.                         ear1="Sanare Earring",
  441.                         ear2="Eabani Earring",
  442.                         Ring2="Shadow Ring",
  443.                         back="Engulfer Cape +1",
  444.                         legs="Telchine Braconi",
  445.                         feet=HerculeanBoots.DT})
  446.  
  447.         -- Hybrid Sets --
  448.         sets.TP.Hybrid = set_combine(sets.PDT,{
  449.                         ammo="Ginsen",
  450.                         ear1="Suppanomimi",
  451.                         ear2="Brutal Earring",
  452.                         waist="Shetal Stone",
  453.                         legs="Samnuha Tights"})
  454.         sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{
  455.                         ammo="Falcon Eye",
  456.                         ear2="Zennaroi Earring"})
  457.         sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{
  458.                         hands=HerculeanGloves.DT,
  459.                         back="Ground. Mantle +1"})
  460.         sets.TP.Hybrid.MaxACC = set_combine(sets.TP.Hybrid.HighACC,{
  461.                         neck="Subtlety Spec.",
  462.                         waist="Olseni Belt"})
  463.                        
  464.         -- Hybrid High Haste Sets --
  465.         sets.TP.Hybrid.HighHaste = set_combine(sets.PDT,{
  466.                         ammo="Ginsen",
  467.                         ear1="Suppanomimi",
  468.                         ear2="Brutal Earring",
  469.                         waist="Windbuffet Belt +1",
  470.                         legs="Samnuha Tights"})
  471.         sets.TP.Hybrid.MidACC.HighHaste = set_combine(sets.TP.Hybrid.HighHaste,{
  472.                         ammo="Falcon Eye",
  473.                         ear2="Zennaroi Earring"})
  474.         sets.TP.Hybrid.HighACC.HighHaste = set_combine(sets.TP.Hybrid.MidACC.HighHaste,{
  475.                         hands=HerculeanGloves.DT,
  476.                         back="Ground. Mantle +1"})
  477.         sets.TP.Hybrid.MaxACC.HighHaste = set_combine(sets.TP.Hybrid.HighACC.HighHaste,{
  478.                         neck="Subtlety Spec.",
  479.                         waist="Olseni Belt"})
  480.  
  481.         -- Kiting Set --
  482.         sets.Kiting =  set_combine(sets.PDT,{
  483.                         ear2="Genmei Earring",
  484.                         body="Vrikodara Jupon",
  485.                         legs="Carmine Cuisses +1",
  486.                         feet="Hippo. Socks +1"})
  487.  
  488.         -----------------------
  489.         -- Weapon Skill Sets --
  490.         -----------------------
  491.  
  492.         -- WS Base Sets --
  493.         sets.WS = {
  494.                         ammo="Floestone",
  495.                         head="Adhemar Bonnet +1",
  496.                         neck="Fotia Gorget",
  497.                         ear1="Moonshade Earring",
  498.                         ear2="Brutal Earring",
  499.                         body="Adhemar Jacket",
  500.                         hands="Adhemar Wristbands",
  501.                         ring1="Shukuyu Ring",
  502.                         ring2="Epona's Ring",
  503.                         back="Bleating Mantle",
  504.                         waist="Fotia Belt",
  505.                         legs="Samnuha Tights",
  506.                         feet=HerculeanBoots.TA}
  507.         sets.WS.MidACC = {
  508.                         ammo="Falcon Eye",
  509.                         head="Dampening Tam",
  510.                         neck="Fotia Gorget",
  511.                         ear1="Moonshade Earring",
  512.                         ear2="Brutal Earring",
  513.                         body="Adhemar Jacket",
  514.                         hands="Adhemar Wristbands",
  515.                         ring1="Shukuyu Ring",
  516.                         ring2="Epona's Ring",
  517.                         back="Bleating Mantle",
  518.                         waist="Fotia Belt",
  519.                         legs="Samnuha Tights",
  520.                         feet=HerculeanBoots.TA}
  521.         sets.WS.HighACC = {
  522.                         ammo="Falcon Eye",
  523.                         head="Dampening Tam",
  524.                         neck="Fotia Gorget",
  525.                         ear1="Moonshade Earring",
  526.                         ear2="Brutal Earring",
  527.                         body="Adhemar Jacket",
  528.                         hands="Adhemar Wristbands",
  529.                         ring1="Shukuyu Ring",
  530.                         ring2="Epona's Ring",
  531.                         back="Letalis Mantle",
  532.                         waist="Fotia Belt",
  533.                         legs="Samnuha Tights",
  534.                         feet=HerculeanBoots.TA}
  535.         sets.WS.MaxACC = {
  536.                         ammo="Falcon Eye",
  537.                         head="Carmine Mask +1",
  538.                         neck="Fotia Gorget",
  539.                         ear1="Moonshade Earring",
  540.                         ear2="Zennaroi Earring",
  541.                         body="Adhemar Jacket",
  542.                         hands=HerculeanGloves.ACC,
  543.                         ring1="Ramuh Ring +1",
  544.                         ring2="Ramuh Ring +1",
  545.                         back="Ground. Mantle +1",
  546.                         waist="Fotia Belt",
  547.                         legs="Carmine Cuisses +1",
  548.                         feet=HerculeanBoots.TA}
  549.                        
  550.         -- Magic WS Base Set --
  551.         sets.WS.MABWS = {
  552.                         ammo="Pemphredo Tathlum",
  553.                         head=HerculeanHelm.MAB,
  554.                         neck="Sanctity Necklace",
  555.                         ear1="Friomisi Earring",
  556.                         ear2="Crematio Earring",
  557.                         body="Amalric Doublet +1",
  558.                         hands="Amalric Gages",
  559.                         ring1="Shiva Ring +1",
  560.                         ring2="Shiva Ring +1",
  561.                         back="Cornflower Cape",
  562.                         waist="Eschan Stone",
  563.                         legs="Hagondes Pants +1",
  564.                         feet="Amalric nails +1"}
  565.        
  566.         -----------------------------
  567.         -- Sword Weapon Skill Sets --
  568.         -----------------------------
  569.  
  570.         -- Chant du Cygne Sets --
  571.         sets.WS["Chant du Cygne"] = set_combine(sets.WS,{
  572.                         ammo="Jukukik Feather",
  573.                         body="Abnoba Kaftan",
  574.                         ring1="Ramuh Ring +1",
  575.                         back="Rancorous Mantle",
  576.                         feet="Thereoid Greaves"})
  577.         sets.WS["Chant du Cygne"].MidACC = set_combine(sets.WS.MidACC,{
  578.                         ammo="Jukukik Feather",
  579.                         head="Adhemar Bonnet +1",
  580.                         body="Abnoba Kaftan",
  581.                         ring1="Ramuh Ring +1",
  582.                         back="Rancorous Mantle",
  583.                         feet="Thereoid Greaves"})
  584.         sets.WS["Chant du Cygne"].HighACC = set_combine(sets.WS.HighACC,{
  585.                         body="Abnoba Kaftan",
  586.                         ring1="Ramuh Ring +1",
  587.                         back="Rancorous Mantle"})
  588.         sets.WS["Chant du Cygne"].MaxACC = set_combine(sets.WS.MaxACC,{})
  589.  
  590.         -- Requiescat Sets --
  591.         sets.WS.Requiescat = set_combine(sets.WS,{
  592.                         ammo="Hydrocera",
  593.                         head="Lilitu Headpiece",
  594.                         ring1="Rufescent Ring"})
  595.         sets.WS.Requiescat.MidACC = set_combine(sets.WS.MidACC,{
  596.                         ammo="Hydrocera",
  597.                         ring1="Rufescent Ring"})
  598.         sets.WS.Requiescat.HighACC = set_combine(sets.WS.HighACC,{
  599.                         ring1="Rufescent Ring"})
  600.         sets.WS.Requiescat.MaxACC = set_combine(sets.WS.MaxACC,{})
  601.  
  602.         -- Expiacion Sets --
  603.         sets.WS.Expiacion = set_combine(sets.WS,{
  604.                         head="Lilitu Headpiece",
  605.                         neck="Caro Necklace",
  606.                         ear2="Ishvara Earring",
  607.                         ring2="Ifrit Ring +1",
  608.                         waist="Grunfeld Rope",
  609.                         feet=HerculeanBoots.WSD})
  610.         sets.WS.Expiacion.MidACC = set_combine(sets.WS.MidACC,{
  611.                         head="Lilitu Headpiece",
  612.                         neck="Caro Necklace",
  613.                         ear2="Ishvara Earring",
  614.                         ring2="Ifrit Ring +1",
  615.                         waist="Grunfeld Rope",
  616.                         feet=HerculeanBoots.WSD})
  617.         sets.WS.Expiacion.HighACC = set_combine(sets.WS.HighACC,{
  618.                         neck="Subtlety Spec.",
  619.                         ear2="Ishvara Earring",
  620.                         ring2="Ifrit Ring +1",
  621.                         waist="Grunfeld Rope",
  622.                         feet=HerculeanBoots.WSD})
  623.         sets.WS.Expiacion.MaxACC = set_combine(sets.WS.MaxACC,{
  624.                         neck="Subtlety Spec.",
  625.                         waist="Olseni Belt"})
  626.        
  627.         -- Savage Blade Set --
  628.         sets.WS["Savage Blade"] = set_combine(sets.WS,{
  629.                         head="Lilitu Headpiece",
  630.                         neck="Caro Necklace",
  631.                         ear2="Ishvara Earring",
  632.                         ring2="Ifrit Ring +1",
  633.                         waist="Grunfeld Rope",
  634.                         feet=HerculeanBoots.WSD})
  635.         sets.WS["Savage Blade"].MidACC = set_combine(sets.WS.MidACC,{
  636.                         head="Lilitu Headpiece",
  637.                         neck="Caro Necklace",
  638.                         ear2="Ishvara Earring",
  639.                         ring2="Ifrit Ring +1",
  640.                         waist="Grunfeld Rope",
  641.                         feet=HerculeanBoots.WSD})
  642.         sets.WS["Savage Blade"].HighACC = set_combine(sets.WS.HighACC,{
  643.                         neck="Subtlety Spec.",
  644.                         ear2="Ishvara Earring",
  645.                         ring2="Ifrit Ring +1",
  646.                         waist="Grunfeld Rope",
  647.                         feet=HerculeanBoots.WSD})
  648.         sets.WS["Savage Blade"].MaxACC = set_combine(sets.WS.MaxACC,{
  649.                         neck="Subtlety Spec.",
  650.                         waist="Olseni Belt"})
  651.        
  652.         -- Vorpal Blade Sets --
  653.         sets.WS["Vorpal Blade"] = set_combine(sets.WS,{
  654.                         body="Abnoba Kaftan",
  655.                         back="Rancorous Mantle",
  656.                         feet="Thereoid Greaves"})
  657.         sets.WS["Vorpal Blade"].MidACC = set_combine(sets.WS.MidACC,{
  658.                         head="Adhemar Bonnet +1",
  659.                         body="Abnoba Kaftan",
  660.                         back="Rancorous Mantle",
  661.                         feet="Thereoid Greaves"})
  662.         sets.WS["Vorpal Blade"].HighACC = set_combine(sets.WS.HighACC,{
  663.                         body="Abnoba Kaftan",
  664.                         back="Rancorous Mantle"})
  665.         sets.WS["Vorpal Blade"].MaxACC = set_combine(sets.WS.MaxACC,{})
  666.        
  667.         -- Circle Blade Sets --
  668.         sets.WS["Circle Blade"] = set_combine(sets.WS,{
  669.                         head="Lilitu Headpiece",
  670.                         ear1="Ishvara Earring",
  671.                         ring2="Ifrit Ring +1",
  672.                         feet=HerculeanBoots.WSD})
  673.         sets.WS["Circle Blade"].MidACC = set_combine(sets.WS.MidACC,{
  674.                         ear1="Ishvara Earring",
  675.                         ring2="Ifrit Ring +1",
  676.                         feet=HerculeanBoots.WSD})
  677.         sets.WS["Circle Blade"].HighACC = set_combine(sets.WS.HighACC,{
  678.                         ear1="Ishvara Earring",
  679.                         ring2="Ifrit Ring +1",
  680.                         feet=HerculeanBoots.WSD})
  681.         sets.WS["Circle Blade"].MaxACC = set_combine(sets.WS.MaxACC,{})    
  682.        
  683.         -- Sanguine Blade Set --
  684.         sets.WS["Sanguine Blade"] = set_combine(sets.WS.MABWS,{
  685.                         head="Pixie Hairpin +1",
  686.                         ring1="Archon Ring"})
  687.         sets.WS["Sanguine Blade"].MidACC = set_combine(sets.WS.MABWS,{
  688.                         head="Pixie Hairpin +1",
  689.                         ring1="Archon Ring"})
  690.         sets.WS["Sanguine Blade"].HighACC = set_combine(sets.WS.MABWS,{
  691.                         head="Pixie Hairpin +1",
  692.                         ring1="Archon Ring"})
  693.         sets.WS["Sanguine Blade"].MaxACC = set_combine(sets.WS.MABWS,{
  694.                         head="Pixie Hairpin +1",
  695.                         ring1="Archon Ring"})
  696.        
  697.         ----------------------------
  698.         -- Club Weapon Skill Sets --
  699.         ----------------------------
  700.        
  701.         -- Realmrazer Sets --
  702.         sets.WS.Realmrazer = set_combine(sets.WS,{
  703.                         ammo="Hydrocera",
  704.                         head="Lilitu Headpiece",
  705.                         ear2="Lifestorm Earring",
  706.                         ring1="Rufescent Ring",
  707.                         ring2="Levia. Ring"})
  708.         sets.WS.Realmrazer.MidACC = set_combine(sets.WS.MidACC,{
  709.                         ammo="Hydrocera",
  710.                         ear2="Lifestorm Earring",
  711.                         ring1="Rufescent Ring",
  712.                         ring2="Levia. Ring"})
  713.         sets.WS.Realmrazer.HighACC = set_combine(sets.WS.HighACC,{
  714.                         ear2="Lifestorm Earring",
  715.                         ring1="Rufescent Ring",
  716.                         ring2="Levia. Ring"})
  717.         sets.WS.Realmrazer.MaxACC = set_combine(sets.WS.MaxACC,{
  718.                         ring1="Rufescent Ring",})
  719.  
  720.         -- Black Halo Sets --
  721.         sets.WS["Black Halo"] = set_combine(sets.WS,{
  722.                         ammo="Hydrocera",
  723.                         head="Dampening Tam",
  724.                         ring1="Rufescent Ring"})
  725.         sets.WS["Black Halo"].MidACC = set_combine(sets.WS.MidACC,{
  726.                         ammo="Hydrocera",
  727.                         ring1="Rufescent Ring"})
  728.         sets.WS["Black Halo"].HighACC = set_combine(sets.WS.HighACC,{
  729.                         ring1="Rufescent Ring"})
  730.         sets.WS["Black Halo"].MaxACC = set_combine(sets.WS.MaxACC,{})
  731.        
  732.         -- True Strike Sets --
  733.         sets.WS["True Strike"] = set_combine(sets.WS,{
  734.                         head="Adhemar Bonnet +1",
  735.                         ear2="Ishvara Earring",
  736.                         body="Abnoba Kaftan",
  737.                         ring2="Ifrit Ring +1",
  738.                         feet="Thereoid Greaves"})
  739.         sets.WS["True Strike"].MidACC = set_combine(sets.WS.MidACC,{
  740.                         head="Adhemar Bonnet +1",
  741.                         ear2="Ishvara Earring",
  742.                         body="Abnoba Kaftan",
  743.                         ring2="Ifrit Ring +1",
  744.                         feet="Thereoid Greaves"})
  745.         sets.WS["True Strike"].HighACC = set_combine(sets.WS.HighACC,{
  746.                         head="Adhemar Bonnet +1",
  747.                         ear2="Ishvara Earring",
  748.                         body="Abnoba Kaftan",
  749.                         ring2="Ifrit Ring +1",
  750.                         feet="Thereoid Greaves"})
  751.         sets.WS["True Strike"].MaxACC = set_combine(sets.WS.MaxACC,{})
  752.        
  753.         -- Judgment Sets --
  754.         sets.WS.Judgment = set_combine(sets.WS,{
  755.                         head="Lilitu Headpiece",
  756.                         ear2="Ishvara Earring",
  757.                         ring2="Ifrit Ring +1",
  758.                         feet=HerculeanBoots.WSD})
  759.         sets.WS.Judgment.MidACC = set_combine(sets.WS.MidACC,{
  760.                         head="Lilitu Headpiece",
  761.                         ear2="Ishvara Earring",
  762.                         ring2="Ifrit Ring +1",
  763.                         feet=HerculeanBoots.WSD})
  764.         sets.WS.Judgment.HighACC = set_combine(sets.WS.HighACC,{
  765.                         ear2="Ishvara Earring",
  766.                         ring2="Ifrit Ring +1",
  767.                         feet=HerculeanBoots.WSD})
  768.         sets.WS.Judgment.MaxACC = set_combine(sets.WS.MaxACC,{})
  769.        
  770.         -- Flash Nova Set --
  771.         sets.WS["Flash Nova"] = set_combine(sets.WS.MABWS,{})
  772.         sets.WS["Flash Nova"].MidACC = set_combine(sets.WS.MABWS,{})
  773.         sets.WS["Flash Nova"].HighACC = set_combine(sets.WS.MABWS,{})
  774.         sets.WS["Flash Nova"].MaxACC = set_combine(sets.WS.MABWS,{})
  775.        
  776.         ----------------------
  777.         -- Job Ability Sets --
  778.         ----------------------
  779.        
  780.         -- Blue Mage JA Sets --
  781.         sets.JA = {}
  782.         sets.JA['Azure Lore'] = {hands="Luh. Bazubands +1"}
  783.         sets['Chain Affinity'] = {head="Hashishin Kavuk +1",ring2="Mujin Band",feet="Assim. Charuqs +1"}
  784.         sets.Efflux = {legs="Hashishin Tayt +1"}
  785.         sets['Burst Affinity'] = {feet="Hashi. Basmak +1"}
  786.         sets.Convergence = {head="Luh. Keffiyeh +1"}
  787.         sets.Diffusion = {feet="Luhlaza Charuqs +1"}
  788.        
  789.         -- Enmity JA Set --
  790.         sets.JA.Enmity = set_combine(sets.PDT,{
  791.                         ammo="Iron Gobbet",
  792.                         head="Rabid Visor",
  793.                         neck="Unmoving Collar +1",
  794.                         ear1="Trux Earring",
  795.                         ear2="Cryptic Earring",
  796.                         body="Emet Harness +1",
  797.                         ring1="Petrov Ring",
  798.                         ring2="Eihwaz Ring",
  799.                         back="Fravashi Mantle",
  800.                         waist="Goading Belt",
  801.                         legs="Zoar Subligar +1"})
  802.        
  803.         -- /WAR JA Sets --
  804.         sets.JA.Provoke = set_combine(sets.JA.Enmity,{})
  805.         sets.JA.Warcry = set_combine(sets.JA.Enmity,{})
  806.        
  807.         -- /PLD JA Sets --
  808.         sets.JA["Shield Bash"] = set_combine(sets.JA.Enmity,{})
  809.         sets.JA.Sentinel = set_combine(sets.JA.Enmity,{})
  810.         sets.JA["Holy Circle"] = set_combine(sets.JA.Enmity,{})
  811.        
  812.         -- /DRK JA Sets --
  813.         sets.JA.Souleater = set_combine(sets.JA.Enmity,{})
  814.         sets.JA["Last Resort"] = set_combine(sets.JA.Enmity,{})
  815.         sets.JA["Arcane Circle"] = set_combine(sets.JA.Enmity,{})
  816.        
  817.         -- /DNC JA Sets --
  818.         sets.Waltz = {
  819.                         ammo="Iron Gobbet",
  820.                         head="Carmine Mask +1",
  821.                         neck="Loricate Torque +1",
  822.                         ear1="Darkness Earring",
  823.                         ear2="Genmei Earring",
  824.                         body="Vrikodara Jupon",
  825.                         hands="Amalric Gages",
  826.                         ring1="Defending Ring",
  827.                         ring2="Gelatinous Ring +1",
  828.                         back="Swith Cape +1",
  829.                         waist="Chaac Belt",
  830.                         legs="Hashishin Tayt +1",
  831.                         feet="Hippo. Socks +1"}
  832.         sets.Step = {
  833.                         ammo="Pemphredo Tathlum",
  834.                         head="Dampening Tam",
  835.                         neck="Sanctity Necklace",
  836.                         ear1="Lifestorm Earring",
  837.                         ear2="Psystorm Earring",
  838.                         body="Hashishin Mintan +1",
  839.                         hands="Leyline Gloves",
  840.                         ring1="Etana Ring",
  841.                         ring2="Sangoma Ring",
  842.                         back="Cornflower Cape",
  843.                         waist="Chaac Belt",
  844.                         legs="Psycloth Lappas",
  845.                         feet=HerculeanBoots.DT}
  846.         sets.Flourish = set_combine(sets.Step,{})
  847.  
  848.         -- /RUN JA Sets --
  849.         sets.JA.Lunge = {
  850.                         ammo="Pemphredo Tathlum",
  851.                         head=HerculeanHelm.MAB,
  852.                         neck="Sanctity Necklace",
  853.                         ear1="Friomisi Earring",
  854.                         ear2="Crematio Earring",
  855.                         body="Amalric Doublet +1",
  856.                         hands="Amalric Gages",
  857.                         ring1="Shiva Ring +1",
  858.                         ring2="Shiva Ring +1",
  859.                         back="Cornflower Cape",
  860.                         waist="Eschan Stone",
  861.                         legs="Hagondes Pants +1",
  862.                         feet="Amalric nails +1"}
  863.        
  864.         --------------------
  865.         -- Pre-Cast Sets --
  866.         --------------------
  867.        
  868.         -- Base Pre-Cast Set --
  869.         sets.Precast = {
  870.                         ammo="Impatiens",
  871.                         head="Carmine Mask +1",
  872.                         neck="Orunmila's Torque",
  873.                         ear1="Loquac. Earring",
  874.                         ear2="Genmei Earring",
  875.                         body="Taeon Tabard",
  876.                         hands="Leyline Gloves",
  877.                         ring1="Lebeche Ring",
  878.                         ring2="Prolix Ring",
  879.                         back="Swith Cape +1",
  880.                         waist="Witful Belt",
  881.                         legs="Psycloth Lappas",
  882.                         feet="Carmine Greaves +1"}
  883.        
  884.         -- Fast Cast Set --
  885.         sets.Precast.FastCast = set_combine(sets.Precast,{})
  886.                        
  887.         -- Pre-Cast Blue Magic --
  888.         sets.Precast['Blue Magic'] = set_combine(sets.Precast,{
  889.                         body="Hashishin Mintan +1"})
  890.                        
  891.         -- Pre-Cast Enhancing Magic --
  892.         sets.Precast['Enhancing Magic'] = set_combine(sets.Precast,{
  893.                         waist="Siegel Sash"})
  894.        
  895.         -- Cure Precast Set --
  896.         sets.Precast.Cure = set_combine(sets.Precast.FastCast,{
  897.                         ear2="Mendi. Earring",
  898.                         waist="Acerbic Sash +1"})
  899.  
  900.         ------------------------------------
  901.         -- Mid-Cast Sets (Non-Blue Magic) --
  902.         ------------------------------------
  903.  
  904.         -- Mid-Cast Base Set --
  905.         sets.Midcast = {
  906.                         ammo="Impatiens",
  907.                         head="Carmine Mask +1",
  908.                         neck="Orunmila's Torque",
  909.                         ear1="Loquac. Earring",
  910.                         ear2="Genmei Earring",
  911.                         body="Taeon Tabard",
  912.                         hands="Leyline Gloves",
  913.                         ring1="Defending Ring",
  914.                         ring2="Prolix Ring",
  915.                         back="Swith Cape +1",
  916.                         waist="Witful Belt",
  917.                         legs="Psycloth Lappas",
  918.                         feet="Amalric nails +1"}
  919.  
  920.         -- Magic Haste Set --
  921.         sets.Midcast.Haste = set_combine(sets.Midcast,{})
  922.                        
  923.         -- Magic Attack Bonus Set --
  924.         sets.Midcast.MAB = {
  925.                         main="Gabaxorea",
  926.                         sub="Gabaxorea",
  927.                         ammo="Pemphredo Tathlum",
  928.                         head=HerculeanHelm.MAB,
  929.                         neck="Sanctity Necklace",
  930.                         ear1="Friomisi Earring",
  931.                         ear2="Crematio Earring",
  932.                         body="Amalric Doublet +1",
  933.                         hands="Amalric Gages",
  934.                         ring1="Shiva Ring +1",
  935.                         ring2="Shiva Ring +1",
  936.                         back="Cornflower Cape",
  937.                         waist="Eschan Stone",
  938.                         legs="Hagondes Pants +1",
  939.                         feet="Amalric nails +1"}
  940.                        
  941.         -- Magic Burst Set --
  942.         sets.Midcast.MB = {
  943.                         head=HerculeanHelm.MAB,
  944.                         body="Samnuha Coat",
  945.                         hands="Amalric Gages",
  946.                         ring1="Mujin Band",
  947.                         ring2="Locus Ring",
  948.                         back="Seshaw Cape"}
  949.  
  950.         -- Magic Accuracy Set --
  951.         sets.Midcast.MACC = {
  952.                         ammo="Pemphredo Tathlum",
  953.                         head="Carmine Mask +1",
  954.                         neck="Sanctity Necklace",
  955.                         ear1="Lifestorm Earring",
  956.                         ear2="Psystorm Earring",
  957.                         body="Amalric Doublet +1",
  958.                         hands="Leyline Gloves",
  959.                         ring1="Etana Ring",
  960.                         ring2="Sangoma Ring",
  961.                         back="Cornflower Cape",
  962.                         waist="Eschan Stone",
  963.                         legs="Psycloth Lappas",
  964.                         feet="Hashi. Basmak +1"}
  965.                        
  966.         -- Magic Enmity Set --
  967.         sets.Midcast.MagicEnmity = set_combine(sets.Midcast,{
  968.                         ammo="Iron Gobbet",
  969.                         head="Rabid Visor",
  970.                         neck="Unmoving Collar +1",
  971.                         ear1="Trux Earring",
  972.                         ear2="Cryptic Earring",
  973.                         body="Emet Harness +1",
  974.                         ring1="Petrov Ring",
  975.                         ring2="Eihwaz Ring",
  976.                         back="Fravashi Mantle",
  977.                         waist="Goading Belt",
  978.                         legs="Zoar Subligar +1"})
  979.        
  980.         -- Enhancing Magic Base Set --
  981.         sets.Midcast['Enhancing Magic'] = {
  982.                         head="Carmine Mask +1",
  983.                         neck="Incanter's Torque",
  984.                         ear1="Andoaa Earring",
  985.                         body="Telchine Chas.",
  986.                         back="Merciful Cape",
  987.                         waist="Olympus Sash",
  988.                         legs="Carmine Cuisses +1"}
  989.        
  990.         -- Elemental Magic Set --
  991.         sets.Midcast['Elemental Magic'] = set_combine(sets.Midcast.MAB,{})
  992.  
  993.         -- Enfeebling Magic Set --
  994.         sets.Midcast['Enfeebling Magic'] = set_combine(sets.Midcast.MACC,{
  995.                         head="Carmine Mask +1",
  996.                         feet="Medium's Sabots"})
  997.        
  998.         -- Dark Magic Set --
  999.         sets.Midcast['Dark Magic'] = set_combine(sets.Midcast.MACC,{})
  1000.        
  1001.         -- Flash Set --
  1002.         sets.Midcast.Flash = set_combine(sets.Midcast.MagicEnmity,{})
  1003.        
  1004.         -- Repose Set --
  1005.         sets.Midcast.Repose = set_combine(sets.Midcast.MACC,{})
  1006.        
  1007.         -- Stoneskin Set --
  1008.         sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{waist="Siegel Sash"})
  1009.                        
  1010.         -- Enfeebling Ninjutsu Set --
  1011.         sets.Midcast.Enfeebling_Ninjutsu = set_combine(sets.Midcast.MACC,{})
  1012.        
  1013.         -- Elemental Ninjutsu Set --
  1014.         sets.Midcast.Elemental_Ninjutsu = set_combine(sets.Midcast.MAB,{})
  1015.  
  1016.         -----------------------------------------------------
  1017.         -- For Cure Spells & The Listed Healing Blue Magic --
  1018.         -----------------------------------------------------
  1019.        
  1020.         -- Cure Set --
  1021.         sets.Midcast.Cure = {
  1022.                         ammo="Hydrocera",
  1023.                         head="Carmine Mask +1",
  1024.                         neck="Phalaina Locket",
  1025.                         ear1="Loquac. Earring",
  1026.                         ear2="Mendi. Earring",
  1027.                         body="Vrikodara Jupon",
  1028.                         hands="Telchine Gloves",
  1029.                         ring1="Rufescent Ring",
  1030.                         ring2="Levia. Ring",
  1031.                         back="Solemnity Cape",
  1032.                         waist="Gishdubar Sash",
  1033.                         legs="Telchine Braconi",
  1034.                         feet="Medium's Sabots"}
  1035.                        
  1036.         -- Self Cures --
  1037.         sets.Midcast.SelfCure = set_combine(sets.Midcast.Cure,{
  1038.                         ring2="Kunaji Ring",
  1039.                         waist="Gishdubar Sash"})
  1040.                        
  1041.         -- HP-up Cures --
  1042.         sets.Midcast.HPCure = set_combine(sets.Midcast.Cure,{
  1043.                         ring2="Kunaji Ring",
  1044.                         waist="Gishdubar Sash"})
  1045.        
  1046.         ------------------------------
  1047.         -- Mid-Cast Blue Magic Sets --
  1048.         ------------------------------
  1049.        
  1050.          -- Blue Magic Base Mid-Cast Set --
  1051.         sets.Midcast['Blue Magic'] = set_combine(sets.Midcast,{hands="Hashi. Bazu. +1"})
  1052.  
  1053.         -- For The Listed Physical Type Blue Magic --
  1054.         sets.Midcast.PhysicalBlueMagic = {
  1055.                         ammo="Floestone",
  1056.                         head="Lilitu Headpiece",
  1057.                         neck="Caro Necklace",
  1058.                         ear1="Cessance Earring",
  1059.                         ear2="Zennaroi Earring",
  1060.                         body="Adhemar Jacket",
  1061.                         hands="Adhemar Wristbands",
  1062.                         ring1="Shukuyu Ring",
  1063.                         ring2="Ifrit Ring +1",
  1064.                         back="Cornflower Cape",
  1065.                         waist="Grunfeld Rope",
  1066.                         legs="Samnuha Tights",
  1067.                         feet=HerculeanBoots.TA}
  1068.  
  1069.         -- BlueMagic STR Set --
  1070.         sets.Midcast.PhysicalBlueMagic_STR = set_combine(sets.Midcast.PhysicalBlueMagic,{})
  1071.  
  1072.         -- BlueMagic STR/DEX Set --
  1073.         sets.Midcast.PhysicalBlueMagic_DEX = set_combine(sets.Midcast.PhysicalBlueMagic,{
  1074.                         ring1="Ramuh Ring +1",
  1075.                         ring2="Ramuh Ring +1"})
  1076.  
  1077.         -- BlueMagic STR/VIT Set --
  1078.         sets.Midcast.PhysicalBlueMagic_VIT = set_combine(sets.Midcast.PhysicalBlueMagic,{
  1079.                         ammo="Iron Gobbet"})
  1080.  
  1081.         -- BlueMagic STR/AGI Set --
  1082.         sets.Midcast.PhysicalBlueMagic_AGI = set_combine(sets.Midcast.PhysicalBlueMagic,{})
  1083.        
  1084.         -- Physical Acc Blue Magic --
  1085.         sets.Midcast.BlueMagic_PhysicalACC = {
  1086.                         ammo="Falcon Eye",
  1087.                         head="Carmine Mask +1",
  1088.                         neck="Subtlety Spec.",
  1089.                         ear1="Cessance Earring",
  1090.                         ear2="Zennaroi Earring",
  1091.                         body="Adhemar Jacket",
  1092.                         hands="Adhemar Wristbands",
  1093.                         ring1="Ramuh Ring +1",
  1094.                         ring2="Ramuh Ring +1",
  1095.                         back="Ground. Mantle +1",
  1096.                         waist="Olseni Belt",
  1097.                         legs="Carmine Cuisses +1",
  1098.                         feet=HerculeanBoots.TA}
  1099.  
  1100.         -- For The Listed Magical Type BlueMagic --
  1101.         sets.Midcast.MagicalBlueMagic = set_combine(sets.Midcast.MAB,{})
  1102.        
  1103.         -- Dark Based Magical Blue Magic --
  1104.         sets.Midcast.BlueMagic_Dark = set_combine(sets.Midcast.MAB,{head="Pixie Hairpin +1",ring1="Archon Ring"})
  1105.        
  1106.         -- Light Based Magical Blue Magic --
  1107.         sets.Midcast.BlueMagic_Light = set_combine(sets.Midcast.MAB,{}) -- Insert Weatherspoon Ring Here --
  1108.  
  1109.         -- Earth Based Magical Blue Magic --
  1110.         sets.Midcast.BlueMagic_Earth = set_combine(sets.Midcast.MAB,{}) -- Insert Quanpur Necklace Here --
  1111.  
  1112.         -- Magic Accuracy For The Listed BlueMagic --
  1113.         sets.Midcast.BlueMagic_Accuracy = set_combine(sets.Midcast.MACC,{})
  1114.  
  1115.         -- Stun Set For The Listed BlueMagic --
  1116.         sets.Midcast.BlueMagic_Stun = set_combine(sets.Midcast.MACC,{})
  1117.                        
  1118.         -- Physical Stun Blue Magic --
  1119.         sets.Midcast.BlueMagic_PhysicalStun = set_combine(sets.Midcast.MACC,{
  1120.                         body="Hashishin Mintan +1",
  1121.                         feet=HerculeanBoots.TA})
  1122.  
  1123.         -- Buff Set For The Listed Blue Magic --
  1124.         sets.Midcast.BlueMagic_Buff = {
  1125.                         ammo="Impatiens",
  1126.                         head="Carmine Mask +1",
  1127.                         neck="Incanter's Torque",
  1128.                         ear1="Loquac. Earring",
  1129.                         ear2="Genmei Earring",
  1130.                         body="Assim. Jubbah +1",
  1131.                         hands="Hashi. Bazu. +1",
  1132.                         ring1="Defending Ring",
  1133.                         ring2="Gelatinous Ring +1",
  1134.                         back="Cornflower Cape",
  1135.                         legs="Hashishin Tayt +1",
  1136.                         waist="Hachirin-no-Obi",
  1137.                         feet="Luhlaza Charuqs +1"}
  1138.  
  1139.         -- Breath Set For The Listed Blue Magic --
  1140.         sets.Midcast.BlueMagic_Breath = set_combine(sets.Midcast,{head="Luh. Keffiyeh +1"})
  1141.        
  1142.         -- White Wind Set --
  1143.         sets.Midcast.BlueMagic_HPCure = set_combine(sets.Midcast.HPCure,{})
  1144.        
  1145.         -- Enmity Sets For the Listed Blue Magic --
  1146.         sets.Midcast.BlueMagic_Emnity = set_combine(sets.Midcast.MagicEnmity,{})
  1147.  
  1148. end
  1149.  
  1150.         ---------------
  1151.         -- Functions --
  1152.         ---------------
  1153.        
  1154.         ----------------
  1155.         -- Pre-Target --
  1156.         ----------------
  1157.  
  1158. function pretarget(spell,action)
  1159.         if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  1160.                 cancel_spell()
  1161.                 send_command('input /item "Echo Drops" <me>')
  1162.         elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  1163.                 cancel_spell()
  1164.                 send_command('Aggressor')
  1165.         elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then -- Cure Degradation --
  1166.                 degrade_spell(spell,Cure_Spells)
  1167.         elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then -- Curaga Degradation --
  1168.                 degrade_spell(spell,Curaga_Spells)
  1169.         return
  1170.     end
  1171. end
  1172.  
  1173.         --------------
  1174.         -- Pre-Cast --
  1175.         --------------
  1176.        
  1177. function precast(spell,action)
  1178.         if spell.type == "WeaponSkill" then
  1179.         if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  1180.                 cancel_spell()
  1181.                 add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  1182.         return
  1183.         else
  1184.                 equipSet = sets.WS
  1185.         if equipSet[spell.english] then
  1186.                 equipSet = equipSet[spell.english]
  1187.                 end
  1188.         if equipSet[AccArray[AccIndex]] then
  1189.                 equipSet = equipSet[AccArray[AccIndex]]
  1190.                 end
  1191.         if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  1192.                 equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  1193.                 end
  1194.         if spell.english == "Chant du Cygne" and player.tp > 2900 then
  1195.                 equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})  
  1196.         elseif spell.english == "Requiescat" and player.tp > 2900 then
  1197.                 equipSet = set_combine(equipSet,{ear1="Lifestorm Earring"})  
  1198.         elseif spell.english == "Expiacion" and player.tp > 2900 then
  1199.                 equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})
  1200.         elseif spell.english == "Savage Blade" and player.tp > 2900 then
  1201.                 equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})
  1202.         elseif spell.english == "Vorpal Blade" and player.tp > 2900 then
  1203.                 equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})
  1204.         elseif spell.english == "Sanguine Blade" and world.day == "Darksday" or world.weather_element == "Dark" then
  1205.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  1206.         elseif spell.english == "Realmrazer" and player.tp > 2900 then
  1207.                 equipSet = set_combine(equipSet,{ear1="Lifestorm Earring"})  
  1208.         elseif spell.english == "Black Halo" and player.tp > 2900 then
  1209.                 equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})
  1210.         elseif spell.english == "Flash Nova" and world.day == "Lightsday" or world.weather_element == "Light" then
  1211.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})                 
  1212.                 end
  1213.                 equip(equipSet)
  1214.                 end
  1215.         elseif spell.type == "JobAbility" or spell.type == "Ward" then
  1216.         if sets.JA[spell.english] then
  1217.                 equip(sets.JA[spell.english])
  1218.                 end        
  1219.         elseif spell.english == 'Lunge' or spell.english == 'Swipe' then
  1220.                 equip(sets.JA.Lunge)
  1221.         elseif spell.type == "Rune" then
  1222.                 equip(sets.JA.Enmity)              
  1223.         elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
  1224.         if buffactive.silence  then -- Cancel Magic or Ninjutsu If You Are Silenced --
  1225.                 cancel_spell()
  1226.                 add_to_chat(123, spell.name..' Canceled: [Silenced]')
  1227.         return
  1228.         else
  1229.         if (string.find(spell.english,'Cur') or BlueMagic_Healing:contains(spell.english) or BlueMagic_HPCure:contains(spell.english))  and spell.english ~= "Cursna" then
  1230.                 equip(sets.Precast.Cure)
  1231.         elseif string.find(spell.english,'Utsusemi') then
  1232.         if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  1233.                 cancel_spell()
  1234.                 add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
  1235.         return
  1236.         else
  1237.                 equip(sets.Precast.FastCast)
  1238.                 end
  1239.         elseif sets.Precast[spell.skill] then
  1240.                 equip(sets.Precast[spell.skill])
  1241.         else
  1242.                 equip(sets.Precast.FastCast)
  1243.                 end
  1244.                 end
  1245.         elseif string.find(spell.type,'Flourish') then
  1246.         if spell.english == "Animated Flourish" then
  1247.                 equip(sets.Enmity)
  1248.         else
  1249.                 equip(sets.Flourish)
  1250.                 end
  1251.         elseif spell.type == "Step" then
  1252.                 equip(sets.Step)
  1253.         elseif spell.type == "Waltz" then
  1254.                 refine_waltz(spell,action)
  1255.                 equip(sets.Waltz)
  1256.         elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  1257.                 cast_delay(0.2)
  1258.                 send_command('cancel Sneak')
  1259.         end
  1260. end
  1261.            
  1262.         --------------
  1263.         -- Mid-Cast --
  1264.         --------------
  1265.            
  1266. function midcast(spell,action)
  1267.                 equipSet = {}
  1268.         if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' or spell.type == 'Trust' then
  1269.                 equipSet = sets.Midcast
  1270.         if equipSet[spell.english] then
  1271.                 equipSet = equipSet[spell.english]
  1272.         elseif (string.find(spell.english,'Cur') or BlueMagic_Healing:contains(spell.english)) and spell.english ~= "Cursna" then
  1273.         if spell.target.name == player.name then
  1274.                 equipSet = equipSet.SelfCure
  1275.         else
  1276.                 equipSet = equipSet.Cure
  1277.                 end
  1278.         elseif BlueMagic_HPCure:contains(spell.english) then
  1279.                 equipSet = equipSet.BlueMagic_HPCure
  1280.         elseif string.find(spell.english,'Protect') or string.find(spell.english,'Shell') then
  1281.         if spell.target.name == player.name then
  1282.                 equipSet = set_combine(equipSet,{ring1="Sheltered Ring"})
  1283.                 end
  1284.         elseif string.find(spell.english,'Refresh') or string.find(spell.english,'Battery Charge') then
  1285.         if spell.target.name == player.name then
  1286.                 equipSet = set_combine(equipSet,{waist="Gishdubar Sash"})
  1287.                 end        
  1288.         elseif spell.english:startswith('Haste') or spell.english:startswith('Flurry') or spell.english:startswith('Blink') or spell.english:startswith('Regen') or spell.english:endswith('Spikes') then
  1289.                 equipSet = sets.Haste
  1290.         elseif spell.english == "Stoneskin" then
  1291.         if buffactive.Stoneskin then
  1292.                 send_command('@wait 2.8;cancel stoneskin')
  1293.                 end
  1294.                 equipSet = equipSet.Stoneskin
  1295.         elseif PhysicalBlueMagic:contains(spell.english) or PhysicalBlueMagic_STR:contains(spell.english) or PhysicalBlueMagic_DEX:contains(spell.english) or PhysicalBlueMagic_VIT:contains(spell.english) or PhysicalBlueMagic_AGI:contains(spell.english) or BlueMagic_PhysicalACC:contains(spell.english) then
  1296.         if PhysicalBlueMagic_STR:contains(spell.english) then
  1297.                 equipSet = equipSet.PhysicalBlueMagic_STR
  1298.         elseif PhysicalBlueMagic_DEX:contains(spell.english) then
  1299.                 equipSet = equipSet.PhysicalBlueMagic_DEX
  1300.         elseif PhysicalBlueMagic_VIT:contains(spell.english) then
  1301.                 equipSet = equipSet.PhysicalBlueMagic_VIT
  1302.         elseif PhysicalBlueMagic_AGI:contains(spell.english) then
  1303.                 equipSet = equipSet.PhysicalBlueMagic_AGI
  1304.         elseif PhysicalBlueMagic:contains(spell.english) then
  1305.                 equipSet = equipSet.PhysicalBlueMagic
  1306.         elseif BlueMagic_PhysicalACC:contains(spell.english) then
  1307.                 equipSet = equipSet.BlueMagic_PhysicalACC
  1308.                 end
  1309.         if buffactive['Sneak Attack'] or buffactive['Trick Attack'] then -- Equip Crit damage+ gear during Physical Blue Magic when Sneak or Trick Attack are active --
  1310.                 equipSet = set_combine(equipSet,{head="Adhemar Bonnet +1",body="Abnoba Kaftan",feet="Thereoid Greaves"})
  1311.                 end
  1312.         if buffactive['Chain Affinity'] then
  1313.                 equipSet = set_combine(equipSet,sets['Chain Affinity'])
  1314.                 end
  1315.         if buffactive.Efflux then
  1316.                 equipSet = set_combine(equipSet,sets.Efflux)
  1317.                 end
  1318.         elseif MagicalBlueMagic:contains(spell.english) or BlueMagic_Dark:contains(spell.english) or BlueMagic_Light:contains(spell.english) or BlueMagic_Earth:contains(spell.english) then
  1319.         if MagicalBlueMagic:contains(spell.english) then
  1320.                 equipSet = equipSet.MagicalBlueMagic
  1321.         elseif BlueMagic_Dark:contains(spell.english) then
  1322.                 equipSet = equipSet.BlueMagic_Dark
  1323.         elseif BlueMagic_Light:contains(spell.english) then
  1324.                 equipSet = equipSet.BlueMagic_Light
  1325.         elseif BlueMagic_Earth:contains(spell.english) then
  1326.                 equipSet = equipSet.BlueMagic_Earth
  1327.                 end
  1328.         if buffactive['Burst Affinity'] then
  1329.                 equipSet = set_combine(equipSet,sets['Burst Affinity'])
  1330.                 end
  1331.         if world.day_element == spell.element or world.weather_element == spell.element then
  1332.                 equipSet = set_combine(equipSet,{waist='Hachirin-no-Obi'})
  1333.                 end
  1334.         if buffactive.Convergence then
  1335.                 equipSet = set_combine(equipSet,sets.Convergence)
  1336.                 end
  1337.         if MB == 'ON' then
  1338.                 equipSet = set_combine(equipSet,sets.Midcast.MB)
  1339.                 end
  1340.                 equip(equipSet)
  1341.         elseif BlueMagic_Accuracy:contains(spell.english) then
  1342.                 equipSet = equipSet.BlueMagic_Accuracy
  1343.         elseif BlueMagic_Stun:contains(spell.english) then
  1344.                 equipSet = equipSet.BlueMagic_Stun
  1345.         elseif BlueMagic_PhysicalStun:contains(spell.english) then
  1346.                 equipSet = equipSet.BlueMagic_PhysicalStun
  1347.         elseif BlueMagic_Emnity:contains(spell.english) then
  1348.                 equipSet = equipSet.BlueMagic_Emnity                       
  1349.         elseif BlueMagic_Buff:contains(spell.english) then
  1350.                 equipSet = equipSet.BlueMagic_Buff
  1351.         elseif BlueMagic_Diffusion:contains(spell.english) and buffactive.Diffusion then
  1352.                 equipSet = set_combine(equipSet,sets.Diffusion)
  1353.         elseif BlueMagic_Breath:contains(spell.english) then
  1354.                 equipSet = equipSet.BlueMagic_Breath
  1355.         elseif spell.english == "Stoneskin" then
  1356.         if buffactive.Stoneskin then
  1357.                 send_command('@wait 2.8;cancel stoneskin')
  1358.                 end
  1359.                 equipSet = equipSet.Stoneskin
  1360.         elseif spell.english == "Sneak" then
  1361.         if spell.target.name == player.name and buffactive['Sneak'] then
  1362.                 send_command('cancel sneak')
  1363.                 end
  1364.                 equipSet = equipSet.Haste
  1365.         elseif string.find(spell.english,'Utsusemi') then
  1366.         if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  1367.                 send_command('@wait 1.7;cancel Copy Image*')
  1368.                 end
  1369.                 equipSet = equipSet.Haste
  1370.         elseif spell.english == 'Monomi: Ichi' then
  1371.         if buffactive['Sneak'] then
  1372.                 send_command('@wait 1.7;cancel sneak')
  1373.                 end
  1374.                 equipSet = equipSet.Haste
  1375.         elseif spell.english:startswith('Tonko') then
  1376.                 equipSet = equipSet.Haste
  1377.         elseif spell.english:startswith('Jabaku') or spell.english:startswith('Hojo') or spell.english:startswith('Kurayami') or spell.english:startswith('Dokumori') then
  1378.                 equipSet = equipSet.Enfeebling_Ninjutsu
  1379.         elseif spell.english:startswith('Katon') or spell.english:startswith('Suiton') or spell.english:startswith('Doton') or spell.english:startswith('Hyoton') or spell.english:startswith('Huton') or spell.english:startswith('Raiton') then
  1380.                 equipSet = equipSet.Elemental_Ninjutsu
  1381.         if (world.day_element == spell.element or world.weather_element == spell.element) then
  1382.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  1383.         end
  1384.         if MB == 'ON' then
  1385.                 equipSet = set_combine(equipSet,sets.Midcast.MB)
  1386.                 end
  1387.         elseif equipSet[spell.skill] then
  1388.                 equipSet = equipSet[spell.skill]
  1389.                 end
  1390.         if spell.english:startswith('Cur') or spell.english:startswith('White Wind') and spell.english ~= "Cursna" then
  1391.         if (world.day_element == spell.element or world.weather_element == spell.element) then
  1392.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  1393.                 end
  1394.                 end
  1395.         if spell.skill == 'Elemental Magic' or spell.english:startswith('Aspir') or spell.english:startswith('Drain') then
  1396.         if (world.day_element == spell.element or world.weather_element == spell.element) then
  1397.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  1398.                 end
  1399.         if MB == 'ON' then
  1400.                 equipSet = set_combine(equipSet,sets.Midcast.MB)
  1401.                 end
  1402.                 end
  1403.         elseif equipSet[spell.english] then
  1404.                 equipSet = equipSet[spell.english]
  1405.         end
  1406.         equip(equipSet)
  1407. end
  1408.        
  1409.         ----------------
  1410.         -- After-Cast --
  1411.         ----------------
  1412.        
  1413. function aftercast(spell,action)
  1414.         if spell.type == "WeaponSkill" and not spell.interrupted then
  1415.                 send_command('wait 0.2;gs c TP')
  1416.         elseif spell.english == "Sleep II" or spell.english == "Repose" or spell.english == "Dream Flower" then -- Sleep II//Repose/Dream Flower Countdown --
  1417.                 send_command('wait 60;input /echo Sleep II/Dream Flower Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep II/Dream Flower Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep II/Dream Flower Effect: [WEARING OFF IN 5 SEC.]')
  1418.         elseif spell.english == "Sleep" or spell.english == "Sleepga" or spell.english == "Sheep Song" then -- Sleep/Sleepga/Sheep Song Countdown --
  1419.                 send_command('wait 30;input /echo Sleep/Sheep Song Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep/Sheep Song Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep/Sheep Song Effect: [WEARING OFF IN 5 SEC.]')
  1420.         end
  1421.         status_change(player.status)
  1422. end
  1423.  
  1424.         -------------------
  1425.         -- Status Change --
  1426.         -------------------
  1427.        
  1428. function status_change(new,old)
  1429.         if Armor == 'PDT' then
  1430.                 equip(sets.PDT)
  1431.         elseif Armor == 'MDT' then
  1432.                 equip(sets.MDT)
  1433.         elseif Armor == 'Kiting' then
  1434.                 equip(sets.Kiting)
  1435.         elseif new == 'Engaged' then
  1436.                 equipSet = sets.TP
  1437.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  1438.                 equipSet = equipSet["Hybrid"]
  1439.                 end
  1440.         if equipSet[WeaponArray[WeaponIndex]] then
  1441.                 equipSet = equipSet[WeaponArray[WeaponIndex]]
  1442.                 end
  1443.         if equipSet[AccArray[AccIndex]] then
  1444.                 equipSet = equipSet[AccArray[AccIndex]]
  1445.                 end
  1446.         if (buffactive.March and (buffactive.Embrava or buffactive.Haste or buffactive['Mighty Guard']) or (buffactive.Haste == 2) or (buffactive['Mighty Guard']) and (buffactive.Embrava or buffactive.Haste)) and equipSet["HighHaste"] then
  1447.                 equipSet = equipSet["HighHaste"]
  1448.                 end
  1449.         if buffactive["Aftermath: Lv.3"] and player.equipment.main == 'Tizona' and equipSet["AM3"] then
  1450.                 equipSet = equipSet["AM3"]
  1451.                 end
  1452.         if Thaumas == 'ON' then
  1453.                 equipSet = set_combine(equipSet,sets.TP.Thaumas)
  1454.                 end
  1455.                 equip(equipSet)
  1456.         elseif new == 'Idle' then
  1457.                 equipSet = sets.Idle
  1458.         if equipSet[IdleArray[IdleIndex]] then
  1459.                 equipSet = equipSet[IdleArray[IdleIndex]]
  1460.                 end
  1461.         if Cities:contains(world.area) then
  1462.                 equipSet = equip(sets.Idle.Town)
  1463.                 end
  1464.         if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  1465.                 equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  1466.                 end
  1467.         equip(equipSet)
  1468.         end
  1469. end
  1470.        
  1471.  
  1472.  
  1473.         -----------------
  1474.         -- Buff Change --
  1475.         -----------------
  1476.    
  1477. function buff_change(buff,gain,buff_table)
  1478.         buff = string.lower(buff)
  1479.         if buff_table['id'] == 272 and player.equipment.main == 'Tizona' then -- Tizona AM3 Timer/Countdown --
  1480.         if gain then
  1481.                 send_command('timers create "Aftermath: Lv.3" 180 down')
  1482.         else
  1483.                 send_command('timers delete "Aftermath: Lv.3"')
  1484.                 add_to_chat(123,'Tizona AM3: [OFF]')
  1485.                 end
  1486.         elseif buff_table['id'] == 271 and player.equipment.main == 'Tizona' then -- Tizona AM2 Timer/Countdown --
  1487.         if gain then
  1488.                 send_command('timers create "Aftermath: Lv.2" 270 down')
  1489.         else
  1490.                 send_command('timers delete "Aftermath: Lv.2"')
  1491.                 add_to_chat(123,'Tizona AM2: [OFF]')
  1492.                 end    
  1493.         elseif buff_table['id'] == 272 and player.equipment.main == 'Almace' then -- Almace AM3 Timer/Countdown --
  1494.         if gain then
  1495.                 send_command('timers create "Aftermath: Lv.3" 90 down')
  1496.                 else
  1497.                 send_command('timers delete "Aftermath: Lv.3"')
  1498.                 add_to_chat(123,'Almace AM3: [OFF]')
  1499.                 end
  1500.         elseif buff_table['id'] == 271 and player.equipment.main == 'Almace' then -- Almace AM2 Timer/Countdown --
  1501.         if gain then
  1502.                 send_command('timers create "Aftermath: Lv.2" 60 down')
  1503.         else
  1504.                 send_command('timers delete "Aftermath: Lv.2"')
  1505.                 add_to_chat(123,'Almace AM2: [OFF]')
  1506.                 end    
  1507.         elseif buff_table['id'] == 163 then -- Azure Lore Timer --
  1508.         if gain then
  1509.                 send_command('timers create "Azure Lore" 40 down')
  1510.         else
  1511.                 send_command('timers delete "Azure Lore"')
  1512.                 end    
  1513.         elseif buff_table['id'] == 164 then -- Chain Affinity Timer --
  1514.         if gain then
  1515.                 send_command('timers create "Chain Affinity" 30 down')
  1516.         else
  1517.                 send_command('timers delete "Chain Affinity"')
  1518.                 end        
  1519.         elseif buff_table['id'] == 165 then -- Burst Affinity Timer --
  1520.         if gain then
  1521.                 send_command('timers create "Burst Affinity" 30 down')
  1522.         else
  1523.                 send_command('timers delete "Burst Affinity"')
  1524.                 end    
  1525.         elseif buff_table['id'] == 457 then -- Efflux Timer --
  1526.         if gain then
  1527.                 send_command('timers create "Efflux" 60 down')
  1528.         else
  1529.                 send_command('timers delete "Efflux"')
  1530.                 end    
  1531.         elseif buff_table['id'] == 356 then -- Diffusion Timer --
  1532.         if gain then
  1533.                 send_command('timers create "Diffusion" 60 down')
  1534.         else
  1535.                 send_command('timers delete "Diffusion"')
  1536.                 end    
  1537.         elseif buff_table['id'] == 485 then -- Unbridled Learning Timer --
  1538.         if gain then
  1539.                 send_command('timers create "Unbridled Learning" 60 down')
  1540.         else
  1541.                 send_command('timers delete "Unbridled Learning"')
  1542.                 end    
  1543.         elseif buff_table['id'] == 505 then -- Unbridled Wisdom Timer --
  1544.         if gain then
  1545.                 send_command('timers create "Unbridled Wisdom" 60 down')
  1546.         else
  1547.                 send_command('timers delete "Unbridled Wisdom"')
  1548.                 end                    
  1549.         elseif buff_table['id'] == 434 then -- Brew Timer --
  1550.         if gain then
  1551.                 send_command('timers create "Transcendency" 180 down')
  1552.         else
  1553.                 send_command('timers delete "Transcendency"')
  1554.                 add_to_chat(123,'Transcendency: [OFF]')
  1555.                 end            
  1556.         elseif buff_table['id'] == 1 then -- Weakness Timer --
  1557.         if gain then
  1558.                 send_command('timers create "Weakness" 300 up')
  1559.         else
  1560.                 send_command('timers delete "Weakness"')
  1561.                 add_to_chat(158,'Weakness: [OFF]')
  1562.                 end
  1563.         elseif buff_table['id'] == 15 then -- Doom Party Chat --
  1564.         if gain then
  1565.                 send_command('input /party Doom')
  1566.         else
  1567.                 send_command('input /party Doom off')
  1568.                 add_to_chat(158,'Doom: [OFF]')
  1569.                 end
  1570.         elseif buff_table['id'] == 9 then -- Curse Party Chat --
  1571.         if gain then
  1572.                 send_command('input /party Curse')
  1573.         else
  1574.                 add_to_chat(158,'Curse: [OFF]')
  1575.                 end
  1576.         elseif buff_table['id'] == 14 or buff_table['id'] == 17 then -- Charm Party Chat --
  1577.         if gain then
  1578.                 send_command('input /party Charmed')
  1579.         else
  1580.                 send_command('input /party Charm off')
  1581.                 add_to_chat(158,'Charm: [OFF]')
  1582.                 end
  1583.         elseif buff_table['id'] == 4 then -- Paralysis Party Chat --
  1584.         if gain then
  1585.                 send_command('input /party Paralyzed')
  1586.         else
  1587.                 add_to_chat(158,'Paralysis: [OFF]')
  1588.                 end            
  1589.         elseif buff_table['id'] == 91 then -- Nat. Meditation --
  1590.         if not gain then
  1591.                 add_to_chat(123,'Nat. Meditation: [OFF]')
  1592.                 end
  1593.         elseif buff_table['id'] == 93 then -- Cocoon Notification --
  1594.         if not gain then
  1595.                 add_to_chat(123,'Cocoon: [OFF]')
  1596.                 end    
  1597.         elseif buff_table['id'] == 33 then -- Haste --
  1598.         if not gain then
  1599.                 add_to_chat(123,'Haste: [OFF]')
  1600.                 end    
  1601.         elseif buff_table['id'] == 147 then -- Attack Down --
  1602.         if not gain then
  1603.                 add_to_chat(158,'Attack Down: [OFF]')
  1604.                 end
  1605.         elseif buff_table['id'] == 149 then -- Defense Down --
  1606.         if not gain then
  1607.                 add_to_chat(158,'Defense Down: [OFF]')
  1608.                 end    
  1609.         elseif buff_table['id'] == 13  then    -- Slow --
  1610.         if gain then
  1611.                 send_command('input /party Slowed')
  1612.                 else
  1613.                 add_to_chat(158,'Slow: [OFF]')
  1614.                 end
  1615.         elseif buff_table['id'] == 42 then -- Regen --
  1616.         if not gain then
  1617.                 add_to_chat(123,'Regen: [OFF]')
  1618.                 end    
  1619.         elseif buff_table['id'] == 43 then -- Refresh --
  1620.         if not gain then
  1621.                 add_to_chat(123,'Refresh: [OFF]')
  1622.                 end
  1623.         elseif buff_table['id'] == 152 then -- Magic Barrier --
  1624.         if not gain then
  1625.                 add_to_chat(123,'Magic Barrier: [OFF]')
  1626.                 end    
  1627.         elseif buff_table['id'] == 116 then -- Phalanx/Barrier Tusk --
  1628.         if not gain then
  1629.                 add_to_chat(123,'Phalanx: [OFF]')
  1630.                 end    
  1631.         elseif buff_table['id'] == 36 then -- Blink/Occultation --
  1632.         if not gain then
  1633.                 add_to_chat(123,'Blink: [OFF]')
  1634.                 end    
  1635.         elseif buff_table['id'] == 604 then -- Mighty Guard --
  1636.         if not gain then
  1637.                 add_to_chat(123,'Mighty Guard: [OFF]')
  1638.                 end    
  1639.         elseif buff_table['id'] == 251 then -- Food --
  1640.         if not gain then
  1641.                 add_to_chat(123,'Food: [OFF]')
  1642.                 end
  1643.         elseif buff_table['id'] == 28 then -- Terror --
  1644.         if not gain then
  1645.                 add_to_chat(158,'Terror: [OFF]')
  1646.                 end
  1647.         elseif buff_table['id'] == 10 then -- Stun --
  1648.         if not gain then
  1649.                 add_to_chat(158,'Stun: [OFF]')
  1650.                 end    
  1651.         elseif buff_table['id'] == 16 then -- Amnesia --
  1652.         if not gain then
  1653.                 add_to_chat(158,'Amnesia: [OFF]')
  1654.                 end                
  1655.         elseif buff_table['id'] == 2 or buff_table['id'] == 19 then -- Sleep --
  1656.         if gain then
  1657.                 send_command('input /party ZZZ')
  1658.         else
  1659.                 add_to_chat(158,'Sleep: [OFF]')
  1660.                 end        
  1661.         end
  1662.         if buffactive.Terror or buffactive.Stun or buffactive.Petrification or buffactive.Sleep and gain then -- Lock PDT When You Are Terrorised/Stunned/Petrified/Slept --
  1663.                 equip({
  1664.                         ammo="Iron Gobbet",
  1665.                         head="Lithelimb Cap",
  1666.                         neck="Loricate Torque +1",
  1667.                         ear1="Ethereal Earring",
  1668.                         ear2="Eabani Earring",
  1669.                         body="Emet Harness +1",
  1670.                         hands=HerculeanGloves.DT,
  1671.                         ring1="Defending Ring",
  1672.                         ring2="Gelatinous Ring +1",
  1673.                         back="Xucau Mantle",
  1674.                         waist="Flume Belt +1",
  1675.                         legs="Iuitl Tights +1",
  1676.                         feet=HerculeanBoots.DT})
  1677.         else
  1678.         if not midaction() then
  1679.                 status_change(player.status)
  1680.                 end
  1681.         end
  1682. end
  1683.  
  1684.  
  1685.         -------------------------------------------------------------------------------------
  1686.         -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  1687.         -------------------------------------------------------------------------------------
  1688.        
  1689. function self_command(command)
  1690.         if command == 'C1' then -- Accuracy Level Toggle --
  1691.                 AccIndex = (AccIndex % #AccArray) + 1
  1692.                 add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  1693.                 status_change(player.status)
  1694.         elseif command == 'C17' then -- DW Toggle --
  1695.                 WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  1696.                 add_to_chat(155,'Dual Wield: '..WeaponArray[WeaponIndex])
  1697.                 status_change(player.status)
  1698.         elseif command == 'C5' then -- Update Gear --
  1699.                 status_change(player.status)
  1700.                 add_to_chat(155,'-[Gear Update]-')
  1701.                 add_to_chat(155,'Dual Wield: '..WeaponArray[WeaponIndex])
  1702.                 add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  1703.                 add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  1704.         elseif command == 'C2' then -- Hybrid Toggle --
  1705.         if Armor == 'Hybrid' then
  1706.                 Armor = 'None'
  1707.                 add_to_chat(123,'Hybrid Set: [Unlocked]')
  1708.         else
  1709.                 Armor = 'Hybrid'
  1710.                 add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  1711.                 end
  1712.                 status_change(player.status)
  1713.         elseif command == 'C7' then -- PDT Toggle --
  1714.         if Armor == 'PDT' then
  1715.                 Armor = 'None'
  1716.                 add_to_chat(123,'PDT Set: [Unlocked]')
  1717.         else
  1718.                 Armor = 'PDT'
  1719.                 add_to_chat(158,'PDT Set: [Locked]')
  1720.                 end
  1721.                 status_change(player.status)
  1722.         elseif command == 'C15' then -- MDT Toggle --
  1723.         if Armor == 'MDT' then
  1724.                 Armor = 'None'
  1725.                 add_to_chat(123,'MDT Set: [Unlocked]')
  1726.         else
  1727.                 Armor = 'MDT'
  1728.                 add_to_chat(158,'MDT Set: [Locked]')
  1729.                 end
  1730.                 status_change(player.status)
  1731.         elseif command == 'C12' then -- Kiting Toggle --
  1732.         if Armor == 'Kiting' then
  1733.                 Armor = 'None'
  1734.                 add_to_chat(123,'Kiting Set: [Unlocked]')
  1735.         else
  1736.                 Armor = 'Kiting'
  1737.                 add_to_chat(158,'Kiting Set: [Locked]')
  1738.                 end
  1739.                 status_change(player.status)
  1740.         elseif command == 'C16' then -- Thaumas Coat Toggle --
  1741.         if Thaumas == 'ON' then
  1742.                 Thaumas = 'OFF'
  1743.                 add_to_chat(123,'Thaumas Coat: [OFF]')
  1744.         else
  1745.                 Thaumas = 'ON'
  1746.                 add_to_chat(158,'Thaumas Coat: [ON]')
  1747.                 end
  1748.         elseif command == 'C18' then -- Magic Burst Toggle --
  1749.         if MB == 'ON' then
  1750.                 MB = 'OFF'
  1751.                 add_to_chat(123,'Magic Burst: [OFF]')
  1752.         else
  1753.                 MB = 'ON'
  1754.                 add_to_chat(158,'Maic Burst: [ON]')
  1755.                 end
  1756.                 status_change(player.status)
  1757.         elseif command == 'C8' then -- Distance Toggle --
  1758.         if player.target.distance then
  1759.                 target_distance = math.floor(player.target.distance*10)/10
  1760.                 add_to_chat(158,'Distance: '..target_distance)
  1761.         else
  1762.                 add_to_chat(123,'No Target Selected')
  1763.                 end
  1764.         elseif command == 'C6' then -- Idle Toggle --
  1765.                 IdleIndex = (IdleIndex % #IdleArray) + 1
  1766.                 add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  1767.                 status_change(player.status)
  1768.         elseif command == 'TP' then
  1769.                 add_to_chat(155,'TP Return: ['..tostring(player.tp)..']')
  1770.         elseif command:match('^SC%d$') then
  1771.                 send_command('//' .. sc_map[command])
  1772.                 end
  1773.        
  1774. end
  1775.  
  1776.         -----------
  1777.         -- Misc. --
  1778.         -----------
  1779.        
  1780. function actualCost(originalCost)
  1781.         if buffactive["Penury"] then
  1782.                 return originalCost*.5
  1783.         elseif buffactive["Light Arts"] then
  1784.                 return originalCost*.9
  1785.         else
  1786.                 return originalCost
  1787.         end
  1788. end
  1789.  
  1790. function degrade_spell(spell,degrade_array)
  1791.                 spell_index = table.find(degrade_array,spell.name)
  1792.         if spell_index>1 then
  1793.                 new_spell = degrade_array[spell_index - 1]
  1794.                 change_spell(new_spell,spell.target.raw)
  1795.                 add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
  1796.         end
  1797. end
  1798.  
  1799. function find_player_in_alliance(name)
  1800.         for i,v in ipairs(alliance) do
  1801.         for k,p in ipairs(v) do
  1802.         if p.name == name then
  1803.         return p
  1804.         end
  1805.     end
  1806.     end
  1807. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement