Advertisement
Arnan

DRK Lua January 2018

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