Advertisement
Arnan

DRK Lua October 2017

Oct 4th, 2017
438
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 52.66 KB | None | 0 0
  1.  
  2.         -------------------------------------------------
  3.         -- *** Arnan Dark Knight Gearswap Lua File *** --
  4.         -------------------------------------------------
  5.                
  6.             -- Commands --
  7.                
  8.                 -- In Game: //gs c, Macro: /console gs c, Bind: gs c --
  9.            
  10.                 -- gs c acc         Toggle accuracy tier for TP/WS
  11.                 -- gs c idle        Toggle idle sets
  12.                
  13.                 -- gs c pdt         PDT on/off
  14.                 -- gs c mdt         MDT on/off
  15.                 -- gs c kiting      Kiting on/off
  16.                 -- gs c hybrid      Hybrid on/off
  17.                
  18.                 -- gs c weapon      Toggle Weapon
  19.  
  20. function get_sets()
  21.     AccIndex = 1
  22.     AccArray = {"LowACC","MidACC","HighACC"}   
  23.     WeaponIndex = 1
  24.     WeaponArray = {"Caladbolg","Ragnarok","Anguta","Apocalypse","Dacnomania"}
  25.     IdleIndex = 1
  26.     IdleArray = {"Full","DT"}
  27.     Armor = 'None' 
  28.     Samurai_Roll = 'ON' -- Set Default SAM Roll ON or OFF Here --
  29.     target_distance = 6 -- Set Default Distance Here --
  30.     send_command('input /macro book 3;wait .1;input /macro set 1') -- Change Default Macro Book
  31.     add_to_chat(158,'-[Dark Knight Lua Loaded]-')
  32.     add_to_chat(155,'Weapon: '..WeaponArray[WeaponIndex])
  33.     add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  34.     add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  35.    
  36.     -- Augments --
  37.     OHead={}
  38.     OHead.WSD={ name="Odyssean Helm", augments={'Accuracy+11 Attack+11','Weapon skill damage +4%','VIT+3','Accuracy+9',}}
  39.     OHands={}
  40.     OHands.WSD={ name="Odyssean Gauntlets", augments={'Accuracy+15 Attack+15','Weapon skill damage +4%','STR+1','Accuracy+15',}}
  41.     OLegs={}
  42.     OLegs.STP={ name="Odyssean Cuisses", augments={'Accuracy+30','"Store TP"+7','Attack+15',}}
  43.     OLegs.WSD={ name="Odyssean Cuisses", augments={'Accuracy+27','Weapon skill damage +4%','AGI+10','Attack+12',}}
  44.     VFeet={}
  45.     VFeet.STP={ name="Valorous Greaves", augments={'Accuracy+25','"Store TP"+7',}}
  46.    
  47.     -- Ankou's Mantle Augments --
  48.     STRDAMantle={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}
  49.     DEXDAMantle={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}}
  50.     INTDAMantle={ name="Ankou's Mantle", augments={'INT+20','Accuracy+20 Attack+20','INT+10','"Dbl.Atk."+10',}}
  51.     DEXSTPMantle={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}}   
  52.     WSDMantle={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
  53.     VITWSDMantle={ name="Ankou's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}}
  54.     FCMantle={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10',}}
  55.  
  56.    
  57.    
  58.    
  59.     -- Key Binds --
  60.     send_command('bind Delete input /ws "Torcleaver" <t>')
  61.     send_command('bind F11 input /ws "Cross Reaper" <t>')
  62.     send_command('bind F12 input /ws "Resolution" <t>')
  63.     function file_unload()
  64.     send_command('unbind Delete')
  65.     send_command('unbind F11')
  66.     send_command('unbind F12')
  67.     end
  68.  
  69.     -- Gavialis Helm --
  70.     elements = {}
  71.     elements.equip = {head="Gavialis Helm"}
  72.     elements.Resolution = S{"Lightning","Wind","Earth"}
  73.     elements.Scourge = S {"Light","Fire"}
  74.     elements.Torcleaver = S {"Light","Water","Ice"}
  75.     elements.Catastrophe = S {"Dark","Earth"}
  76.     elements.Entropy = S{"Dark","Water","Earth"}
  77.     elements.Insurgency = S{"Light","Dark","Fire"}
  78.     elements.Quietus = S {"Light","Water","Ice"}
  79.     elements["Cross Reaper"] = S {"Water","Ice"}
  80.  
  81.     -- Idle Sets --
  82.     sets.Idle = {
  83.             ammo="Staunch Tathlum",
  84.             head="Valorous Mask",
  85.             neck="Coatl Gorget +1",
  86.             ear1="Infused Earring",
  87.             ear2="Genmei Earring",
  88.             body="Jumalik Mail",
  89.             hands="Sulev. Gauntlets +2",
  90.             ring1="Defending Ring",
  91.             ring2="Paguroidea Ring",
  92.             back="Moonbeam Cape",
  93.             waist="Flume Belt +1",
  94.             legs="Carmine Cuisses +1",
  95.             feet="Sulev. Leggings +2"}
  96.    
  97.     -- Full Idle Set --
  98.     sets.Idle.Full = set_combine(sets.Idle,{})
  99.     sets.Idle.Full.Caladbolg = set_combine(sets.Idle.Full,{
  100.             main="Caladbolg"})
  101.     sets.Idle.Full.Caladbolg.SAM = set_combine(sets.Idle.Full,{
  102.             main="Caladbolg"})
  103.     sets.Idle.Full.Ragnarok = set_combine(sets.Idle.Full,{
  104.             main="Ragnarok"})
  105.     sets.Idle.Full.Ragnarok.SAM = set_combine(sets.Idle.Full,{
  106.             main="Ragnarok"})
  107.     sets.Idle.Full.Anguta = set_combine(sets.Idle.Full,{
  108.             main="Anguta"})
  109.     sets.Idle.Full.Anguta.SAM = set_combine(sets.Idle.Full,{
  110.             main="Anguta"})
  111.     sets.Idle.Full.Apocalypse = set_combine(sets.Idle.Full,{
  112.             main="Apocalypse"})
  113.     sets.Idle.Full.Apocalypse.SAM = set_combine(sets.Idle.Full,{
  114.             main="Apocalypse"})
  115.     sets.Idle.Full.Dacnomania = set_combine(sets.Idle.Full,{
  116.             main="Dacnomania"})
  117.     sets.Idle.Full.Dacnomania.SAM = set_combine(sets.Idle.Full,{
  118.             main="Dacnomania"})
  119.  
  120.     -- Damage Taken Idle Set --
  121.     sets.Idle.DT = set_combine(sets.Idle,{
  122.             neck="Loricate Torque +1",
  123.             ear1="Ethereal Earring",
  124.             ear2="Genmei Earring"})
  125.     sets.Idle.DT.Caladbolg = set_combine(sets.Idle.DT,{
  126.             main="Caladbolg"})
  127.     sets.Idle.DT.Caladbolg.SAM = set_combine(sets.Idle.DT,{
  128.             main="Caladbolg"})
  129.     sets.Idle.DT.Ragnarok = set_combine(sets.Idle.DT,{
  130.             main="Ragnarok"})
  131.     sets.Idle.DT.Ragnarok.SAM = set_combine(sets.Idle.DT,{
  132.             main="Ragnarok"})
  133.     sets.Idle.DT.Anguta = set_combine(sets.Idle.DT,{
  134.             main="Anguta"})
  135.     sets.Idle.DT.Anguta.SAM = set_combine(sets.Idle.DT,{
  136.             main="Anguta"})
  137.     sets.Idle.DT.Apocalypse = set_combine(sets.Idle.DT,{
  138.             main="Apocalypse"})
  139.     sets.Idle.DT.Apocalypse.SAM = set_combine(sets.Idle.DT,{
  140.             main="Apocalypse"})
  141.     sets.Idle.DT.Dacnomania = set_combine(sets.Idle.DT,{
  142.             main="Dacnomania"})
  143.     sets.Idle.DT.Dacnomania.SAM = set_combine(sets.Idle.DT,{
  144.             main="Dacnomania"})
  145.  
  146.     ------------------     
  147.     -- Base TP Sets --     
  148.     ------------------     
  149.     sets.TP = {
  150.             ammo="Yetshila",
  151.             head="Flam. Zucchetto +1",
  152.             neck="Ganesha's Mala",
  153.             ear1="Cessance Earring",
  154.             ear2="Brutal Earring",
  155.             Body="Emicho Haubert +1",
  156.             hands="Emi. Gauntlets +1",
  157.             ring1="Hetairoi Ring",
  158.             ring2="Niqmaddu Ring",
  159.             back=DEXDAMantle,
  160.             waist="Ioskeha Belt",
  161.             legs="Ig. Flanchard +3",
  162.             feet="Flam. Gambieras +1"}
  163.     sets.TP.MidACC = set_combine(sets.TP,{
  164.             ammo="Ginsen",
  165.             ear2="Zennaroi Earring",
  166.             ring1="Chirich Ring"})
  167.     sets.TP.HighACC = set_combine(sets.TP.MidACC,{
  168.             ammo="Seeth. Bomblet +1",
  169.             head="Ig. Burgonet +3",
  170.             neck="Combatant's Torque",
  171.             ear1="Digni. Earring",
  172.             ring1="Regal Ring",
  173.             ring2="Ramuh Ring +1",
  174.             feet="Emi. Gambieras +1"})
  175.  
  176.     -- High Haste TP Base Set --
  177.     sets.TP.HighHaste = set_combine(sets.TP,{})
  178.     sets.TP.MidACC.HighHaste = set_combine(sets.TP.MidACC,{})
  179.     sets.TP.HighACC.HighHaste = set_combine(sets.TP.HighACC,{})
  180.    
  181.     --------------
  182.     -- Caladbolg --
  183.     --------------
  184.    
  185.     -- Caladbolg TP Sets --
  186.     sets.TP.Caladbolg = set_combine(sets.TP,{
  187.             main="Caladbolg",
  188.             ring1="Petrov Ring",
  189.             legs=OLegs.STP,
  190.             feet=VFeet.STP})
  191.     sets.TP.Caladbolg.MidACC = set_combine(sets.TP.MidACC,{
  192.             main="Caladbolg",
  193.             legs=OLegs.STP,
  194.             feet=VFeet.STP})
  195.     sets.TP.Caladbolg.HighACC = set_combine(sets.TP.HighACC,{
  196.             main="Caladbolg"})
  197.  
  198.     -- Caladbolg(High Haste) TP Sets --
  199.     sets.TP.Caladbolg.HighHaste = set_combine(sets.TP.Caladbolg,{})
  200.     sets.TP.Caladbolg.MidACC.HighHaste = set_combine(sets.TP.Caladbolg.MidACC,{})
  201.     sets.TP.Caladbolg.HighACC.HighHaste = set_combine(sets.TP.Caladbolg.HighACC,{})
  202.  
  203.     -- Caladbolg(SAM Roll) TP Sets --
  204.     sets.TP.Caladbolg.STP = set_combine(sets.TP,{
  205.             main="Caladbolg"})
  206.     sets.TP.Caladbolg.MidACC.STP = set_combine(sets.TP.MidACC,{
  207.             main="Caladbolg"})
  208.     sets.TP.Caladbolg.HighACC.STP = set_combine(sets.TP.HighACC,{
  209.             main="Caladbolg"})
  210.  
  211.     -- Caladbolg(High Haste + SAM Roll) TP Sets --
  212.     sets.TP.Caladbolg.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  213.             main="Caladbolg"})
  214.     sets.TP.Caladbolg.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  215.             main="Caladbolg"})
  216.     sets.TP.Caladbolg.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  217.             main="Caladbolg"})
  218.  
  219.     -- Caladbolg /SAM TP Sets --
  220.     sets.TP.Caladbolg.SAM = set_combine(sets.TP,{
  221.             main="Caladbolg",
  222.             ring1="Petrov Ring"})
  223.     sets.TP.Caladbolg.SAM.MidACC = set_combine(sets.TP.MidACC,{
  224.             main="Caladbolg",
  225.             ring1="Chirich Ring"})
  226.     sets.TP.Caladbolg.SAM.HighACC = set_combine(sets.TP.HighACC,{
  227.             main="Caladbolg"})
  228.  
  229.     -- Caladbolg(High Haste) /SAM TP Sets --
  230.     sets.TP.Caladbolg.SAM.HighHaste = set_combine(sets.TP.Caladbolg.SAM,{})
  231.     sets.TP.Caladbolg.SAM.MidACC.HighHaste = set_combine(sets.TP.Caladbolg.SAM.MidACC,{})
  232.     sets.TP.Caladbolg.SAM.HighACC.HighHaste = set_combine(sets.TP.Caladbolg.SAM.HighACC,{})
  233.  
  234.     -- Caladbolg(SAM Roll) /SAM TP Sets --
  235.     sets.TP.Caladbolg.SAM.STP = set_combine(sets.TP,{
  236.             main="Caladbolg"})
  237.     sets.TP.Caladbolg.SAM.MidACC.STP = set_combine(sets.TP.MidACC,{
  238.             main="Caladbolg"})
  239.     sets.TP.Caladbolg.SAM.HighACC.STP = set_combine(sets.TP.HighACC,{
  240.             main="Caladbolg"})
  241.  
  242.     -- Caladbolg(High Haste + SAM Roll) /SAM TP Sets --
  243.     sets.TP.Caladbolg.SAM.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  244.             main="Caladbolg"})
  245.     sets.TP.Caladbolg.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  246.             main="Caladbolg"})
  247.     sets.TP.Caladbolg.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  248.             main="Caladbolg"})
  249.    
  250.     --------------
  251.     -- Ragnarok --
  252.     --------------
  253.    
  254.     -- Ragnarok TP Sets --
  255.     sets.TP.Ragnarok = set_combine(sets.TP,{
  256.             main="Ragnarok",
  257.             ring1="Petrov Ring",
  258.             legs=OLegs.STP,
  259.             feet=VFeet.STP})
  260.     sets.TP.Ragnarok.MidACC = set_combine(sets.TP.MidACC,{
  261.             main="Ragnarok",
  262.             legs=OLegs.STP,
  263.             feet=VFeet.STP})
  264.     sets.TP.Ragnarok.HighACC = set_combine(sets.TP.HighACC,{
  265.             main="Ragnarok"})
  266.  
  267.     -- Ragnarok(High Haste) TP Sets --
  268.     sets.TP.Ragnarok.HighHaste = set_combine(sets.TP.Ragnarok,{})
  269.     sets.TP.Ragnarok.MidACC.HighHaste = set_combine(sets.TP.Ragnarok.MidACC,{})
  270.     sets.TP.Ragnarok.HighACC.HighHaste = set_combine(sets.TP.Ragnarok.HighACC,{})
  271.  
  272.     -- Ragnarok(SAM Roll) TP Sets --
  273.     sets.TP.Ragnarok.STP = set_combine(sets.TP,{
  274.             main="Ragnarok"})
  275.     sets.TP.Ragnarok.MidACC.STP = set_combine(sets.TP.MidACC,{
  276.             main="Ragnarok"})
  277.     sets.TP.Ragnarok.HighACC.STP = set_combine(sets.TP.HighACC,{
  278.             main="Ragnarok"})
  279.  
  280.     -- Ragnarok(High Haste + SAM Roll) TP Sets --
  281.     sets.TP.Ragnarok.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  282.             main="Ragnarok"})
  283.     sets.TP.Ragnarok.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  284.             main="Ragnarok"})
  285.     sets.TP.Ragnarok.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  286.             main="Ragnarok"})
  287.  
  288.     -- Ragnarok /SAM TP Sets --
  289.     sets.TP.Ragnarok.SAM = set_combine(sets.TP,{
  290.             main="Ragnarok",
  291.             ring1="Petrov Ring"})
  292.     sets.TP.Ragnarok.SAM.MidACC = set_combine(sets.TP.MidACC,{
  293.             main="Ragnarok",
  294.             ring1="Chirich Ring"})
  295.     sets.TP.Ragnarok.SAM.HighACC = set_combine(sets.TP.HighACC,{
  296.             main="Ragnarok"})
  297.  
  298.     -- Ragnarok(High Haste) /SAM TP Sets --
  299.     sets.TP.Ragnarok.SAM.HighHaste = set_combine(sets.TP.Ragnarok.SAM,{})
  300.     sets.TP.Ragnarok.SAM.MidACC.HighHaste = set_combine(sets.TP.Ragnarok.SAM.MidACC,{})
  301.     sets.TP.Ragnarok.SAM.HighACC.HighHaste = set_combine(sets.TP.Ragnarok.SAM.HighACC,{})
  302.  
  303.     -- Ragnarok(SAM Roll) /SAM TP Sets --
  304.     sets.TP.Ragnarok.SAM.STP = set_combine(sets.TP,{
  305.             main="Ragnarok"})
  306.     sets.TP.Ragnarok.SAM.MidACC.STP = set_combine(sets.TP.MidACC,{
  307.             main="Ragnarok"})
  308.     sets.TP.Ragnarok.SAM.HighACC.STP = set_combine(sets.TP.HighACC,{
  309.             main="Ragnarok"})
  310.  
  311.     -- Ragnarok(High Haste + SAM Roll) /SAM TP Sets --
  312.     sets.TP.Ragnarok.SAM.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  313.             main="Ragnarok"})
  314.     sets.TP.Ragnarok.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  315.             main="Ragnarok"})
  316.     sets.TP.Ragnarok.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  317.             main="Ragnarok"})
  318.    
  319.     ----------------
  320.     -- Anguta --
  321.     ----------------
  322.    
  323.     -- Anguta TP Sets --
  324.     sets.TP.Anguta = set_combine(sets.TP,{
  325.             main="Anguta",
  326.             legs=OLegs.STP,
  327.             feet=VFeet.STP})
  328.     sets.TP.Anguta.MidACC = set_combine(sets.TP.MidACC,{
  329.             main="Anguta",
  330.             legs=OLegs.STP,
  331.             feet=VFeet.STP})
  332.     sets.TP.Anguta.HighACC = set_combine(sets.TP.HighACC,{
  333.             main="Anguta"})
  334.  
  335.     -- Anguta High Haste TP Sets --
  336.     sets.TP.Anguta.HighHaste = set_combine(sets.TP.Anguta,{})
  337.     sets.TP.Anguta.MidACC.HighHaste = set_combine(sets.TP.Anguta.MidACC,{})
  338.     sets.TP.Anguta.HighACC.HighHaste = set_combine(sets.TP.Anguta.HighACC,{})
  339.  
  340.     -- Anguta SAM Roll TP Sets --
  341.     sets.TP.Anguta.STP = set_combine(sets.TP,{
  342.             main="Anguta"})
  343.     sets.TP.Anguta.MidACC.STP = set_combine(sets.TP.MidACC,{
  344.             main="Anguta"})
  345.     sets.TP.Anguta.HighACC.STP = set_combine(sets.TP.HighACC,{
  346.             main="Anguta"})
  347.  
  348.     -- Anguta High Haste + SAM Roll TP Sets --
  349.     sets.TP.Anguta.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  350.             main="Anguta"})
  351.     sets.TP.Anguta.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  352.             main="Anguta"})
  353.     sets.TP.Anguta.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  354.             main="Anguta"})
  355.  
  356.     -- Anguta /SAM TP Sets --
  357.     sets.TP.Anguta.SAM = set_combine(sets.TP,{
  358.             main="Anguta"})
  359.     sets.TP.Anguta.SAM.MidACC = set_combine(sets.TP.MidACC,{
  360.             main="Anguta"})
  361.     sets.TP.Anguta.SAM.HighACC = set_combine(sets.TP.HighACC,{
  362.             main="Anguta"})
  363.  
  364.     -- Anguta High Haste /SAM TP Sets --
  365.     sets.TP.Anguta.SAM.HighHaste = set_combine(sets.TP.Anguta.SAM,{})
  366.     sets.TP.Anguta.SAM.MidACC.HighHaste = set_combine(sets.TP.Anguta.SAM.MidACC,{})
  367.     sets.TP.Anguta.SAM.HighACC.HighHaste = set_combine(sets.TP.Anguta.SAM.HighACC,{})
  368.  
  369.     -- Anguta SAM Roll /SAM TP Sets --
  370.     sets.TP.Anguta.SAM.STP = set_combine(sets.TP,{
  371.             main="Anguta"})
  372.     sets.TP.Anguta.SAM.MidACC.STP = set_combine(sets.TP.MidACC,{
  373.             main="Anguta"})
  374.     sets.TP.Anguta.SAM.HighACC.STP = set_combine(sets.TP.HighACC,{
  375.             main="Anguta"})
  376.  
  377.     -- Anguta High Haste + SAM Roll /SAM TP Sets --
  378.     sets.TP.Anguta.SAM.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  379.             main="Anguta"})
  380.     sets.TP.Anguta.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  381.             main="Anguta"})
  382.     sets.TP.Anguta.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  383.             main="Anguta"})
  384.    
  385.     ----------------
  386.     -- Apocalypse --
  387.     ----------------
  388.    
  389.     -- Apocalypse TP Sets --
  390.     sets.TP.Apocalypse = set_combine(sets.TP,{
  391.             main="Apocalypse",
  392.             ammo="Ginsen",
  393.             ear2="Tripudio Earring",
  394.             ring1="Petrov Ring",
  395.             legs=OLegs.STP,
  396.             feet=VFeet.STP})
  397.     sets.TP.Apocalypse.MidACC = set_combine(sets.TP.MidACC,{
  398.             main="Apocalypse",
  399.             ammo="Ginsen",
  400.             ear2="Tripudio Earring",
  401.             legs=OLegs.STP,
  402.             feet=VFeet.STP})
  403.     sets.TP.Apocalypse.HighACC = set_combine(sets.TP.HighACC,{
  404.             main="Apocalypse"})
  405.  
  406.     -- Apocalypse High Haste TP Sets --
  407.     sets.TP.Apocalypse.HighHaste = set_combine(sets.TP.Apocalypse,{})
  408.     sets.TP.Apocalypse.MidACC.HighHaste = set_combine(sets.TP.Apocalypse.MidACC,{})
  409.     sets.TP.Apocalypse.HighACC.HighHaste = set_combine(sets.TP.Apocalypse.HighACC,{})
  410.  
  411.     -- Apocalypse SAM Roll TP Sets --
  412.     sets.TP.Apocalypse.STP = set_combine(sets.TP,{
  413.             main="Apocalypse"})
  414.     sets.TP.Apocalypse.MidACC.STP = set_combine(sets.TP.MidACC,{
  415.             main="Apocalypse"})
  416.     sets.TP.Apocalypse.HighACC.STP = set_combine(sets.TP.HighACC,{
  417.             main="Apocalypse"})
  418.  
  419.     -- Apocalypse High Haste + SAM Roll TP Sets --
  420.     sets.TP.Apocalypse.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  421.             main="Apocalypse"})
  422.     sets.TP.Apocalypse.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  423.             main="Apocalypse"})
  424.     sets.TP.Apocalypse.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  425.             main="Apocalypse"})
  426.  
  427.     -- Apocalypse /SAM TP Sets --
  428.     sets.TP.Apocalypse.SAM = set_combine(sets.TP,{
  429.             main="Apocalypse",
  430.             ammo="Ginsen",
  431.             ear2="Tripudio Earring",
  432.             ring1="Petrov Ring"})
  433.     sets.TP.Apocalypse.SAM.MidACC = set_combine(sets.TP.MidACC,{
  434.             main="Apocalypse",
  435.             ammo="Ginsen",
  436.             ear2="Tripudio Earring",})
  437.     sets.TP.Apocalypse.SAM.HighACC = set_combine(sets.TP.HighACC,{
  438.             main="Apocalypse"})
  439.  
  440.     -- Apocalypse High Haste /SAM TP Sets --
  441.     sets.TP.Apocalypse.SAM.HighHaste = set_combine(sets.TP.Apocalypse.SAM,{})
  442.     sets.TP.Apocalypse.SAM.MidACC.HighHaste = set_combine(sets.TP.Apocalypse.SAM.MidACC,{})
  443.     sets.TP.Apocalypse.SAM.HighACC.HighHaste = set_combine(sets.TP.Apocalypse.SAM.HighACC,{})
  444.  
  445.     -- Apocalypse SAM Roll /SAM TP Sets --
  446.     sets.TP.Apocalypse.SAM.STP = set_combine(sets.TP,{
  447.             main="Apocalypse"})
  448.     sets.TP.Apocalypse.SAM.MidACC.STP = set_combine(sets.TP.MidACC,{
  449.             main="Apocalypse"})
  450.     sets.TP.Apocalypse.SAM.HighACC.STP = set_combine(sets.TP.HighACC,{
  451.             main="Apocalypse"})
  452.  
  453.     -- Apocalypse High Haste + SAM Roll /SAM TP Sets --
  454.     sets.TP.Apocalypse.SAM.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  455.             main="Apocalypse"})
  456.     sets.TP.Apocalypse.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  457.             main="Apocalypse"})
  458.     sets.TP.Apocalypse.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  459.             main="Apocalypse"})
  460.  
  461.     ----------------
  462.     -- Dacnomania --
  463.     ----------------
  464.    
  465.     -- Dacnomania TP Sets --
  466.     sets.TP.Dacnomania = set_combine(sets.TP,{
  467.             main="Dacnomania",
  468.             neck="Combatant's Torque",
  469.             ring1="Petrov Ring",
  470.             legs=OLegs.STP,
  471.             feet=VFeet.STP})
  472.     sets.TP.Dacnomania.MidACC = set_combine(sets.TP.MidACC,{
  473.             main="Dacnomania",
  474.             neck="Combatant's Torque",
  475.             legs=OLegs.STP,
  476.             feet=VFeet.STP})
  477.     sets.TP.Dacnomania.HighACC = set_combine(sets.TP.HighACC,{
  478.             main="Dacnomania"})
  479.  
  480.     -- Dacnomania High Haste TP Sets --
  481.     sets.TP.Dacnomania.HighHaste = set_combine(sets.TP.Dacnomania,{})
  482.     sets.TP.Dacnomania.MidACC.HighHaste = set_combine(sets.TP.Dacnomania.MidACC,{})
  483.     sets.TP.Dacnomania.HighACC.HighHaste = set_combine(sets.TP.Dacnomania.HighACC,{})
  484.  
  485.     -- Dacnomania SAM Roll TP Sets --
  486.     sets.TP.Dacnomania.STP = set_combine(sets.TP,{
  487.             main="Dacnomania"})
  488.     sets.TP.Dacnomania.MidACC.STP = set_combine(sets.TP.MidACC,{
  489.             main="Dacnomania"})
  490.     sets.TP.Dacnomania.HighACC.STP = set_combine(sets.TP.HighACC,{
  491.             main="Dacnomania"})
  492.  
  493.     -- Dacnomania High Haste + SAM Roll TP Sets --
  494.     sets.TP.Dacnomania.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  495.             main="Dacnomania"})
  496.     sets.TP.Dacnomania.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  497.             main="Dacnomania"})
  498.     sets.TP.Dacnomania.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  499.             main="Dacnomania"})
  500.  
  501.     -- Dacnomania /SAM TP Sets --
  502.     sets.TP.Dacnomania.SAM = set_combine(sets.TP,{
  503.             main="Dacnomania",
  504.             neck="Combatant's Torque",
  505.             ring1="Petrov Ring"})
  506.     sets.TP.Dacnomania.SAM.MidACC = set_combine(sets.TP.MidACC,{
  507.             main="Dacnomania",
  508.             neck="Combatant's Torque"})
  509.     sets.TP.Dacnomania.SAM.HighACC = set_combine(sets.TP.HighACC,{
  510.             main="Dacnomania"})
  511.  
  512.     -- Dacnomania High Haste /SAM TP Sets --
  513.     sets.TP.Dacnomania.SAM.HighHaste = set_combine(sets.TP.Dacnomania.SAM,{})
  514.     sets.TP.Dacnomania.SAM.MidACC.HighHaste = set_combine(sets.TP.Dacnomania.SAM.MidACC,{})
  515.     sets.TP.Dacnomania.SAM.HighACC.HighHaste = set_combine(sets.TP.Dacnomania.SAM.HighACC,{})
  516.  
  517.     -- Dacnomania SAM Roll /SAM TP Sets --
  518.     sets.TP.Dacnomania.SAM.STP = set_combine(sets.TP,{
  519.             main="Dacnomania"})
  520.     sets.TP.Dacnomania.SAM.MidACC.STP = set_combine(sets.TP.MidACC,{
  521.             main="Dacnomania"})
  522.     sets.TP.Dacnomania.SAM.HighACC.STP = set_combine(sets.TP.HighACC,{
  523.             main="Dacnomania"})
  524.  
  525.     -- Dacnomania High Haste + SAM Roll /SAM TP Sets --
  526.     sets.TP.Dacnomania.SAM.HighHaste.STP = set_combine(sets.TP.HighHaste,{
  527.             main="Dacnomania"})
  528.     sets.TP.Dacnomania.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.MidACC.HighHaste,{
  529.             main="Dacnomania"})
  530.     sets.TP.Dacnomania.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.HighACC.HighHaste,{
  531.             main="Dacnomania"})
  532.            
  533.     -- PDT/MDT Sets --
  534.     sets.PDT = {
  535.             ammo="Staunch Tathlum",
  536.             head="Sulevia's Mask +2",
  537.             neck="Loricate Torque +1",
  538.             ear1="Ethereal Earring",           
  539.             ear2="Odnowa Earring +1",
  540.             body="Sulevia's Plate. +1",
  541.             hands="Sulev. Gauntlets +2",
  542.             ring1="Moonbeam Ring",         
  543.             ring2="Moonbeam Ring",
  544.             back="Moonbeam Cape",
  545.             waist="Tempus Fugit",
  546.             legs="Sulev. Cuisses +2",
  547.             feet="Sulev. Leggings +2"}
  548.  
  549.     sets.MDT = set_combine(sets.PDT,{
  550.             ear1="Sanare Earring"})
  551.  
  552.     -- Hybrid Set --
  553.     sets.TP.Hybrid = set_combine(sets.PDT,{})
  554.     sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  555.     sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  556.    
  557.     -- Kiting Set --
  558.     sets.Kiting =  set_combine(sets.PDT,{
  559.             legs="Carmine Cuisses +1",
  560.             feet="Hippo. Socks +1"})
  561.  
  562.     -- WS Base Set (multi-attack) --
  563.     sets.WS = {
  564.             ammo="Seeth. Bomblet +1",
  565.             head="Flam. Zucchetto +1",
  566.             neck="Fotia Gorget",
  567.             ear1="Moonshade Earring",
  568.             ear2="Brutal Earring",
  569.             Body="Emicho Haubert +1",
  570.             hands="Emi. Gauntlets +1",
  571.             ring1="Regal Ring",
  572.             ring2="Niqmaddu Ring",
  573.             back=STRDAMantle,
  574.             waist="Fotia Belt",
  575.             legs="Ig. Flanchard +3",
  576.             feet="Flam. Gambieras +1"}
  577.     sets.WS.MidACC = set_combine(sets.WS,{
  578.             ear2="Zennaroi Earring",
  579.             back=DEXDAMantle,})
  580.     sets.WS.HighACC = set_combine(sets.WS.MidACC,{
  581.             head="Ig. Burgonet +3",
  582.             ring1="Ramuh Ring +1",
  583.             ring2="Ramuh Ring +1",
  584.             feet="Emi. Gambieras +1"})
  585.            
  586.     -- One Hit WS set--
  587.     sets.WS.OneHit = {
  588.             ammo="Knobkierrie",
  589.             head=OHead.WSD,
  590.             neck="Fotia Gorget",
  591.             ear1="Moonshade Earring",
  592.             ear2="Ishvara Earring",
  593.             body="Ignominy Cuirass +3",
  594.             hands=OHands.WSD,
  595.             ring1="Regal Ring",
  596.             ring2="Niqmaddu Ring",
  597.             back=WSDMantle,
  598.             waist="Fotia Belt",
  599.             legs=OLegs.WSD,
  600.             feet="Sulev. Leggings +2"}
  601.     sets.WS.OneHit.MidACC = set_combine(sets.WS.OneHit,{
  602.             ammo="Seeth. Bomblet +1",
  603.             ear2="Zennaroi Earring"})
  604.     sets.WS.OneHit.HighACC = set_combine(sets.WS.OneHit.MidACC,{
  605.             head="Ig. Burgonet +3",
  606.             ring2="Ramuh Ring +1",
  607.             legs="Ig. Flanchard +3"})
  608.            
  609.     -- Magic WS set --
  610.     sets.WS.MABWS = {
  611.             ammo="Pemphredo Tathlum",
  612.             head="Jumalik Helm",
  613.             neck="Sanctity Necklace",
  614.             ear1="Friomisi Earring",
  615.             ear2="Crematio Earring",
  616.             body="Found. Breastplate",
  617.             hands="Founder's Gauntlets",
  618.             ring1="Shiva Ring +1",
  619.             ring2="Shiva Ring +1",
  620.             back="Argochampsa Mantle",
  621.             waist="Eschan Stone",
  622.             legs="Eschite Cuisses",
  623.             feet="Founder's Greaves"}
  624.  
  625.     -- Resolution Sets (STR & Multi-Attack) --
  626.     sets.WS.Resolution = {
  627.             ammo="Seeth. Bomblet +1",
  628.             head="Argosy Celata +1",
  629.             neck="Fotia Gorget",
  630.             ear1="Moonshade Earring",
  631.             ear2="Brutal Earring",
  632.             body="Argosy Hauberk +1",
  633.             hands="Argosy Mufflers +1",
  634.             ring1="Regal Ring",
  635.             ring2="Niqmaddu Ring",
  636.             back=STRDAMantle,
  637.             waist="Fotia Belt",
  638.             legs="Ig. Flanchard +3",
  639.             feet="Argosy Sollerets +1"}
  640.     sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{
  641.             head="Ig. Flanchard +3",
  642.             ear2="Zennaroi Earring"})
  643.     sets.WS.Resolution.HighACC = set_combine(sets.WS.HighACC,{})
  644.  
  645.     -- Scourge Sets (STR/VIT & WSD+) --
  646.     sets.WS.Scourge = set_combine(sets.WS.OneHit,{})
  647.     sets.WS.Scourge.MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  648.     sets.WS.Scourge.HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  649.    
  650.     -- Torcleaver Sets (VIT & WSD+) --
  651.     sets.WS.Torcleaver = set_combine(sets.WS.OneHit,{
  652.             back=VITWSDMantle})
  653.     sets.WS.Torcleaver.MidACC = set_combine(sets.WS.Torcleaver,{
  654.             back=VITWSDMantle})
  655.     sets.WS.Torcleaver.HighACC = set_combine(sets.WS.OneHit.HighACC,{
  656.             back=VITWSDMantle})
  657.        
  658.     -- Herculean Slash Sets (MAB/Ice) --
  659.     sets.WS["Herculean Slash"] = set_combine(sets.WS.MABWS,{})
  660.     sets.WS["Herculean Slash"].MidACC = set_combine(sets.WS.MABWS,{})
  661.     sets.WS["Herculean Slash"].HighACC = set_combine(sets.WS.MABWS,{})
  662.  
  663.     -- Catastrophe Sets (STR/INT & WSD+) --
  664.     sets.WS.Catastrophe = set_combine(sets.WS.OneHit,{
  665.             head="Ratri Sallet",
  666.             hands="Ratri Gadlings",
  667.             legs="Ratri Cuisses"})
  668.     sets.WS.Catastrophe.MidACC = set_combine(sets.WS.OneHit.MidACC,{
  669.             head="Ratri Sallet",
  670.             hands="Ratri Gadlings",
  671.             legs="Ratri Cuisses"})
  672.     sets.WS.Catastrophe.HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  673.  
  674.     -- Entropy Sets (INT & Gorget/Belt, four hits) --
  675.     sets.WS.Entropy = set_combine(sets.WS,{
  676.             ammo="Floestone",
  677.             head="Ratri Sallet",
  678.             ring1="Shiva Ring +1",
  679.             ring2="Shiva Ring +1",
  680.             back=INTDAMantle})
  681.     sets.WS.Entropy.MidACC = set_combine(sets.WS.MidACC,{
  682.             head="Ratri Sallet",
  683.             ring1="Shiva Ring +1",
  684.             ring2="Shiva Ring +1",
  685.             back=INTDAMantle})
  686.     sets.WS.Entropy.HighACC = set_combine(sets.WS.HighACC,{})
  687.  
  688.     -- Insurgency Sets (STR/INT, four hits) --
  689.     sets.WS.Insurgency = set_combine(sets.WS,{
  690.             ammo="Floestone",
  691.             head="Ig. Burgonet +3",
  692.             feet="Ratri Sollerets"})
  693.     sets.WS.Insurgency.MidACC = set_combine(sets.WS.MidACC,{
  694.             head="Ig. Burgonet +3",
  695.             feet="Ratri Sollerets"})
  696.     sets.WS.Insurgency.HighACC = set_combine(sets.WS.HighACC,{})
  697.    
  698.     -- Quietus Sets (STR/MND & WSD+) --
  699.     sets.WS.Quietus = set_combine(sets.WS.OneHit,{
  700.             head="Ratri Sallet",
  701.             hands="Ratri Gadlings",
  702.             ring1="Rufescent Ring",
  703.             legs="Ratri Cuisses",
  704.             feet="Ratri Sollerets"})
  705.     sets.WS.Quietus.MidACC = set_combine(sets.WS.OneHit.MidACC,{
  706.             head="Ratri Sallet",
  707.             hands="Ratri Gadlings",
  708.             legs="Ratri Cuisses",
  709.             feet="Ratri Sollerets"})
  710.     sets.WS.Quietus.HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  711.  
  712.     -- Cross Reaper Sets (STR/MND & WSD+) --
  713.     sets.WS["Cross Reaper"] = set_combine(sets.WS.OneHit,{
  714.             head="Ratri Sallet",
  715.             hands="Ratri Gadlings",
  716.             ring1="Rufescent Ring",
  717.             legs="Ratri Cuisses"})
  718.     sets.WS["Cross Reaper"].MidACC = set_combine(sets.WS.OneHit.MidACC,{
  719.             head="Ratri Sallet",
  720.             hands="Ratri Gadlings",
  721.             legs="Ratri Cuisses"})
  722.     sets.WS["Cross Reaper"].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  723.  
  724.     -- Guillotine Sets (STR/MND) --
  725.     sets.WS.Guillotine = set_combine(sets.WS,{
  726.             head="Ig. Burgonet +3",
  727.             ring1="Rufescent Ring",
  728.             feet="Ratri Sollerets"})
  729.     sets.WS.Guillotine.MidACC = set_combine(sets.WS.MidACC,{
  730.             head="Ig. Burgonet +3",
  731.             feet="Ratri Sollerets"})
  732.     sets.WS.Guillotine.HighACC = set_combine(sets.WS.HighACC,{})
  733.  
  734.     -- Infernal Scythe Sets (MAB/Dark) --
  735.     sets.WS["Infernal Scythe"] = set_combine(sets.WS.MABWS,{
  736.             head="Pixie Hairpin +1",
  737.             ring1="Archon Ring"})
  738.     sets.WS["Infernal Scythe"].MidACC = set_combine(sets.WS.MABWS,{
  739.             head="Pixie Hairpin +1",
  740.             ring1="Archon Ring"})
  741.     sets.WS["Infernal Scythe"].HighACC = set_combine(sets.WS.MABWS,{
  742.             head="Pixie Hairpin +1",
  743.             ring1="Archon Ring"})
  744.            
  745.     -- Full Break WS set --
  746.     sets.WS['Full Break'] = {
  747.             ammo="Pemphredo Tathlum",
  748.             head="Carmine Mask +1",
  749.             neck="Erra Pendant",
  750.             ear1="Digni. Earring",
  751.             ear2="Gwati Earring",
  752.             body="Flamma Korazin +1",
  753.             hands="Flam. Manopolas +1",
  754.             ring1="Ramuh Ring +1",
  755.             ring2="Ramuh Ring +1",
  756.             back=FCMantle,
  757.             waist="Eschan Stone",
  758.             legs="Flamma Dirs +1",
  759.             feet="Flam. Gambieras +1"}
  760.            
  761.     -- Fell Cleave --
  762.     sets.WS['Fell Cleave'] = set_combine(sets.WS.OneHit,{})
  763.     sets.WS['Fell Cleave'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  764.     sets.WS['Fell Cleave'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  765.        
  766.     -- Souleater WS Set --
  767.     sets.SE_WS = {
  768.             head="Ig. Burgonet +3"}
  769.            
  770.     -- Arcane Circle/Founders Breastplate WS Set --
  771.     sets.AC_WS = {
  772.             body="Found. Breastplate"}
  773.    
  774.     -------------
  775.     -- JA Sets --
  776.     -------------
  777.     sets.JA = {}
  778.     sets.JA["Blood Weapon"] = {body="Fallen's Cuirass"}
  779.     sets.JA["Diabolic Eye"] = {hands="Fall. Fin. Gaunt. +1"}
  780.     sets.JA["Nether Void"] = {legs="Heath. Flanchard +1"}
  781.     sets.JA["Arcane Circle"] = {feet="Igno. Sollerets +1"}
  782.     sets.JA["Last Resort"] = {back="Ankou's Mantle"}
  783.     sets.JA["Weapon Bash"] = {hands="Ig. Gauntlets +2"}
  784.  
  785.     -- Waltz Set --
  786.     sets.Waltz = {}
  787.  
  788.     ------------------
  789.     -- Precast Sets --
  790.     ------------------
  791.     sets.Precast = {
  792.             ammo="Impatiens",
  793.             head="Carmine Mask +1",
  794.             neck="Orunmila's Torque",
  795.             ear1="Loquac. Earring",
  796.             ear2="Etiolation Earring",
  797.             body="Odyss. Chestplate",
  798.             hands="Leyline Gloves",
  799.             ring1="Lebeche Ring",
  800.             ring2="Kishar Ring",
  801.             back=FCMantle,
  802.             waist="Flume Belt +1",
  803.             legs="Enif Cosciales",
  804.             feet="Carmine Greaves +1"}
  805.            
  806.     -- Precast Cure Set --
  807.     sets.Precast.Cure = set_combine(sets.Precast,{
  808.             ear2="Mendi. Earring",
  809.             body="Jumalik Mail",
  810.             waist="Acerbic Sash +1"})
  811.    
  812.     -- Precast Enhancing Magic --
  813.     sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{waist="Siegel Sash"})
  814.    
  815.     -- Fastcast Set --
  816.     sets.Precast.FastCast = set_combine(sets.Precast,{})
  817.  
  818.     ------------------
  819.     -- Midcast Sets --
  820.     ------------------
  821.     sets.Midcast = {
  822.             ammo="Staunch Tathlum",
  823.             head="Carmine Mask +1",
  824.             neck="Orunmila's Torque",
  825.             ear1="Loquac. Earring",
  826.             ear2="Etiolation Earring",
  827.             body="Odyss. Chestplate",
  828.             hands="Leyline Gloves",
  829.             ring1="Defending Ring",
  830.             ring2="Kishar Ring",
  831.             back=FCMantle,
  832.             waist="Flume Belt +1",
  833.             legs="Carmine Cuisses +1",
  834.             feet="Odyssean Greaves"}
  835.  
  836.     -- Magic Haste Set --
  837.     sets.Midcast.Haste = set_combine(sets.Midcast,{})
  838.    
  839.     -- Magic Attack Bonus Set --
  840.     sets.Midcast.MAB = {
  841.             ammo="Pemphredo Tathlum",
  842.             head="Jumalik Helm",
  843.             neck="Sanctity Necklace",
  844.             ear1="Friomisi Earring",
  845.             ear2="Crematio Earring",
  846.             body="Found. Breastplate",
  847.             hands="Founder's Gauntlets",
  848.             ring1="Shiva Ring +1",
  849.             ring2="Shiva Ring +1",
  850.             back=FCMantle,
  851.             waist="Eschan Stone",
  852.             legs="Eschite Cuisses",
  853.             feet="Founder's Greaves"}
  854.  
  855.     -- Magic Accuracy Set --
  856.     sets.Midcast.MACC = {
  857.             ammo="Pemphredo Tathlum",
  858.             head="Carmine Mask +1",
  859.             neck="Erra Pendant",
  860.             ear1="Digni. Earring",
  861.             ear2="Gwati Earring",
  862.             body="Flamma Korazin +1",
  863.             hands="Flam. Manopolas +1",
  864.             ring1="Stikini Ring",
  865.             ring2="Stikini Ring",
  866.             back=FCMantle,
  867.             waist="Eschan Stone",
  868.             legs="Flamma Dirs +1",
  869.             feet="Flam. Gambieras +1"}
  870.  
  871.     -- Dark Magic Set --
  872.     sets.Midcast['Dark Magic'] = set_combine(sets.Midcast.MACC,{
  873.             head="Ig. Burgonet +3",
  874.             neck="Erra Pendant",
  875.             ear1="Dark Earring",
  876.             body="Carm. Scale Mail",
  877.             hands="Fall. Fin. Gaunt. +1",
  878.             ring1="Stikini Ring",
  879.             ring2="Evanescence Ring",
  880.             back="Niht Mantle",
  881.             waist="Casso Sash",
  882.             legs="Eschite Cuisses",
  883.             feet="Ratri Sollerets"})
  884.  
  885.     -- Stun Sets --
  886.     sets.Midcast.Stun = set_combine(sets.Midcast.MACC,{})
  887.     sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{})
  888.     sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})
  889.  
  890.     -- Endark Set --
  891.     sets.Midcast.Endark = set_combine(sets.Midcast,{
  892.             head="Ig. Burgonet +3",
  893.             neck="Erra Pendant",
  894.             ear1="Dark Earring",
  895.             body="Carm. Scale Mail",
  896.             hands="Fall. Fin. Gaunt. +1",
  897.             ring1="Stikini Ring",
  898.             ring2="Evanescence Ring",
  899.             back="Niht Mantle",
  900.             waist="Casso Sash",
  901.             legs="Eschite Cuisses",
  902.             feet="Ratri Sollerets"})
  903.    
  904.     -- Absorb Set --
  905.     sets.Midcast.Absorb = set_combine(sets.Midcast.MACC,{
  906.             head="Ig. Burgonet +3",
  907.             neck="Erra Pendant",
  908.             body="Carm. Scale Mail",
  909.             hands="Pavor Gauntlets",
  910.             ring1="Archon Ring",
  911.             ring2="Kishar Ring",
  912.             back="Chuparrosa Mantle",
  913.             legs="Eschite Cuisses",
  914.             feet="Ratri Sollerets"})
  915.  
  916.     -- Drain & Aspir Sets --
  917.     sets.Midcast.Drain = set_combine(sets.Midcast.MACC,{
  918.             head="Pixie Hairpin +1",
  919.             neck="Erra Pendant",
  920.             ear2="Hirudinea Earring",
  921.             body="Carm. Scale Mail",
  922.             hands="Fall. Fin. Gaunt. +1",
  923.             ring1="Archon Ring",
  924.             ring2="Evanescence Ring",
  925.             back="Niht Mantle",
  926.             waist="Austerity Belt +1",
  927.             legs="Eschite Cuisses",
  928.             feet="Ratri Sollerets"})
  929.  
  930.     -- Enfeebling Magic Set --
  931.     sets.Midcast['Enfeebling Magic'] = set_combine(sets.Midcast.MACC,{
  932.             ring2="Kishar Ring"})
  933.  
  934.     -- Elemental Magic Set --
  935.     sets.Midcast['Elemental Magic'] = set_combine(sets.Midcast.MAB,{})
  936.  
  937.     -- Dread Spikes Set --
  938.     sets.Midcast['Dread Spikes'] = {
  939.             ammo="Egoist's Tathlum",
  940.             head="Ratri Sallet",
  941.             neck="Sanctity Necklace",
  942.             ear1="Odnowa Earring",
  943.             ear2="Odnowa Earring +1",
  944.             body="Heath. Cuirass +1",
  945.             hands="Ratri Gadlings",
  946.             ring1="Moonbeam Ring",
  947.             ring2="Moonbeam Ring",
  948.             waist="Eschan Stone",
  949.             back="Moonbeam Cape",
  950.             legs="Ratri Cuisses",
  951.             feet="Ratri Sollerets"}
  952.    
  953.     -- Enhancing Magic --
  954.     sets.Midcast['Enhancing Magic'] = {
  955.             head="Carmine Mask +1",
  956.             neck="Incanter's Torque",
  957.             ear1="Andoaa Earring",
  958.             ear2="Augment. Earring",
  959.             body="Shabti Cuirass",
  960.             ring1="Stikini Ring",
  961.             ring2="Stikini Ring",
  962.             back="Merciful Cape",
  963.             waist="Olympus Sash",
  964.             legs="Carmine Cuisses +1"}
  965.        
  966.     -- Stoneskin --
  967.     sets.Midcast.Stoneskin =  set_combine(sets.Midcast['Enhancing Magic'],{
  968.             waist="Siegel Sash"})  
  969.    
  970. end
  971.  
  972.         ---------------
  973.         -- Functions --
  974.         ---------------
  975.        
  976.         ----------------
  977.         -- Pre-Target --
  978.         ----------------
  979.  
  980. function pretarget(spell,action)
  981.     if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  982.         cancel_spell()
  983.         send_command('input /item "Echo Drops" <me>')
  984.     elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  985.         cancel_spell()
  986.         send_command('Aggressor')
  987.     elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  988.         cancel_spell()
  989.         send_command('ThirdEye')
  990.     elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 2900 --
  991.         cancel_spell()
  992.         add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  993.     elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
  994.         cancel_spell()
  995.         add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  996.         return
  997.     end
  998. end
  999.  
  1000.         --------------
  1001.         -- Pre-Cast --
  1002.         --------------
  1003.  
  1004. function precast(spell,action)
  1005.     if spell.type == "WeaponSkill" then
  1006.         if player.status ~= 'Engaged' then
  1007.         return
  1008.         else
  1009.             equipSet = sets.WS
  1010.             if equipSet[spell.english] then
  1011.                 equipSet = equipSet[spell.english]
  1012.             end
  1013.             if equipSet[AccArray[AccIndex]] then
  1014.                 equipSet = equipSet[AccArray[AccIndex]]
  1015.             end
  1016.             if buffactive["Arcane Circle"] then -- Equip Founders Breastplate when you have Arcane Circle on --
  1017.                 equipSet = set_combine(equipSet,sets.AC_WS)
  1018.             end
  1019.             if buffactive["Souleater"] then -- Equip Ignominy Burgonet when you have Souleater on --
  1020.                 equipSet = set_combine(equipSet,sets.SE_WS)
  1021.             end
  1022.             if elements[spell.name] and elements[spell.name]:contains(world.day_element) then
  1023.                 equipSet = set_combine(equipSet,elements.equip)
  1024.             end
  1025.             if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  1026.                 equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  1027.             end
  1028.             if player.tp > 2750 or player.equipment.main == 'Anguta' and player.tp > 2250 then
  1029.                     equipSet = set_combine(equipSet,{ear1="Zwazo Earring"}) -- 3000 TP: Equip Zwazo Earring --
  1030.             end
  1031.             if world.time <= (7*60) or world.time >= (17*60) then
  1032.                     equipSet = set_combine(equipSet,{ear2="Lugra Earring +1"}) -- Dusk til Dawn: Equip Lugra Earring +1 --
  1033.             end
  1034.             equip(equipSet)
  1035.         end
  1036.     elseif spell.type == "JobAbility" then
  1037.         if sets.JA[spell.english] then
  1038.             equip(sets.JA[spell.english])
  1039.         end
  1040.         elseif spell.english == 'Lunge' or spell.english == 'Swipe' then
  1041.                 equip(sets.JA.Lunge)
  1042.     elseif spell.action_type == 'Magic' then
  1043.         if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  1044.             cancel_spell()
  1045.             add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  1046.             return
  1047.         else
  1048.             if spell.english == "Stun" or spell.english == "Drain III" or spell.english == "Drain II" or spell.english == "Dread Spikes" then
  1049.                 if buffactive.Hasso or buffactive.Seigan then -- Cancel Hasso or Seigan When You Use Stun/Drain/Dread Spikes --
  1050.                     cast_delay(0.2)
  1051.                     send_command('cancel Hasso,Seigan')
  1052.                     add_to_chat(155,'Hasso/Seigan Canceled for Magic')
  1053.                 end
  1054.                 equip(sets.Precast.FastCast)
  1055.             elseif spell.english == 'Utsusemi: Ni' then
  1056.                 if buffactive['Copy Image (3)'] then
  1057.                     cancel_spell()
  1058.                     add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
  1059.                     return
  1060.                 else
  1061.                     equip(sets.Precast.FastCast)
  1062.                 end
  1063.             elseif sets.Precast[spell.skill] then
  1064.                 equip(sets.Precast[spell.skill])
  1065.             else
  1066.                 equip(sets.Precast.FastCast)
  1067.             end
  1068.         end
  1069.     elseif spell.type == "Waltz" then
  1070.         refine_waltz(spell,action)
  1071.         equip(sets.Waltz)
  1072.     elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  1073.         cast_delay(0.2)
  1074.         send_command('cancel Sneak')
  1075.     end
  1076. end
  1077.  
  1078.         --------------
  1079.         -- Mid-Cast --
  1080.         --------------
  1081.  
  1082. function midcast(spell,action)
  1083.     equipSet = {}
  1084.     if spell.action_type == 'Magic' then
  1085.         equipSet = sets.Midcast
  1086.         if spell.english:startswith('Absorb') then
  1087.             equipSet = equipSet.Absorb
  1088.         elseif spell.english:startswith('Drain') or spell.english:startswith('Aspir') then
  1089.             equipSet = equipSet.Drain
  1090.         elseif spell.english:startswith('Haste') or spell.english:startswith('Flurry') or spell.english:startswith('Blink') or spell.english:startswith('Regen') or spell.english:startswith('Reraise') then
  1091.             equipSet = sets.Haste
  1092.         elseif spell.english == "Stoneskin" then
  1093.             if buffactive.Stoneskin then
  1094.                 send_command('@wait 1.7;cancel stoneskin')
  1095.             end
  1096.             equipSet = equipSet.Stoneskin
  1097.         elseif spell.english == "Sneak" then
  1098.             if spell.target.name == player.name and buffactive['Sneak'] then
  1099.                 send_command('cancel sneak')
  1100.             end
  1101.             equipSet = equipSet.Haste
  1102.         elseif spell.english:startswith('Utsusemi') then
  1103.             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then
  1104.                 send_command('@wait 1.7;cancel Copy Image*')
  1105.             end
  1106.             equipSet = equipSet.Haste
  1107.         elseif spell.english == 'Monomi: Ichi' then
  1108.             if buffactive['Sneak'] then
  1109.                 send_command('@wait 1.7;cancel sneak')
  1110.             end
  1111.             equipSet = equipSet.Haste
  1112.         else
  1113.             if equipSet[spell.english] then
  1114.                 equipSet = equipSet[spell.english]
  1115.             end
  1116.             if equipSet[spell.skill] then
  1117.                 equipSet = equipSet[spell.skill]
  1118.             end
  1119.             if equipSet[spell.type] then
  1120.                 equipSet = equipSet[spell.type]
  1121.             end
  1122.         end
  1123.         if spell.english:startswith('Cur') and spell.english ~= "Cursna" then
  1124.         if (world.day_element == spell.element or world.weather_element == spell.element) then
  1125.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  1126.                 end
  1127.                 end
  1128.         if spell.skill == 'Elemental Magic' or spell.english:startswith('Aspir') or spell.english:startswith('Drain') then
  1129.         if (world.day_element == spell.element or world.weather_element == spell.element) then
  1130.                 equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  1131.                 end
  1132.                 end
  1133.         if spell.skill == 'Dark Magic' and buffactive["Nether Void"] then
  1134.                 equipSet = set_combine(equipSet,{legs="Heath. Flanchard +1"})
  1135.                 end
  1136.         if spell.skill == 'Dark Magic' and buffactive["Dark Seal"] then
  1137.                 equipSet = set_combine(equipSet,{head="Fall. Burgeonet +1"})
  1138.                 end
  1139.     elseif equipSet[spell.english] then
  1140.         equipSet = equipSet[spell.english]
  1141.     end
  1142.     equip(equipSet)
  1143. end
  1144.  
  1145.         ----------------
  1146.         -- After-Cast --
  1147.         ----------------
  1148.  
  1149. function aftercast(spell,action)
  1150.     if not spell.interrupted then
  1151.         if spell.type == "WeaponSkill" then
  1152.             send_command('wait 0.2;gs c TP')
  1153.         elseif spell.english == "Sleep II" then -- Sleep II Countdown --
  1154.             send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  1155.         elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep Countdown --
  1156.             send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  1157.         end
  1158.     end
  1159.     status_change(player.status)
  1160. end
  1161.  
  1162.         -------------------
  1163.         -- Status Change --
  1164.         -------------------
  1165.  
  1166. function status_change(new,old)
  1167.     if Armor == 'PDT' then
  1168.         equip(sets.PDT)
  1169.     elseif Armor == 'MDT' then
  1170.         equip(sets.MDT)
  1171.     elseif Armor == 'Kiting' then
  1172.         equip(sets.Kiting)
  1173.     elseif new == 'Engaged' then
  1174.         equipSet = sets.TP
  1175.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  1176.             equipSet = equipSet["Hybrid"]
  1177.         end
  1178.         if equipSet[WeaponArray[WeaponIndex]] then
  1179.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  1180.         end
  1181.         if equipSet[player.sub_job] then
  1182.             equipSet = equipSet[player.sub_job]
  1183.         end
  1184.         if equipSet[AccArray[AccIndex]] then
  1185.             equipSet = equipSet[AccArray[AccIndex]]
  1186.         end
  1187.         if buffactive["Last Resort"] and ((buffactive.Haste and buffactive.March == 2) or (buffactive.Embrava and (buffactive.March == 2 or (buffactive.March and buffactive.Haste))) or (buffactive[580] and (buffactive.March or buffactive.Haste or buffactive.Embrava))) and equipSet["HighHaste"] then
  1188.             equipSet = equipSet["HighHaste"]
  1189.         end
  1190.         if buffactive["Samurai Roll"] and equipSet["STP"] and Samurai_Roll == 'ON' then
  1191.             equipSet = equipSet["STP"]
  1192.         end
  1193.         equip(equipSet)
  1194.     else
  1195.         equipSet = sets.Idle
  1196.         if equipSet[IdleArray[IdleIndex]] then
  1197.             equipSet = equipSet[IdleArray[IdleIndex]]
  1198.         end
  1199.         if equipSet[WeaponArray[WeaponIndex]] then
  1200.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  1201.         end
  1202.         if equipSet[player.sub_job] then
  1203.             equipSet = equipSet[player.sub_job]
  1204.         end
  1205.         if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  1206.             equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  1207.         end
  1208.         equip(equipSet)
  1209.     end
  1210. end
  1211.  
  1212.         -----------------
  1213.         -- Buff Change --
  1214.         -----------------
  1215.  
  1216. function buff_change(buff,gain,buff_table)
  1217.         buff = string.lower(buff)
  1218.         if buff_table['id'] == 273 and player.equipment.main == 'Ragnarok' then -- Ragnarok AM3 Timer/Countdown --
  1219.         if gain then
  1220.                 add_to_chat(158,'Ragnarok Aftermath: [ON]')
  1221.         else
  1222.                 add_to_chat(123,'Relic Aftermath: [OFF]')
  1223.                 end
  1224.         elseif buff_table['id'] == 273 and player.equipment.main == 'Apocalypse' then -- Apocalypse AM3 Timer/Countdown --
  1225.         if gain then
  1226.                 add_to_chat(158,'Apocalypse Aftermath: [ON]')
  1227.         else
  1228.                 add_to_chat(123,'Relic Aftermath: [OFF]')
  1229.                 end
  1230.         elseif buff_table['id'] == 272 and player.equipment.main == 'Caladbolg' then -- Caladbolg AM3 Timer/Countdown --
  1231.         if gain then
  1232.                 send_command('timers create "Empy Aftermath: Lv.3" 180 down')
  1233.                 add_to_chat(158,'Caladbolg AM3: [ON]')
  1234.                 else
  1235.                 send_command('timers delete "Empy Aftermath: Lv.3"')
  1236.                 add_to_chat(123,'Caladbolg AM3: [OFF]')
  1237.                 end
  1238.         elseif buff_table['id'] == 271 and player.equipment.main == 'Caladbolg' then -- Caladbolg AM2 Timer/Countdown --
  1239.         if gain then
  1240.                 send_command('timers create "Empy Aftermath: Lv.2" 120 down')
  1241.                 add_to_chat(158,'Caladbolg AM2: [ON]')
  1242.         else
  1243.                 send_command('timers delete "Empy Aftermath: Lv.2"')
  1244.                 add_to_chat(123,'Caladbolg AM2: [OFF]')
  1245.                 end    
  1246.         elseif buff_table['id'] == 270 and player.equipment.main == 'Caladbolg' then -- Caladbolg AM1 Timer/Countdown --
  1247.         if gain then
  1248.                 add_to_chat(158,'Caladbolg AM1: [ON]')
  1249.         else
  1250.                 send_command('timers delete "Empy Aftermath: Lv.2"')
  1251.                 add_to_chat(123,'Caladbolg AM1: [OFF]')
  1252.                 end    
  1253.         elseif buff_table['id'] == 272 and player.equipment.main == 'Anguta' then -- Anguta AM3 Timer/Countdown --
  1254.         if gain then
  1255.                 send_command('timers create "Aeonic Aftermath: Lv.3" 180 down')
  1256.                 add_to_chat(158,'Anguta AM3: [ON]')
  1257.                 else
  1258.                 send_command('timers delete "Aeonic Aftermath: Lv.3"')
  1259.                 add_to_chat(123,'Anguta AM3: [OFF]')
  1260.                 end
  1261.         elseif buff_table['id'] == 271 and player.equipment.main == 'Anguta' then -- Anguta AM2 Timer/Countdown --
  1262.         if gain then
  1263.                 send_command('timers create "Aeonic Aftermath: Lv.2" 180 down')
  1264.                 add_to_chat(158,'Anguta AM2: [ON]')
  1265.         else
  1266.                 send_command('timers delete "Aeonic Aftermath: Lv.2"')
  1267.                 add_to_chat(123,'Anguta AM2: [OFF]')
  1268.                 end    
  1269.         elseif buff_table['id'] == 270 and player.equipment.main == 'Anguta' then -- Anguta AM1 Timer/Countdown --
  1270.         if gain then
  1271.                 add_to_chat(158,'Anguta AM1: [ON]')
  1272.         else
  1273.                 add_to_chat(123,'Anguta AM1: [OFF]')
  1274.                 end
  1275.         elseif buff_table['id'] == 51 then -- Blood Weapon Timer --
  1276.         if gain then
  1277.                 send_command('timers create "Blood Weapon" 40 down')
  1278.         else
  1279.                 send_command('timers delete "Blood Weapon"')
  1280.                 end    
  1281.         elseif buff_table['id'] == 497 then -- Soul Enslavement Timer --
  1282.         if gain then
  1283.                 send_command('timers create "Soul Enslavement" 30 down')
  1284.         else
  1285.                 send_command('timers delete "Soul Enslavement"')
  1286.                 end        
  1287.         elseif buff_table['id'] == 434 then -- Brew Timer --
  1288.         if gain then
  1289.                 send_command('timers create "Transcendency" 180 down')
  1290.         else
  1291.                 send_command('timers delete "Transcendency"')
  1292.                 add_to_chat(123,'Transcendency: [OFF]')
  1293.                 end            
  1294.         elseif buff_table['id'] == 1 then -- Weakness Timer --
  1295.         if gain then
  1296.                 send_command('timers create "Weakness" 300 up')
  1297.         else
  1298.                 send_command('timers delete "Weakness"')
  1299.                 add_to_chat(158,'Weakness: [OFF]')
  1300.                 end
  1301.         elseif buff_table['id'] == 15 then -- Doom Party Chat --
  1302.         if gain then
  1303.                 send_command('input /party Doom')
  1304.         else
  1305.                 send_command('input /party Doom off')
  1306.                 add_to_chat(158,'Doom: [OFF]')
  1307.                 end
  1308.         elseif buff_table['id'] == 9 then -- Curse Party Chat --
  1309.         if gain then
  1310.                 send_command('input /party Curse')
  1311.         else
  1312.                 add_to_chat(158,'Curse: [OFF]')
  1313.                 end
  1314.         elseif buff_table['id'] == 14 or buff_table['id'] == 17 then -- Charm Party Chat --
  1315.         if gain then
  1316.                 send_command('input /party Charmed')
  1317.         else
  1318.                 send_command('input /party Charm off')
  1319.                 add_to_chat(158,'Charm: [OFF]')
  1320.                 end
  1321.         elseif buff_table['id'] == 4 then -- Paralysis --
  1322.         if gain then
  1323.                 add_to_chat(123,'Paralyzed!')
  1324.         else
  1325.                 add_to_chat(158,'Paralysis: [OFF]')
  1326.                 end            
  1327.         elseif buff_table['id'] == 64 then -- Last Resort --
  1328.         if not gain then
  1329.                 add_to_chat(123,'Last Resort: [OFF]')
  1330.                 end
  1331.         elseif buff_table['id'] == 75 then -- Arcane Circle --
  1332.         if not gain then
  1333.                 add_to_chat(123,'Arcane Circle: [OFF]')
  1334.                 end
  1335.         elseif buff_table['id'] == 63 then -- Souleater --
  1336.         if not gain then
  1337.                 add_to_chat(123,'Souleater: [OFF]')
  1338.                 end    
  1339.         elseif buff_table['id'] == 346 then -- Diabolic Eye --
  1340.         if not gain then
  1341.                 add_to_chat(123,'Diabolic Eye: [OFF]')
  1342.                 end
  1343.         elseif buff_table['id'] == 353 then -- Hasso --
  1344.         if not gain then
  1345.                 add_to_chat(123,'Hasso: [OFF]')
  1346.                 end                        
  1347.         elseif buff_table['id'] == 56 then -- Berserk --
  1348.         if not gain then
  1349.                 add_to_chat(123,'Berserk: [OFF]')
  1350.                 end
  1351.         elseif buff_table['id'] == 58 then -- Aggressor --
  1352.         if not gain then
  1353.                 add_to_chat(123,'Aggressor: [OFF]')
  1354.                 end
  1355.         elseif buff_table['id'] == 68 then -- Warcry --
  1356.         if not gain then
  1357.                 add_to_chat(123,'Warcry: [OFF]')
  1358.                 end            
  1359.         elseif buff_table['id'] == 33 then -- Haste --
  1360.         if not gain then
  1361.                 add_to_chat(123,'Haste: [OFF]')
  1362.                 end    
  1363.         elseif buff_table['id'] == 288 then -- EnDark --
  1364.         if not gain then
  1365.                 add_to_chat(123,'EnDark: [OFF]')
  1366.                 end                
  1367.         elseif buff_table['id'] == 173 then -- Dread Spikes --
  1368.         if not gain then
  1369.                 add_to_chat(123,'Dread Spikes: [OFF]')
  1370.                 end  
  1371.         elseif buff_table['id'] == 88 then -- Max HP Boost (Drain II & III) --
  1372.         if not gain then
  1373.                 add_to_chat(123,'Max HP Boost: [OFF]')
  1374.                 end  
  1375.         elseif buff_table['id'] == 13  then    -- Slow --
  1376.         if gain then
  1377.                 add_to_chat(123,'Slowed!')
  1378.                 else
  1379.                 add_to_chat(158,'Slow: [OFF]')
  1380.                 end
  1381.         elseif buff_table['id'] == 251 then -- Food --
  1382.         if not gain then
  1383.                 add_to_chat(123,'Food: [OFF]')
  1384.                 end
  1385.         elseif buff_table['id'] == 28 then -- Terror --
  1386.         if not gain then
  1387.                 add_to_chat(158,'Terror: [OFF]')
  1388.                 end
  1389.         elseif buff_table['id'] == 10 then -- Stun --
  1390.         if not gain then
  1391.                 add_to_chat(158,'Stun: [OFF]')
  1392.                 end    
  1393.         elseif buff_table['id'] == 16 then -- Amnesia --
  1394.         if not gain then
  1395.                 add_to_chat(158,'Amnesia: [OFF]')
  1396.                 end                
  1397.         elseif buff_table['id'] == 2 or buff_table['id'] == 19 then -- Sleep --
  1398.         if gain then
  1399.                 send_command('input /party ZZZ')
  1400.         else
  1401.                 add_to_chat(158,'Sleep: [OFF]')
  1402.                 end        
  1403.         end
  1404.         if buffactive.Terror or buffactive.Stun or buffactive.Petrification or buffactive.Sleep and gain then -- Lock PDT When You Are Terrorised/Stunned/Petrified/Slept --
  1405.                 equip({
  1406.                 ammo="Staunch Tathlum",
  1407.                 head="Sulevia's Mask +2",
  1408.                 neck="Loricate Torque +1",
  1409.                 ear1="Ethereal Earring",           
  1410.                 ear2="Cryptic Earring",
  1411.                 body="Sulevia's Plate. +1",
  1412.                 hands="Sulev. Gauntlets +2",
  1413.                 ring1="Defending Ring",        
  1414.                 ring2="Moonbeam Ring",
  1415.                 back="Moonbeam Cape",
  1416.                 waist="Tempus Fugit",
  1417.                 legs="Sulev. Cuisses +2",
  1418.                 feet="Sulev. Leggings +2"})
  1419.         else
  1420.         if not midaction() then
  1421.                 status_change(player.status)
  1422.                 end
  1423.         end
  1424. end
  1425.  
  1426.         -------------------------------------------------------------------------------------
  1427.         -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  1428.         -------------------------------------------------------------------------------------
  1429.  
  1430.         function self_command(command)
  1431.     if command == 'acc' then -- Accuracy Level Toggle --
  1432.         AccIndex = (AccIndex % #AccArray) + 1
  1433.         status_change(player.status)
  1434.         add_to_chat(155,'Accuracy Level: '..AccArray[AccIndex])
  1435.     elseif command == 'weapon' then -- Main Weapon Toggle --
  1436.         WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  1437.         add_to_chat(155,'Main Weapon: '..WeaponArray[WeaponIndex])
  1438.         status_change(player.status)
  1439.     elseif command == 'update' then -- Auto Update Gear Toggle --
  1440.         status_change(player.status)
  1441.         add_to_chat(155,'-[Gear Update]-')
  1442.         add_to_chat(155,'Weapon: '..WeaponArray[WeaponIndex])
  1443.         add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  1444.         add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  1445.     elseif command == 'hybrid' then -- Hybrid Toggle --
  1446.         if Armor == 'Hybrid' then
  1447.             Armor = 'None'
  1448.             add_to_chat(123,'Hybrid Set: [Unlocked]')
  1449.         else
  1450.             Armor = 'Hybrid'
  1451.             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  1452.         end
  1453.         status_change(player.status)
  1454.     elseif command == 'pdt' then -- PDT Toggle --
  1455.         if Armor == 'PDT' then
  1456.             Armor = 'None'
  1457.             add_to_chat(123,'PDT Set: [Unlocked]')
  1458.         else
  1459.             Armor = 'PDT'
  1460.             add_to_chat(158,'PDT Set: [Locked]')
  1461.         end
  1462.         status_change(player.status)
  1463.     elseif command == 'mdt' then -- MDT Toggle --
  1464.         if Armor == 'MDT' then
  1465.             Armor = 'None'
  1466.             add_to_chat(123,'MDT Set: [Unlocked]')
  1467.         else
  1468.             Armor = 'MDT'
  1469.             add_to_chat(158,'MDT Set: [Locked]')
  1470.         end
  1471.         status_change(player.status)
  1472.     elseif command == 'kiting' then -- Kiting Toggle --
  1473.         if Armor == 'Kiting' then
  1474.             Armor = 'None'
  1475.             add_to_chat(123,'Kiting Set: [Unlocked]')
  1476.         else
  1477.             Armor = 'Kiting'
  1478.             add_to_chat(158,'Kiting Set: [Locked]')
  1479.         end
  1480.         status_change(player.status)
  1481.     elseif command == 'distance' then -- Distance Toggle --
  1482.         if player.target.distance then
  1483.             target_distance = math.floor(player.target.distance*10)/10
  1484.             add_to_chat(158,'Distance: '..target_distance)
  1485.         else
  1486.             add_to_chat(123,'No Target Selected')
  1487.         end
  1488.     elseif command == 'idle' then -- Idle Toggle --
  1489.         IdleIndex = (IdleIndex % #IdleArray) + 1
  1490.         status_change(player.status)
  1491.         add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
  1492.     elseif command == 'TP' then
  1493.         add_to_chat(155,'TP Return: ['..tostring(player.tp)..']')
  1494.     elseif command:match('^SC%d$') then
  1495.         send_command('//' .. sc_map[command])
  1496.     end
  1497. end
  1498.     -----------
  1499.     -- Misc. --
  1500.     -----------
  1501.    
  1502. function find_player_in_alliance(name)
  1503.     for i,v in ipairs(alliance) do
  1504.         for k,p in ipairs(v) do
  1505.             if p.name == name then
  1506.                 return p
  1507.             end
  1508.         end
  1509.     end
  1510. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement