Arnan

WAR Lua January 2018

Jan 3rd, 2018
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 44.23 KB | None | 0 0
  1.  
  2.         ---------------------------------------------
  3.         -- *** Arnan Warrior 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 weapon      Toggle Weapon/TP Sets
  12.                 -- gs c idle        Toggle idle sets
  13.                
  14.                 -- gs c pdt         PDT on/off
  15.                 -- gs c mdt         MDT on/off
  16.                 -- gs c kiting      Kiting on/off
  17.                 -- gs c hybrid      Hybrid on/off
  18.                
  19.                 -- gs c retaliation Retaliation Gear on/off
  20.                 -- gs c twilight    Twilight on/off
  21.                
  22.         ----------
  23.         -- Sets --
  24.         ----------
  25.  
  26. function get_sets()
  27.     AccIndex = 1
  28.     AccArray = {"LowACC","MidACC","HighACC","MaxACC"} -- 4 Levels Of Accuracy Sets For TP/WS/Hybrid. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below. Most of These Sets Are Empty So You Need To Edit Them On Your Own. Remember To Check What The Combined Set Is For Each Sets. --
  29.     WeaponIndex = 1
  30.     WeaponArray = {"Ragnarok","Montante","Hodadenon","Standard","Fencer","NINsub","DNCsub"} -- Default Main Weapon Is Conqueror. Can Delete Any Weapons/Sets That You Don't Need Or Replace/Add The New Weapons That You Want To Use. --
  31.     IdleIndex = 1
  32.     IdleArray = {"Full","DT","Warp"} -- Default Idle Set Is Movement --
  33.     Armor = 'None'
  34.     Twilight = 'None'
  35.     Retaliation = 'OFF' -- Set Default Retaliation ON or OFF Here --
  36.     Samurai_Roll = 'ON' -- Set Default SAM Roll ON or OFF Here --
  37.     target_distance = 6 -- Set Default Distance Here --
  38.     send_command('input /macro book 6;wait .1;input /macro set 1') -- Change Default Macro Book Here --
  39.     add_to_chat(158,'-[Warrior Lua Loaded]-')
  40.     add_to_chat(155,'Weapon: '..WeaponArray[WeaponIndex])
  41.     add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  42.     add_to_chat(158,'-----[Weapon Skill Keybinds]-----')
  43.     add_to_chat(155,'F10 - Raging Rush, F11 - Upheaval, F12 Ukko\'s Fury, Delete - Resolution')
  44.    
  45.     -- Augments --
  46.     OHead={}
  47.     OHead.WSD={ name="Odyssean Helm", augments={'Accuracy+11 Attack+11','Weapon skill damage +4%','VIT+3','Accuracy+9',}}
  48.     OHands={}
  49.     OHands.WSD={ name="Odyssean Gauntlets", augments={'Accuracy+15 Attack+15','Weapon skill damage +4%','STR+1','Accuracy+15',}}
  50.     OLegs={}
  51.     OLegs.STP={ name="Odyssean Cuisses", augments={'Accuracy+30','"Store TP"+7','Attack+15',}}
  52.     OLegs.WSD={ name="Odyssean Cuisses", augments={'Accuracy+27','Weapon skill damage +4%','AGI+10','Attack+12',}}
  53.     VFeet={}
  54.     VFeet.STP={ name="Valorous Greaves", augments={'Accuracy+25','"Store TP"+7',}}
  55.  
  56.     -- Cichol's Mantle Augments --
  57.     STRDAMantle = {name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
  58.     VITWSDMantle = {name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}
  59.     CritMantle = {name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Crit.hit rate+10',}}
  60.     STRWSDMantle = {name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}
  61.    
  62.         --------------------
  63.         -- Key Binds Load --
  64.         --------------------
  65.        
  66.         -- Key Bind Toggles (The Same for all my job files) (Ctrl Key) --
  67.         send_command('bind ^A input //gs c acc')
  68.         send_command('bind ^D input //gs c pdt')
  69.         send_command('bind ^H input //gs c hybrid')
  70.         send_command('bind ^I input //gs c idle')
  71.         send_command('bind ^K input //gs c kiting')
  72.  
  73.         -- Stuff to control both Mules (Ctrl Key) --
  74.         send_command('bind ^X input /pcmd add ojomo;pause 5;input /pcmd add oeogo')
  75.         send_command('bind ^7 input //send oeogo //ma haste ojomo')
  76.         send_command('bind ^8 input //send oeogo //ma Dia 2 <t>;pause 2;input //send ojomo //ja Light Shot <t>')
  77.         send_command('bind ^9 input //send ojomo //follow arnan;pause 0.1;input //send oeogo //follow arnan')
  78.         send_command('bind ^0 input //send ojomo //assist arnan;pause 0.1;input //send oeogo //assist arnan')
  79.         send_command('bind ^- input //send ojomo /attack <t>;pause 0.1;input //send oeogo /attack <t>')
  80.  
  81.         -- COR (Mule) Job Ability Key Binds (Alt Key) --
  82.         send_command('bind !7 input //send ojomo //ja Crooked Cards <me>')
  83.         send_command('bind !8 input //send ojomo //ja Snake Eye <me>')
  84.         send_command('bind !9 input //send ojomo //ja Fold <me>')
  85.         send_command('bind !0 input //send ojomo //ja Random Deal <me>')
  86.  
  87.         -- COR (mule) Phantom Roll Key Binds (Alt Key) --
  88.         send_command('bind !A input //send ojomo //ja Allies\' Roll <me>')
  89.         send_command('bind !C input //send ojomo //ja Chaos Roll <me>')
  90.         send_command('bind !D input //send ojomo //ja Dancer\'s Roll <me>')
  91.         send_command('bind !E input //send ojomo //ja Evoker\s Roll <me>')
  92.         send_command('bind !F input //send ojomo //ja Fighter\'s Roll <me>')
  93.         send_command('bind !H input //send ojomo //ja Hunter\'s Roll <me>')
  94.         send_command('bind !R input //send ojomo //ja Rogue\'s Roll <me>')
  95.         send_command('bind !S input //send ojomo //ja Samurai Roll <me>')
  96.         send_command('bind !T input //send ojomo //ja Tactician\'s Roll <me>')
  97.  
  98.         -- GEO (Mule) Job Ability Key Binds (Win Key) --
  99.         send_command('bind @7 input //send oeogo //ja Blaze of Glory <me>')
  100.         send_command('bind @8 input //send oeogo //ja Ecliptic Attrition <me>')
  101.         send_command('bind @9 input //send oeogo //ja Life Cycle <me>')
  102.         send_command('bind @0 input //send oeogo //ja Lasting Emanation <me>')
  103.  
  104.         -- GEO (Mule) Nuke Key Binds (Win Key) --
  105.         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>;')
  106.         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>;')
  107.         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>;')
  108.         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>;')
  109.         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>;')
  110.         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>;')
  111.  
  112.         -- GEO (Mule) Indicolure Spells (Win Key) --
  113.         send_command('bind @1 input //send oeogo /ma Indi-Regen <me>')
  114.         send_command('bind @2 input //send oeogo /ma Indi-Refresh <me>')
  115.         send_command('bind @D input //send oeogo /ma Indi-DEX <me>')
  116.         send_command('bind @F input //send oeogo /ma Indi-Fury <me>')
  117.         send_command('bind @H input //send oeogo /ma Indi-Haste <me>')
  118.         send_command('bind @K input //send oeogo /ma Indi-Focus <me>')
  119.         send_command('bind @M input //send oeogo /ma Indi-Acumen <me>')
  120.         send_command('bind @S input //send oeogo /ma Indi-STR <me>')
  121.         send_command('bind @T input //send oeogo /ma Indi-Precision <me>')
  122.         send_command('bind @V input //send oeogo /ma Indi-Attunement <me>')
  123.         send_command('bind @W input //send oeogo /ma Indi-Barrier <me>')
  124.  
  125.         -- GEO (Mule) Geocolure Spells (Alt+Win Keys) --
  126.         send_command('bind !@1 input //send oeogo /ma Geo-Regen <me>')
  127.         send_command('bind !@2 input //send oeogo /ma Geo-Refresh <me>')
  128.         send_command('bind !@D input //send oeogo /ma Geo-DEX <me>')
  129.         send_command('bind !@F input //send oeogo /ma Geo-Frailty <t>')
  130.         send_command('bind !@H input //send oeogo /ma Geo-Haste <me>')
  131.         send_command('bind !@K input //send oeogo /ma Geo-Languor <t>')
  132.         send_command('bind !@M input //send oeogo /ma Geo-Malaise <t>')
  133.         send_command('bind !@S input //send oeogo /ma Geo-STR <me>')
  134.         send_command('bind !@T input //send oeogo /ma Geo-Torpor <t>')
  135.         send_command('bind !@V input //send oeogo /ma Geo-Vex <t>')
  136.         send_command('bind !@W input //send oeogo /ma Geo-Wilt <t>')
  137.  
  138.         -- GEO (Mule) Entrust Indicolure Spells (Ctrl+Win Keys) --
  139.         send_command('bind ^@1 input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Regen Arnan')
  140.         send_command('bind ^@2 input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Refresh Arnan')
  141.         send_command('bind ^@D input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-DEX Arnan')
  142.         send_command('bind ^@F input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Fury Arnan')
  143.         send_command('bind ^@H input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Haste Arnan')
  144.         send_command('bind ^@K input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Focus Arnan')
  145.         send_command('bind ^@M input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Acumen Arnan')
  146.         send_command('bind ^@S input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-STR Arnan')
  147.         send_command('bind ^@T input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Precision Arnan')
  148.         send_command('bind ^@V input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Attunement Arnan')
  149.         send_command('bind ^@W input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Barrier Arnan')
  150.  
  151.         -- Warrior Job Key Binds (Ctrl & Ctrl+Alt Keys) --
  152.         send_command('bind ^P input //ja Provoke <t>')
  153.         send_command('bind ^Z input //ja Berserk <me>')
  154.        
  155.         -- Warrior Weapon Skill Key Binds --
  156.         send_command('bind F10 input /ws "Raging Rush" <t>')
  157.         send_command('bind F11 input /ws "Upheaval" <t>')
  158.         send_command('bind F12 input /ws "Ukko\'s Fury" <t>')
  159.         send_command('bind Delete input /ws "Resolution" <t>')
  160.  
  161.         ----------------------
  162.         -- Key Binds Unload --
  163.         ----------------------
  164.  
  165.         function file_unload()
  166.         -- Unbind Toggles --
  167.         send_command('unbind ^A')
  168.         send_command('unbind ^D')
  169.         send_command('unbind ^H')
  170.         send_command('unbind ^I')
  171.         send_command('unbind ^K')
  172.         -- Unbind Stuff to control both Mules --
  173.         send_command('unbind ^X')
  174.         send_command('unbind ^7')
  175.         send_command('unbind ^8')
  176.         send_command('unbind ^9')
  177.         send_command('unbind ^0')
  178.         send_command('unbind ^-')
  179.         -- Unbind COR JA's --
  180.         send_command('unbind !7')
  181.         send_command('unbind !8')
  182.         send_command('unbind !9')
  183.         send_command('unbind !0')
  184.         -- Unbind COR Rolls --
  185.         send_command('unbind !A')
  186.         send_command('unbind !C')
  187.         send_command('unbind !D')
  188.         send_command('unbind !E')
  189.         send_command('unbind !F')
  190.         send_command('unbind !H')
  191.         send_command('unbind !R')
  192.         send_command('unbind !S')
  193.         send_command('unbind !T')
  194.         -- Unbind GEO JA's --
  195.         send_command('unbind @7')
  196.         send_command('unbind @8')
  197.         send_command('unbind @9')
  198.         send_command('unbind @0')
  199.         -- Unbind GEO Nukes --
  200.         send_command('unbind @F1')
  201.         send_command('unbind @F2')
  202.         send_command('unbind @F3')
  203.         send_command('unbind @F4')
  204.         send_command('unbind @F5')
  205.         send_command('unbind @F6')
  206.         -- Unbind GEO Indi Spells --
  207.         send_command('unbind @D')
  208.         send_command('unbind @F')
  209.         send_command('unbind @H')
  210.         send_command('unbind @K')
  211.         send_command('unbind @M')
  212.         send_command('unbind @S')
  213.         send_command('unbind @T')
  214.         send_command('unbind @V')
  215.         send_command('unbind @W')
  216.         send_command('unbind @1')
  217.         send_command('unbind @2')
  218.         -- Unbind GEO Geocolure Spells --
  219.         send_command('unbind !@D')
  220.         send_command('unbind !@F')
  221.         send_command('unbind !@H')
  222.         send_command('unbind !@K')
  223.         send_command('unbind !@M')
  224.         send_command('unbind !@S')
  225.         send_command('unbind !@T')
  226.         send_command('unbind !@V')
  227.         send_command('unbind !@W')
  228.         send_command('unbind !@1')
  229.         send_command('unbind !@2')
  230.         -- Unbind GEO Entrust Spells --
  231.         send_command('unbind ^@D')
  232.         send_command('unbind ^@F')
  233.         send_command('unbind ^@H')
  234.         send_command('unbind ^@K')
  235.         send_command('unbind ^@M')
  236.         send_command('unbind ^@S')
  237.         send_command('unbind ^@T')
  238.         send_command('unbind ^@V')
  239.         send_command('unbind ^@W')
  240.         send_command('unbind ^@1')
  241.         send_command('unbind ^@2')
  242.         -- Unbind WAR Job Binds --
  243.         send_command('unbind ^P')
  244.         send_command('unbind ^Z')
  245.         -- Unload Weapon Skill Key Binds --
  246.         send_command('unbind F10')     
  247.         send_command('unbind F11')     
  248.         send_command('unbind F12')         
  249.         send_command('unbind Delete')
  250.         end
  251.    
  252.     -- Gavialis Helm --
  253.     elements = {}
  254.     elements.equip = {head="Gavialis Helm"}
  255.     elements["Ukko's Fury"] = S{"Light","Lightning","Wind"}
  256.     elements.Resolution = S{"Lightning","Wind","Earth"}
  257.  
  258.    
  259.     --------------------
  260.     -- Idle/Town Sets --
  261.     --------------------
  262.     sets.Idle = {
  263.             ammo="Staunch Tathlum +1",
  264.             head="Valorous Mask",
  265.             neck="Bathy Choker +1",
  266.             ear1="Infused Earring",        
  267.             ear2="Odnowa Earring +1",
  268.             body="Sulevia's Plate. +2",
  269.             hands="Sulev. Gauntlets +2",
  270.             ring1="Defending Ring",        
  271.             ring2="Paguroidea Ring",
  272.             back="Moonlight Cape",
  273.             waist="Flume Belt +1",
  274.             legs="Sulev. Cuisses +2",
  275.             feet="Hermes' Sandals"}
  276.  
  277.     sets.Idle.Full = {}
  278.     sets.Idle.Full.Ragnarok = set_combine(sets.Idle,{
  279.             main="Ragnarok",
  280.             sub="Utu Grip"})
  281.     sets.Idle.Full.Montante = set_combine(sets.Idle,{
  282.             main="Montante +1",
  283.             sub="Utu Grip"})
  284.     sets.Idle.Full.Hodadenon = set_combine(sets.Idle,{
  285.             main="Hodadenon",
  286.             sub="Utu Grip"})
  287.     sets.Idle.Full.Standard = set_combine(sets.Idle,{})
  288.     sets.Idle.Full.Fencer = set_combine(sets.Idle,{
  289.             sub="Blurred Shield +1"})
  290.     sets.Idle.Full.NINsub = set_combine(sets.Idle,{})
  291.     sets.Idle.Full.DNCsub = set_combine(sets.Idle,{})
  292.  
  293.     sets.Idle.DT = {}
  294.     sets.Idle.DT.Ragnarok = set_combine(sets.Idle,{
  295.             main="Ragnarok",
  296.             sub="Utu Grip"})
  297.     sets.Idle.DT.Montante = set_combine(sets.Idle,{
  298.             main="Montante +1",
  299.             sub="Utu Grip"})
  300.     sets.Idle.DT.Hodadenon = set_combine(sets.Idle,{
  301.             main="Hodadenon",
  302.             sub="Utu Grip"})
  303.     sets.Idle.DT.Standard = set_combine(sets.Idle,{})
  304.     sets.Idle.DT.Fencer = set_combine(sets.Idle,{
  305.             sub="Blurred Shield +1"})
  306.     sets.Idle.DT.NINsub = set_combine(sets.Idle,{})
  307.     sets.Idle.DT.DNCsub = set_combine(sets.Idle,{})
  308.    
  309.     sets.Idle.Warp = {}
  310.     sets.Idle.Warp.Ragnarok = set_combine(sets.Idle,{
  311.             main="Ragnarok",
  312.             sub="Utu Grip",
  313.             ring2="Warp Ring"})
  314.     sets.Idle.Full.Montante = set_combine(sets.Idle,{
  315.             main="Montante +1",
  316.             sub="Utu Grip",
  317.             ring2="Warp Ring"})
  318.     sets.Idle.Warp.Hodadenon = set_combine(sets.Idle,{
  319.             main="Hodadenon",
  320.             sub="Utu Grip",
  321.             ring2="Warp Ring"})
  322.     sets.Idle.Warp.Standard = set_combine(sets.Idle,{
  323.             ring2="Warp Ring"})
  324.     sets.Idle.Warp.Fencer = set_combine(sets.Idle,{
  325.             sub="Blurred Shield +1",
  326.             ring2="Warp Ring"})
  327.     sets.Idle.Warp.NINsub = set_combine(sets.Idle,{
  328.             ring2="Warp Ring"})
  329.     sets.Idle.Warp.DNCsub = set_combine(sets.Idle,{
  330.             ring2="Warp Ring"})
  331.    
  332.     sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  333.  
  334.     -------------
  335.     -- TP Sets --
  336.     -------------
  337.    
  338.     -- TP Base Set --
  339.     sets.TP = {
  340.             ammo="Yetshila +1",
  341.             head="Flam. Zucchetto +2",
  342.             neck="Asperity Necklace",
  343.             ear1="Cessance Earring",
  344.             ear2="Brutal Earring",
  345.             Body="Emicho Haubert +1",
  346.             hands="Sulev. Gauntlets +2",
  347.             ring1="Hetairoi Ring",
  348.             ring2="Niqmaddu Ring",
  349.             back=STRDAMantle,
  350.             waist="Ioskeha Belt +1",
  351.             legs="Pumm. Cuisses +3",
  352.             feet="Pumm. Calligae +3"}
  353.     sets.TP.MidACC = set_combine(sets.TP,{})
  354.     sets.TP.HighACC = set_combine(sets.TP.MidACC,{})
  355.     sets.TP.MaxACC = set_combine(sets.TP.HighACC,{})
  356.  
  357.     -- Ragnarok TP Sets --
  358.     sets.TP.Ragnarok = set_combine(sets.TP,{
  359.             ammo="Ginsen",
  360.             main="Ragnarok",
  361.             sub="Utu Grip",
  362.             neck="Ainia Collar",
  363.             hands="Emi. Gauntlets +1",
  364.             ring1="Flamma Ring",
  365.             legs=OLegs.STP})
  366.     sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{})
  367.     sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{})
  368.     sets.TP.Ragnarok.MaxACC = set_combine(sets.TP.Ragnarok.HighACC,{})
  369.  
  370.     -- Ragnarok(SAM Roll) TP Sets --
  371.     sets.TP.Ragnarok.STP = set_combine(sets.TP,{
  372.             main="Ragnarok",
  373.             sub="Utu Grip"})
  374.     sets.TP.Ragnarok.MidACC.STP = set_combine(sets.TP.MidACC,{})
  375.     sets.TP.Ragnarok.HighACC.STP = set_combine(sets.TP.HighACC,{})
  376.     sets.TP.Ragnarok.MaxACC.STP = set_combine(sets.TP.MaxACC,{})
  377.    
  378.     -- Montante TP Sets --
  379.     sets.TP.Montante = set_combine(sets.TP,{
  380.             main="Montante +1",
  381.             sub="Utu Grip"})
  382.     sets.TP.Montante.MidACC = set_combine(sets.TP.Montante,{})
  383.     sets.TP.Montante.HighACC = set_combine(sets.TP.Montante.MidACC,{})
  384.     sets.TP.Montante.MaxACC = set_combine(sets.TP.Montante.HighACC,{})
  385.  
  386.     -- Montante(SAM Roll) TP Sets --
  387.     sets.TP.Montante.STP = set_combine(sets.TP,{
  388.             main="Montante +1",
  389.             sub="Utu Grip"})
  390.     sets.TP.Montante.MidACC.STP = set_combine(sets.TP.MidACC,{})
  391.     sets.TP.Montante.HighACC.STP = set_combine(sets.TP.HighACC,{})
  392.     sets.TP.Montante.MaxACC.STP = set_combine(sets.TP.MaxACC,{})
  393.  
  394.     -- Hodadenon TP Sets --
  395.     sets.TP.Hodadenon = set_combine(sets.TP,{
  396.             main="Hodadenon",
  397.             sub="Utu Grip"})
  398.     sets.TP.Hodadenon.MidACC = set_combine(sets.TP.Hodadenon,{})
  399.     sets.TP.Hodadenon.HighACC = set_combine(sets.TP.Hodadenon.MidACC,{})
  400.     sets.TP.Hodadenon.MaxACC = set_combine(sets.TP.Hodadenon.HighACC,{})
  401.  
  402.     -- Hodadenon(SAM Roll) TP Sets --
  403.     sets.TP.Hodadenon.STP = set_combine(sets.TP,{
  404.             main="Hodadenon",
  405.             sub="Utu Grip"})
  406.     sets.TP.Hodadenon.MidACC.STP = set_combine(sets.TP.MidACC,{})
  407.     sets.TP.Hodadenon.HighACC.STP = set_combine(sets.TP.HighACC,{})
  408.     sets.TP.Hodadenon.MaxACC.STP = set_combine(sets.TP.MaxACC,{})
  409.    
  410.     -- Standard TP Sets --
  411.     sets.TP.Standard = set_combine(sets.TP,{})
  412.     sets.TP.Standard.MidACC = set_combine(sets.TP.MidACC,{})
  413.     sets.TP.Standard.HighACC = set_combine(sets.TP.HighACC,{})
  414.     sets.TP.Standard.MaxACC = set_combine(sets.TP.MaxACC,{})
  415.  
  416.     -- Standard(SAM Roll) TP Sets --
  417.     sets.TP.Standard.STP = set_combine(sets.TP,{})
  418.     sets.TP.Standard.MidACC.STP = set_combine(sets.TP.MidACC,{})
  419.     sets.TP.Standard.HighACC.STP = set_combine(sets.TP.HighACC,{})
  420.     sets.TP.Standard.MaxACC.STP = set_combine(sets.TP.MaxACC,{})
  421.    
  422.     -- Fencer TP Sets --
  423.     sets.TP.Fencer = set_combine(sets.TP,{
  424.             sub="Blurred Shield +1"})
  425.     sets.TP.Fencer.MidACC = set_combine(sets.TP.Fencer,{})
  426.     sets.TP.Fencer.HighACC = set_combine(sets.TP.Fencer.MidACC,{})
  427.     sets.TP.Fencer.MaxACC = set_combine(sets.TP.Fencer.HighACC,{})
  428.  
  429.     -- Fencer(SAM Roll) TP Sets --
  430.     sets.TP.Fencer.STP = set_combine(sets.TP,{
  431.             sub="Blurred Shield +1"})
  432.     sets.TP.Fencer.MidACC.STP = set_combine(sets.TP.Fencer.MidACC,{})
  433.     sets.TP.Fencer.HighACC.STP = set_combine(sets.TP.Fencer.HighACC,{})
  434.     sets.TP.Fencer.MaxACC.STP = set_combine(sets.TP.Fencer.MaxACC,{})
  435.  
  436.     -- NINsub TP Sets --
  437.     sets.TP.NINsub = set_combine(sets.TP,{
  438.             ear1="Suppanomimi",
  439.             hands="Emi. Gauntlets +1"})
  440.     sets.TP.NINsub.MidACC = set_combine(sets.TP.NINsub,{})
  441.     sets.TP.NINsub.HighACC = set_combine(sets.TP.NINsub.MidACC,{})
  442.     sets.TP.NINsub.MaxACC = set_combine(sets.TP.NINsub.HighACC,{})
  443.  
  444.     -- NINsub(SAM Roll) TP Sets --
  445.     sets.TP.NINsub.STP = set_combine(sets.TP,{
  446.             ear1="Suppanomimi",
  447.             hands="Emi. Gauntlets +1"})
  448.     sets.TP.NINsub.MidACC.STP = set_combine(sets.TP.NINsub.MidACC,{})
  449.     sets.TP.NINsub.HighACC.STP = set_combine(sets.TP.NINsub.HighACC,{})
  450.     sets.TP.NINsub.MaxACC.STP = set_combine(sets.TP.NINsub.MaxACC,{})
  451.    
  452.     -- DNCsub TP Sets --
  453.     sets.TP.DNCsub = set_combine(sets.TP,{
  454.             ear1="Suppanomimi",
  455.             ear2="Eabani Earring",
  456.             hands="Emi. Gauntlets +1",
  457.             waist="Shetal Stone"})
  458.     sets.TP.DNCsub.MidACC = set_combine(sets.TP.DNCsub,{})
  459.     sets.TP.DNCsub.HighACC = set_combine(sets.TP.DNCsub.MidACC,{})
  460.     sets.TP.DNCsub.MaxACC = set_combine(sets.TP.DNCsub.HighACC,{})
  461.  
  462.     -- DNCsub(SAM Roll) TP Sets --
  463.     sets.TP.DNCsub.STP = set_combine(sets.TP,{
  464.             ear1="Suppanomimi",
  465.             ear2="Eabani Earring",
  466.             hands="Emi. Gauntlets +1",
  467.             waist="Shetal Stone"})
  468.     sets.TP.DNCsub.MidACC.STP = set_combine(sets.TP.DNCsub.MidACC,{})
  469.     sets.TP.DNCsub.HighACC.STP = set_combine(sets.TP.DNCsub.HighACC,{})
  470.     sets.TP.DNCsub.MaxACC.STP = set_combine(sets.TP.DNCsub.MaxACC,{})
  471.    
  472.     -- Mighty Strikes TP Set --
  473.     sets.TP.MS = {}
  474.  
  475.     -- Retaliation Set --
  476.     sets.TP.Retaliation = {}
  477.  
  478.     -----------------------
  479.     -- Damage Taken Sets --
  480.     -----------------------
  481.    
  482.     -- PDT/MDT Sets --
  483.     sets.PDT = {
  484.             ammo="Staunch Tathlum +1",
  485.             head="Sulevia's Mask +2",
  486.             neck="Loricate Torque +1",
  487.             ear1="Odnowa Earring",         
  488.             ear2="Odnowa Earring +1",
  489.             body="Sulevia's Plate. +2",
  490.             hands="Sulev. Gauntlets +2",
  491.             ring1="Moonbeam Ring",         
  492.             ring2="Moonbeam Ring",
  493.             back="Moonlight Cape",
  494.             waist="Tempus Fugit",
  495.             legs="Sulev. Cuisses +2",
  496.             feet="Sulev. Leggings +2"}
  497.  
  498.     sets.MDT = set_combine(sets.PDT,{})
  499.  
  500.     -- Hybrid/Kiting Sets --
  501.     sets.TP.Hybrid = set_combine(sets.PDT,{
  502.             ear1="Cessance Earring",
  503.             ear2="Brutal Earring"})
  504.     sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  505.     sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  506.     sets.TP.Hybrid.MaxACC = set_combine(sets.TP.Hybrid.HighACC,{})
  507.  
  508.     sets.Kiting = set_combine(sets.PDT,{feet="Hermes' Sandals"})
  509.  
  510.     -----------------------
  511.     -- Weapon Skill Sets --
  512.     -----------------------
  513.        
  514.     -- Weapon Skill Base Sets --
  515.     sets.WS = {
  516.             ammo="Seeth. Bomblet +1",
  517.             head="Flamma Zucchetto +2",
  518.             neck="Fotia Gorget",
  519.             ear1="Moonshade Earring",
  520.             ear2="Brutal Earring",
  521.             body="Emicho Haubert +1",
  522.             hands="Emi. Gauntlets +1",
  523.             ring1="Regal Ring",
  524.             ring2="Niqmaddu Ring",
  525.             back=STRDAMantle,
  526.             waist="Fotia Belt",
  527.             legs="Sulev. Cuisses +2",
  528.             feet="Pumm. Calligae +3"}
  529.     sets.WS.MidACC = set_combine(sets.WS,{})
  530.     sets.WS.HighACC = set_combine(sets.WS.MidACC,{})
  531.     sets.WS.MaxACC = set_combine(sets.WS.HighACC,{})
  532.    
  533.     sets.WS.Argosy = {
  534.             ammo="Seeth. Bomblet +1",
  535.             head="Flam.  Zucchetto +2",
  536.             neck="Fotia Gorget",
  537.             ear1="Moonshade Earring",
  538.             ear2="Brutal Earring",
  539.             body="Argosy Hauberk +1",
  540.             hands="Argosy Mufflers +1",
  541.             ring1="Regal Ring",
  542.             ring2="Niqmaddu Ring",
  543.             back=STRDAMantle,
  544.             waist="Fotia Belt",
  545.             legs="Argosy Breeches +1",
  546.             feet="Flam. Gambieras +2"}
  547.     sets.WS.MidACC = set_combine(sets.WS.Argosy,{
  548.             head="Argosy Celata +1",
  549.             feet="Pumm. Calligae +3"})
  550.     sets.WS.HighACC = set_combine(sets.WS.Argosy.MidACC,{})
  551.     sets.WS.MaxACC = set_combine(sets.WS.Argosy.HighACC,{})
  552.            
  553.     sets.WS.OneHit = {
  554.             ammo="Knobkierrie",
  555.             head=OHead.WSD,
  556.             neck="Fotia Gorget",
  557.             ear1="Moonshade Earring",
  558.             ear2="Ishvara Earring",
  559.             body="Pumm. Lorica +2",
  560.             hands=OHands.WSD,
  561.             ring1="Regal Ring",
  562.             ring2="Niqmaddu Ring",
  563.             back=STRWSDMantle,
  564.             waist="Fotia Belt",
  565.             legs=OLegs.WSD,
  566.             feet="Sulev. Leggings +2"}
  567.     sets.WS.OneHit.MidACC = set_combine(sets.WS.OneHit,{})
  568.     sets.WS.OneHit.HighACC = set_combine(sets.WS.OneHit.MidACC,{})
  569.     sets.WS.OneHit.MaxACC = set_combine(sets.WS.OneHit.HighACC,{})
  570.    
  571.     sets.WS.MABWS = {
  572.             ammo="Pemphredo Tathlum",
  573.             head="Jumalik Helm",
  574.             neck="Sanctity Necklace",
  575.             ear1="Friomisi Earring",
  576.             ear2="Crematio Earring",
  577.             body="Found. Breastplate",
  578.             hands="Founder's Gauntlets",
  579.             ring1="Shiva Ring +1",
  580.             ring2="Shiva Ring +1",
  581.             back="Argochampsa Mantle",
  582.             waist="Eschan Stone",
  583.             legs="Eschite Cuisses",
  584.             feet="Founder's Greaves"}
  585.  
  586.     -- Great Axe Weapon Skill Sets --
  587.    
  588.     sets.WS.Upheaval = set_combine(sets.WS.OneHit,{
  589.             back=VITWSDMantle})
  590.     sets.WS.Upheaval.MidACC = set_combine(sets.WS.OneHit.MidACC,{
  591.             back=VITWSDMantle})
  592.     sets.WS.Upheaval.HighACC = set_combine(sets.WS.OneHit.HighACC,{
  593.             back=VITWSDMantle})
  594.     sets.WS.Upheaval.MaxACC = set_combine(sets.WS.OneHit.MaxACC,{
  595.             back=VITWSDMantle})
  596.    
  597.     sets.WS["Ukko's Fury"] = set_combine(sets.WS.Argosy,{
  598.             ammo="Yetshila +1",
  599.             hands="Flam. Manopolas +2",
  600.             ring1="Begrudging Ring",
  601.             back=CritMantle})
  602.     sets.WS["Ukko's Fury"].MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  603.     sets.WS["Ukko's Fury"].HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  604.     sets.WS["Ukko's Fury"].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  605.    
  606.     sets.WS["Raging Rush"] = set_combine(sets.WS.Argosy,{
  607.             ammo="Yetshila +1",
  608.             hands="Flam. Manopolas +2",
  609.             ring1="Begrudging Ring",
  610.             back=CritMantle})
  611.     sets.WS["Raging Rush"].MidACC  = set_combine(sets.WS.Argosy.MidACC,{
  612.             ammo="Yetshila +1",
  613.             hands="Flam. Manopolas +2",
  614.             ring1="Begrudging Ring",
  615.             back=CritMantle})
  616.     sets.WS["Raging Rush"].HighACC = set_combine(sets.WS.Argosy.HighACC,{
  617.             hands="Flam. Manopolas +2",
  618.             ring1="Begrudging Ring",
  619.             back=CritMantle})
  620.     sets.WS["Raging Rush"].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{
  621.             hands="Flam. Manopolas +2",
  622.             back=CritMantle})
  623.  
  624.     sets.WS["Steel Cyclone"] = set_combine(sets.WS.OneHit,{})
  625.     sets.WS["Steel Cyclone"].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  626.     sets.WS["Steel Cyclone"].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  627.     sets.WS["Steel Cyclone"].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})
  628.    
  629.     sets.WS["King's Justice"] = set_combine(sets.WS.Argosy,{})
  630.     sets.WS["King's Justice"].MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  631.     sets.WS["King's Justice"].HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  632.     sets.WS["King's Justice"].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  633.  
  634.     sets.WS["Fell Cleave"] = set_combine(sets.WS.OneHit,{})
  635.     sets.WS['Fell Cleave'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  636.     sets.WS['Fell Cleave'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  637.     sets.WS['Fell Cleave'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})  
  638.    
  639.     sets.WS["Full Break"] = {}
  640.     sets.WS["Full Break"].MidACC = set_combine(sets.WS["Full Break"],{})
  641.     sets.WS["Full Break"].HighACC = set_combine(sets.WS["Full Break"].MidACC,{})
  642.     sets.WS["Full Break"].MaxACC = set_combine(sets.WS["Full Break"].HighACC,{})
  643.  
  644.     -- Great Sword Weapon Skill Sets --
  645.     sets.WS.Resolution = set_combine(sets.WS.Argosy,{})
  646.     sets.WS.Resolution.MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  647.     sets.WS.Resolution.HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  648.     sets.WS.Resolution.MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  649.    
  650.     sets.WS.Scourge = set_combine(sets.WS.OneHit,{
  651.             back=VITWSDMantle})
  652.     sets.WS.Scourge.MidACC = set_combine(sets.WS.OneHit.MidACC,{
  653.             back=VITWSDMantle})
  654.     sets.WS.Scourge.HighACC = set_combine(sets.WS.OneHit.HighACC,{
  655.             back=VITWSDMantle})
  656.     sets.WS.Scourge.MaxACC = set_combine(sets.WS.OneHit.MaxACC,{
  657.             back=VITWSDMantle})
  658.                
  659.     sets.WS['Ground Strike'] = set_combine(sets.WS.OneHit,{})  
  660.     sets.WS['Ground Strike'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  661.     sets.WS['Ground Strike'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  662.     sets.WS['Ground Strike'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})
  663.    
  664.     sets.WS.Shockwave = {}
  665.    
  666.     sets.WS['Herculean Slash'] = set_combine(sets.WS.MABWS,{}) 
  667.     sets.WS['Herculean Slash'].MidACC = set_combine(sets.WS.MABWS,{})
  668.     sets.WS['Herculean Slash'].HighACC = set_combine(sets.WS.MABWS,{})
  669.     sets.WS['Herculean Slash'].MaxACC = set_combine(sets.WS.MABWS,{})
  670.    
  671.     -- Sword Weapon Skill Sets --
  672.  
  673.     sets.WS['Vorpal Blade'] = set_combine(sets.WS.Argosy,{
  674.             ammo="Yetshila +1",
  675.             hands="Flam. Manopolas +2",
  676.             ring1="Begrudging Ring",
  677.             back=CritMantle})
  678.     sets.WS['Vorpal Blade'].MidACC = set_combine(sets.WS.Argosy.MidACC,{
  679.             ammo="Yetshila +1",
  680.             hands="Flam. Manopolas +2",
  681.             ring1="Begrudging Ring",
  682.             back=CritMantle})
  683.     sets.WS['Vorpal Blade'].HighACC = set_combine(sets.WS.Argosy.HighACC,{
  684.             hands="Flam. Manopolas +2",
  685.             ring1="Begrudging Ring",
  686.             back=CritMantle})
  687.     sets.WS['Vorpal Blade'].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{
  688.             hands="Flam. Manopolas +2",
  689.             back=CritMantle})  
  690.                    
  691.     sets.WS['Savage Blade'] = set_combine(sets.WS.OneHit,{})   
  692.     sets.WS['Savage Blade'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  693.     sets.WS['Savage Blade'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  694.     sets.WS['Savage Blade'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{}) 
  695.    
  696.     sets.WS.Requiescat = set_combine(sets.WS,{})
  697.     sets.WS.Requiescat.MidACC = set_combine(sets.WS.MidACC,{})
  698.     sets.WS.Requiescat.HighACC = set_combine(sets.WS.HighACC,{})
  699.     sets.WS.Requiescat.MaxACC = set_combine(sets.WS.MaxACC,{})
  700.  
  701.     sets.WS['Sanguine Blade'] = set_combine(sets.WS.MABWS,{
  702.             head="Pixie Hairpin +1",
  703.             ring1="Archon Ring"})  
  704.     sets.WS['Sanguine Blade'].MidACC = set_combine(sets.WS.MABWS,{
  705.             head="Pixie Hairpin +1",
  706.             ring1="Archon Ring"})  
  707.     sets.WS['Sanguine Blade'].HighACC = set_combine(sets.WS.MABWS,{
  708.             head="Pixie Hairpin +1",
  709.             ring1="Archon Ring"})  
  710.     sets.WS['Sanguine Blade'].MaxACC = set_combine(sets.WS.MABWS,{
  711.             head="Pixie Hairpin +1",
  712.             ring1="Archon Ring"})  
  713.    
  714.     -- Axe Weapon Skill Sets --
  715.    
  716.     sets.WS.Rampage = set_combine(sets.WS.Argosy,{
  717.             ammo="Yetshila +1",
  718.             hands="Flam. Manopolas +2",
  719.             ring1="Begrudging Ring",
  720.             back=CritMantle})
  721.     sets.WS.Rampage.MidACC = set_combine(sets.WS.Argosy.MidACC,{
  722.             ammo="Yetshila +1",
  723.             hands="Flam. Manopolas +2",
  724.             ring1="Begrudging Ring",
  725.             back=CritMantle})
  726.     sets.WS.Rampage.HighACC = set_combine(sets.WS.Argosy.HighACC,{
  727.             hands="Flam. Manopolas +2",
  728.             back=CritMantle})
  729.     sets.WS.Rampage.MaxACC = set_combine(sets.WS.Argosy.MaxACC,{
  730.             hands="Flam. Manopolas +2",
  731.             ring1="Begrudging Ring",
  732.             back=CritMantle})  
  733.                
  734.     sets.WS.Ruinator = set_combine(sets.WS.Argosy,{})
  735.     sets.WS.Ruinator.MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  736.     sets.WS.Ruinator.HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  737.     sets.WS.Ruinator.MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})    
  738.                
  739.     sets.WS.Cloudsplitter = set_combine(sets.WS.MABWS,{})  
  740.     sets.WS.Cloudsplitter.MidACC = set_combine(sets.WS.MABWS,{})
  741.     sets.WS.Cloudsplitter.HighACC = set_combine(sets.WS.MABWS,{})
  742.     sets.WS.Cloudsplitter.MaxACC = set_combine(sets.WS.MABWS,{})
  743.                
  744.     sets.WS['Mistral Axe'] = set_combine(sets.WS.OneHit,{})
  745.     sets.WS['Mistral Axe'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  746.     sets.WS['Mistral Axe'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  747.     sets.WS['Mistral Axe'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})  
  748.    
  749.     sets.WS.Decimation = set_combine(sets.WS.Argosy,{})
  750.     sets.WS.Decimation.MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  751.     sets.WS.Decimation.HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  752.     sets.WS.Decimation.MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})  
  753.    
  754.     -- Dagger Weapon Skill Sets --
  755.    
  756.     sets.WS.Evisceration = set_combine(sets.WS.Argosy,{
  757.             ammo="Yetshila +1",
  758.             hands="Flam. Manopolas +2",
  759.             ring1="Begrudging Ring",
  760.             back=CritMantle})
  761.     sets.WS.Evisceration.MidACC = set_combine(sets.WS.Argosy.MidACC,{
  762.             hands="Flam. Manopolas +2",
  763.             ring1="Begrudging Ring",
  764.             back=CritMantle})
  765.     sets.WS.Evisceration.HighACC = set_combine(sets.WS.Argosy.HighACC,{
  766.             hands="Flam. Manopolas +2",
  767.             ring1="Begrudging Ring",
  768.             back=CritMantle})
  769.     sets.WS.Evisceration.MaxACC = set_combine(sets.WS.Argosy.MaxACC,{
  770.             hands="Flam. Manopolas +2",
  771.             back=CritMantle})
  772.                    
  773.     -- Club Weapon Skill Sets --               
  774.                    
  775.     sets.WS['True Strike'] = set_combine(sets.WS.Argosy,{})
  776.     sets.WS['True Strike'].MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  777.     sets.WS['True Strike'].HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  778.     sets.WS['True Strike'].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  779.                
  780.     sets.WS.Judgment = set_combine(sets.WS.OneHit,{})  
  781.     sets.WS.Judgment.MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  782.     sets.WS.Judgment.HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  783.     sets.WS.Judgment.MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})
  784.                
  785.     sets.WS['Black Halo'] = set_combine(sets.WS.OneHit,{}) 
  786.     sets.WS['Black Halo'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  787.     sets.WS['Black Halo'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  788.     sets.WS['Black Halo'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})           
  789.    
  790.     sets.WS['Hexa Strike'] = set_combine(sets.WS.Argosy,{
  791.             ammo="Yetshila +1",
  792.             hands="Flam. Manopolas +2",
  793.             ring1="Begrudging Ring",
  794.             back=CritMantle})
  795.     sets.WS['Hexa Strike'].MidACC = set_combine(sets.WS.Argosy.MidACC,{
  796.             hands="Flam. Manopolas +2",
  797.             ring1="Begrudging Ring",
  798.             back=CritMantle})
  799.     sets.WS['Hexa Strike'].HighACC = set_combine(sets.WS.Argosy.HighACC,{
  800.             hands="Flam. Manopolas +2",
  801.             ring1="Begrudging Ring",
  802.             back=CritMantle})
  803.     sets.WS['Hexa Strike'].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{
  804.             hands="Flam. Manopolas +2",
  805.             back=CritMantle})
  806.    
  807.     -- Polearm Weapon Skill Sets --
  808.    
  809.     sets.WS['Penta Thrust'] = set_combine(sets.WS.Argosy,{})
  810.     sets.WS['Penta Thrust'].MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  811.     sets.WS['Penta Thrust'].HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  812.     sets.WS['Penta Thrust'].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  813.                
  814.     sets.WS.StarDiver = set_combine(sets.WS.Argosy,{})
  815.     sets.WS.StarDiver.MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  816.     sets.WS.StarDiver.HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  817.     sets.WS.StarDiver.MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  818.    
  819.     sets.WS['Sonic Thrust'] = set_combine(sets.WS.Argosy,{})
  820.     sets.WS['Sonic Thrust'].MidACC = set_combine(sets.WS.Argosy.MidACC,{})
  821.     sets.WS['Sonic Thrust'].HighACC = set_combine(sets.WS.Argosy.HighACC,{})
  822.     sets.WS['Sonic Thrust'].MaxACC = set_combine(sets.WS.Argosy.MaxACC,{})
  823.    
  824.     sets.WS['Wheeling Thrust'] = set_combine(sets.WS.OneHit,{})
  825.     sets.WS['Wheeling Thrust'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  826.     sets.WS['Wheeling Thrust'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  827.     sets.WS['Wheeling Thrust'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})  
  828.    
  829.     -- Staff Weapon Skill Sets --
  830.    
  831.     sets.WS.Retribution = set_combine(sets.WS.OneHit,{})   
  832.     sets.WS.Retribution.MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  833.     sets.WS.Retribution.HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  834.     sets.WS.Retribution.MaxACC = set_combine(sets.WS.OneHit.MaxACC,{}) 
  835.                
  836.     sets.WS['Full Swing'] = set_combine(sets.WS.OneHit,{}) 
  837.     sets.WS['Full Swing'].MidACC = set_combine(sets.WS.OneHit.MidACC,{})
  838.     sets.WS['Full Swing'].HighACC = set_combine(sets.WS.OneHit.HighACC,{})
  839.     sets.WS['Full Swing'].MaxACC = set_combine(sets.WS.OneHit.MaxACC,{})
  840.                
  841.     -- Mighty Strikes WS Set --
  842.     sets.MS_WS = {}
  843.  
  844.     ----------------------
  845.     -- Job Ability Sets --
  846.     ----------------------
  847.    
  848.     sets.JA = {}
  849.     sets.JA.Berserk = {body="Pumm. Lorica +2",feet="Agoge Calligae +1"}
  850.     sets.JA.Aggressor = {head="Pumm. Mask +1",body="Agoge Lorica +1"}
  851.     sets.JA["Blood Rage"] = {body="Boii Lorica +1"}
  852.     sets.JA.Warcry = {head="Agoge Mask +1"}
  853.     sets.JA.Tomahawk = {ammo="Thr. Tomahawk",feet="Agoge Calligae +1"}
  854.     sets.JA["Mighty Strikes"] = {hands="Agoge Mufflers +1"}
  855.  
  856.     -- Waltz Set --
  857.     sets.Waltz = {}
  858.  
  859.     --------------------
  860.     -- Pre-Cast Sets --
  861.     --------------------
  862.  
  863.     sets.Precast = {}
  864.     sets.Precast.FastCast = {}
  865.    
  866.     ------------------------------
  867.     -- Mid-Cast Blue Magic Sets --
  868.     ------------------------------
  869.  
  870.     sets.Midcast = {}
  871.     sets.Midcast.Haste = set_combine(sets.PDT,{})
  872.    
  873. end
  874.  
  875.     ----------------
  876.     -- Pre-Target --
  877.     ----------------
  878.  
  879. function pretarget(spell,action)
  880.     if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  881.         cancel_spell()
  882.         send_command('input /item "Echo Drops" <me>')
  883.     elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  884.         cancel_spell()
  885.         send_command('Aggressor')
  886.     elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  887.         cancel_spell()
  888.         send_command('ThirdEye')
  889.     elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 2900 --
  890.         cancel_spell()
  891.         add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  892.     elseif spell.type == 'WeaponSkill' and player.status == 'Engaged' then
  893.         if spell.english ~= 'Bora Axe' and spell.name ~= 'Mistral Axe' and spell.target.distance > target_distance then -- Cancel WS If You Are Out Of Range --
  894.             cancel_spell()
  895.             add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  896.             return
  897.         end
  898.     end
  899. end
  900.  
  901.     --------------
  902.     -- Pre-Cast --
  903.     --------------
  904.  
  905. function precast(spell,action)
  906.         if spell.type == "WeaponSkill" then
  907.         if player.status ~= 'Engaged' then
  908.         return
  909.         else
  910.                 equipSet = sets.WS
  911.             if equipSet[spell.english] then
  912.                 equipSet = equipSet[spell.english]
  913.             end
  914.             if equipSet[AccArray[AccIndex]] then
  915.                 equipSet = equipSet[AccArray[AccIndex]]
  916.             end
  917.             if elements[spell.name] and elements[spell.name]:contains(world.day_element) then
  918.                 equipSet = set_combine(equipSet,elements.equip)
  919.             end
  920.             if buffactive["Mighty Strikes"] then -- Equip MS_WS Set When You Have Mighty Strikes On --
  921.                 equipSet = set_combine(equipSet,sets.MS_WS)
  922.             end
  923.             if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  924.                 equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  925.             end
  926.             if player.tp > 2750 or player.equipment.main == 'Chango' and player.tp > 2250 then
  927.                     equipSet = set_combine(equipSet,{ear1="Zwazo Earring"}) -- 3000 TP: Equip Zwazo Earring --
  928.             end
  929.             if world.time <= (7*60) or world.time >= (17*60) then
  930.                     equipSet = set_combine(equipSet,{ear2="Lugra Earring +1"}) -- Dusk til Dawn: Equip Lugra Earring +1 --
  931.             end
  932.             equip(equipSet)
  933.         end
  934.     elseif spell.type == "JobAbility" then
  935.         if sets.JA[spell.english] then
  936.             equip(sets.JA[spell.english])
  937.         end
  938.     elseif spell.action_type == 'Magic' then
  939.         if spell.english == 'Utsusemi: Ni' then
  940.             if buffactive['Copy Image (3)'] then
  941.                 cancel_spell()
  942.                 add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
  943.                 return
  944.             else
  945.                 equip(sets.Precast.FastCast)
  946.             end
  947.         else
  948.             equip(sets.Precast.FastCast)
  949.         end
  950.     elseif spell.type == "Waltz" then
  951.         equip(sets.Waltz)
  952.     elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  953.         cast_delay(0.2)
  954.         send_command('cancel Sneak')
  955.     end
  956.     if Twilight == 'Twilight' then
  957.         equip(sets.Twilight)
  958.     end
  959. end
  960.  
  961.     --------------
  962.     -- Mid-Cast --
  963.     --------------
  964.        
  965. function midcast(spell,action)
  966.     if spell.action_type == 'Magic' then
  967.         if spell.english:startswith('Utsusemi') then
  968.             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then -- Cancel Copy Image 1, 2 & 3 For Utsusemi: Ichi --
  969.                 send_command('@wait 1.7;cancel Copy Image*')
  970.             end
  971.             equip(sets.Midcast.Haste)
  972.         elseif spell.english == 'Monomi: Ichi' then -- Cancel Sneak --
  973.             if buffactive['Sneak'] then
  974.                 send_command('@wait 1.7;cancel sneak')
  975.             end
  976.             equip(sets.Midcast.Haste)
  977.         else
  978.             equip(sets.Midcast.Haste)
  979.         end
  980.     end
  981. end
  982.  
  983.     ----------------
  984.     -- After-Cast --
  985.     ----------------
  986.  
  987. function aftercast(spell,action)
  988.     if not spell.interrupted then
  989.         if spell.type == "WeaponSkill" then
  990.             send_command('wait 0.2;gs c TP')
  991.         elseif spell.english == "Blood Rage" then -- Blood Rage Timer/Countdown --
  992.             timer_blood_rage()
  993.             send_command('wait 50;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
  994.         elseif spell.english == "Tomahawk" then -- Tomahawk Timer/Countdown --
  995.             timer_tomahawk()
  996.             send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Tomahawk";input /echo '..spell.name..': [OFF]')
  997.         end
  998.     end
  999.     status_change(player.status)
  1000. end
  1001.  
  1002.     -------------------
  1003.     -- Status Change --
  1004.     -------------------
  1005.  
  1006. function status_change(new,old)
  1007.     if Armor == 'PDT' or buffactive.Terror or buffactive.Stun or buffactive.Petrification or buffactive.Sleep then
  1008.         equip(sets.PDT)
  1009.     elseif Armor == 'MDT' then
  1010.         equip(sets.MDT)
  1011.     elseif Armor == 'Kiting' then
  1012.         equip(sets.Kiting)
  1013.     elseif new == 'Engaged' then
  1014.         equipSet = sets.TP
  1015.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  1016.             equipSet = equipSet["Hybrid"]
  1017.         end
  1018.         if equipSet[WeaponArray[WeaponIndex]] then
  1019.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  1020.         end
  1021.         if equipSet[AccArray[AccIndex]] then
  1022.             equipSet = equipSet[AccArray[AccIndex]]
  1023.         end
  1024.         if buffactive["Samurai Roll"] and equipSet["STP"] and Samurai_Roll == 'ON' then
  1025.             equipSet = equipSet["STP"]
  1026.         end
  1027.         if buffactive["Mighty Strikes"] then -- Mighty Strikes TP Set --
  1028.             equipSet = set_combine(equipSet,sets.TP.MS)
  1029.         end
  1030.         if buffactive.Retaliation and Retaliation == 'ON' then -- Use Retaliation Toggle For Retaliation TP Set --
  1031.             equipSet = set_combine(equipSet,sets.TP.Retaliation)
  1032.         end
  1033.         equip(equipSet)
  1034.     else
  1035.         equipSet = sets.Idle
  1036.         if equipSet[IdleArray[IdleIndex]] then
  1037.             equipSet = equipSet[IdleArray[IdleIndex]]
  1038.         end
  1039.         if equipSet[WeaponArray[WeaponIndex]] then
  1040.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  1041.         end
  1042.         if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  1043.             equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  1044.         end
  1045.         equip(equipSet)
  1046.     end
  1047.     if Twilight == 'Twilight' then
  1048.         equip(sets.Twilight)
  1049.     end
  1050. end
  1051.  
  1052.     -----------------
  1053.     -- Buff Change --
  1054.     -----------------
  1055.  
  1056.  function buff_change(buff,gain,loss)
  1057.     buff = string.lower(buff)
  1058.     if gain then  
  1059.         add_to_chat(158,'--- Gained: ['..buff..']')
  1060.     elseif loss then
  1061.         add_to_chat(123,'--- Lost: ['..buff..']')
  1062.     end
  1063.     if not midaction() then
  1064.         status_change(player.status)
  1065.     end
  1066.  end
  1067.  
  1068.     -------------------------------------------------------------------------------------
  1069.     -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  1070.     -------------------------------------------------------------------------------------
  1071.  
  1072.  function self_command(command)
  1073.     if command == 'acc' then -- Accuracy Toggle --
  1074.         AccIndex = (AccIndex % #AccArray) + 1
  1075.         add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  1076.         status_change(player.status)
  1077.     elseif command == 'weapon' then -- Main Weapon Toggle --
  1078.         WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  1079.         add_to_chat(155,'Main Weapon: '..WeaponArray[WeaponIndex])
  1080.         status_change(player.status)
  1081.     elseif command == 'update' then -- Auto Update Gear Toggle --
  1082.         status_change(player.status)
  1083.         add_to_chat(155,'Auto Update Gear')
  1084.     elseif command == 'hybrid' then -- Hybrid Toggle --
  1085.         if Armor == 'Hybrid' then
  1086.             Armor = 'None'
  1087.             add_to_chat(123,'Hybrid Set: [Unlocked]')
  1088.         else
  1089.             Armor = 'Hybrid'
  1090.             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  1091.         end
  1092.         status_change(player.status)
  1093.     elseif command == 'pdt' then -- PDT Toggle --
  1094.         if Armor == 'PDT' then
  1095.             Armor = 'None'
  1096.             add_to_chat(123,'PDT Set: [Unlocked]')
  1097.         else
  1098.             Armor = 'PDT'
  1099.             add_to_chat(158,'PDT Set: [Locked]')
  1100.         end
  1101.         status_change(player.status)
  1102.     elseif command == 'mdt' then -- MDT Toggle --
  1103.         if Armor == 'MDT' then
  1104.             Armor = 'None'
  1105.             add_to_chat(123,'MDT Set: [Unlocked]')
  1106.         else
  1107.             Armor = 'MDT'
  1108.             add_to_chat(158,'MDT Set: [Locked]')
  1109.         end
  1110.         status_change(player.status)
  1111.     elseif command == 'kiting' then -- Kiting Toggle --
  1112.         if Armor == 'Kiting' then
  1113.             Armor = 'None'
  1114.             add_to_chat(123,'Kiting Set: [Unlocked]')
  1115.         else
  1116.             Armor = 'Kiting'
  1117.             add_to_chat(158,'Kiting Set: [Locked]')
  1118.         end
  1119.         status_change(player.status)
  1120.     elseif command == 'retaliation' then -- Retaliation Toggle --
  1121.         if Retaliation == 'ON' then
  1122.             Retaliation = 'OFF'
  1123.             add_to_chat(123,'Retaliation Set: [Unlocked]')
  1124.         else
  1125.             Retaliation = 'ON'
  1126.             add_to_chat(158,'Retaliation Set: [Locked]')
  1127.         end
  1128.         status_change(player.status)
  1129.     elseif command == 'sam' then -- SAM Roll Toggle --
  1130.         if Samurai_Roll == 'ON' then
  1131.             Samurai_Roll = 'OFF'
  1132.             add_to_chat(123,'SAM Roll: [OFF]')
  1133.         else
  1134.             Samurai_Roll = 'ON'
  1135.             add_to_chat(158,'SAM Roll: [ON]')
  1136.         end
  1137.         status_change(player.status)
  1138.     elseif command == 'twilight' then -- Twilight Toggle --
  1139.         if Twilight == 'Twilight' then
  1140.             Twilight = 'None'
  1141.             add_to_chat(123,'Twilight Set: [Unlocked]')
  1142.         else
  1143.             Twilight = 'Twilight'
  1144.             add_to_chat(158,'Twilight Set: [locked]')
  1145.         end
  1146.         status_change(player.status)
  1147.     elseif command == 'distance' then -- Distance Toggle --
  1148.         if player.target.distance then
  1149.             target_distance = math.floor(player.target.distance*10)/10
  1150.             add_to_chat(155,'Distance: '..target_distance)
  1151.         else
  1152.             add_to_chat(123,'No Target Selected')
  1153.         end
  1154.     elseif command == 'idle' then -- Idle Toggle --
  1155.         IdleIndex = (IdleIndex % #IdleArray) + 1
  1156.         add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  1157.         status_change(player.status)
  1158.     elseif command == 'TP' then
  1159.         add_to_chat(155,'TP Return: ['..tostring(player.tp)..']')
  1160.     elseif command:match('^SC%d$') then
  1161.         send_command('//' .. sc_map[command])
  1162.     end
  1163. end
  1164.  
  1165.     -----------
  1166.     -- Misc. --
  1167.     -----------
  1168.  
  1169. function timer_blood_rage()
  1170.     local duration = 60
  1171.     send_command('timers create "Blood Rage" '..tostring(duration)..' down')
  1172. end
  1173.  
  1174. function timer_tomahawk()
  1175.     local duration = 90
  1176.     send_command('timers create "Tomahawk" '..tostring(duration)..' down')
  1177. end
Advertisement
Add Comment
Please, Sign In to add comment