Advertisement
Amadis

WAR lua

May 26th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 46.05 KB | None | 0 0
  1. -- *** Credit goes to Flippant for helping me with Gearswap *** --
  2. -- ** I Use Some of Motenten's Functions ** --
  3. -- Last Updated: 05/02/14 8:00 PM *Advanced Version* --
  4.  
  5. function get_sets()
  6.     AccIndex = 1
  7.     AccArray = {"LowACC","MidACC","HighACC"} -- 3 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. --
  8.     WeaponIndex = 1
  9.     WeaponArray = {"Minos","Ragnarok","Emxgha"} -- 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. --
  10.     IdleIndex = 1
  11.     IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
  12.     Armor = 'None'
  13.     Twilight = 'None'
  14.     Attack = 'OFF' -- Set Default Attack Set ON or OFF Here --
  15.     Rancor = 'ON' -- Set Default Rancor ON or OFF Here --
  16.     BloodRage = 'ON' -- Set Default BloodRage ON or OFF Here --
  17.     Retaliation = 'OFF' -- Set Default Retaliation ON or OFF Here --
  18.     Samurai_Roll = 'ON' -- Set Default SAM Roll ON or OFF Here --
  19.     target_distance = 6 -- Set Default Distance Here --
  20.     select_default_macro_book() -- Change Default Macro Book At The End --
  21.  
  22.     sc_map = {SC1="UkkosFury", SC2="Berserk", SC3="Aggressor"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  23.  
  24.     sets.Idle = {}
  25.            
  26.     -- Idle/Town Sets --
  27.    
  28.     sets.Idle.Regen = {
  29.             ammo="Angha Gem",
  30.             head="Twilight Helm",
  31.             neck="Wiglen Gorget",
  32.             ear1="Steelflash Earring",
  33.             ear2="Bladeborn Earring",
  34.             body="Kumarbi's Akar",
  35.             hands="Shab. Gauntlets +1",
  36.             ring1="Defending Ring",
  37.             ring2="Paguroidea Ring",
  38.             back="Shadow Mantle",
  39.             waist="Flume Belt",
  40.             legs="Cizin Breeches +1",
  41.             feet="Hermes' Sandals"}
  42.     sets.Idle.Regen.Minos = set_combine(sets.Idle.Regen,{})
  43.     sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{})
  44.     sets.Idle.Regen.Emxgha = set_combine(sets.Idle.Regen,{})
  45.  
  46.     sets.Idle.Movement = set_combine(sets.Idle.Regen,{})
  47.     sets.Idle.Movement.Minos = set_combine(sets.Idle.Movement,{
  48.             main="Minos",
  49.             sub="Bloodrain Strap"})
  50.     sets.Idle.Movement.Ragnarok = set_combine(sets.Idle.Movement,{
  51.             main="Ragnarok",
  52.             sub="Duplus Grip"})
  53.     sets.Idle.Movement.Emxgha = set_combine(sets.Idle.Movement,{
  54.             main="Emxgha",
  55.             sub="Emxgha"})
  56.  
  57.     sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  58.  
  59.     -- TP Base Set --
  60.     sets.TP = {
  61.             ammo="Yetshila",
  62.             head="Felistris Mask",
  63.             neck="Portus Collar",
  64.             ear1="Steelflash Earring",
  65.             ear2="Bladeborn Earring",
  66.             body="Xaddi Mail",
  67.             hands="Xaddi Gauntlets",
  68.             ring1="Rajas Ring",
  69.             ring2="K'ayres Ring",
  70.             back="Mauler's Mantle",
  71.             waist="Windbuffet Belt",
  72.             legs="Agoge Cuisses +1",
  73.             feet="Pumm. Calligae +1"}
  74.  
  75.     -- Minos TP Sets --
  76.     sets.TP.Minos = {          
  77.             main="Minos",
  78.             sub="Bloodrain Strap",
  79.             ammo="Yetshila",
  80.             head="Felistris Mask",
  81.             neck="Asperity Necklace",
  82.             ear1="Tripudio Earring",
  83.             ear2="Brutal Earring",
  84.             body="Xaddi Mail",
  85.             hands="Xaddi Gauntlets",
  86.             ring1="Rajas Ring",
  87.             ring2="K'ayres Ring",
  88.             back="Mauler's Mantle",
  89.             waist="Windbuffet Belt",
  90.             legs="Agoge Cuisses +1",
  91.             feet="Pumm. Calligae +1"}
  92.     sets.TP.Minos.MidACC = set_combine(sets.TP.Minos,{
  93.             head="Yaoyotl Helm",
  94.             ring2="Patricius Ring",
  95.             legs="Pumm. Cuisses +1",
  96.             feet="Ejekamal Boots"})
  97.     sets.TP.Minos.HighACC = set_combine(sets.TP.Minos.MidACC,{
  98.             ammo="Ginsen",
  99.             neck="Iqabi Necklace",
  100.             ear1="Steelflash Earring",
  101.             ear2="Bladeborn Earring",          
  102.             body="Mes. Haubergeon",
  103.             hands="Buremte Gloves",
  104.             ring1="Mars's Ring",
  105.             waist="Anguinus Belt",
  106.             feet="Whirlpool Greaves"})
  107.  
  108.     -- Minos(Restraint) TP Sets --
  109.     sets.TP.Minos.Restraint = set_combine(sets.TP.Minos,{          
  110.             main="Minos",
  111.             sub="Bloodrain Strap",
  112.             ammo="Yetshila",
  113.             head="Felistris Mask",
  114.             neck="Asperity Necklace",
  115.             ear1="Tripudio Earring",
  116.             ear2="Brutal Earring",
  117.             body="Xaddi Mail",
  118.             hands="Xaddi Gauntlets",
  119.             ring1="Rajas Ring",
  120.             ring2="K'ayres Ring",
  121.             back="Mauler's Mantle",
  122.             waist="Windbuffet Belt",
  123.             legs="Agoge Cuisses +1",
  124.             feet="Pumm. Calligae +1"})
  125.     sets.TP.Minos.MidACC.Restraint = set_combine(sets.TP.Minos.MidACC,{
  126.             head="Yaoyotl Helm",
  127.             ring2="Patricius Ring",
  128.             legs="Pumm. Cuisses +1",
  129.             feet="Ejekamal Boots"})
  130.     sets.TP.Minos.HighACC.Restraint = set_combine(sets.TP.Minos.HighACC,{
  131.             ammo="Ginsen",
  132.             neck="Iqabi Necklace",
  133.             ear1="Steelflash Earring",
  134.             ear2="Bladeborn Earring",          
  135.             body="Mes. Haubergeon",
  136.             hands="Buremte Gloves",
  137.             ring1="Mars's Ring",
  138.             waist="Anguinus Belt",
  139.             feet="Whirlpool Greaves"})
  140.  
  141.     -- Minos(Ionis) TP Sets --
  142.     sets.TP.Minos.Ionis = set_combine(sets.TP.Minos,{          
  143.             main="Minos",
  144.             sub="Bloodrain Strap",
  145.             ammo="Yetshila",
  146.             head="Felistris Mask",
  147.             neck="Asperity Necklace",
  148.             ear1="Tripudio Earring",
  149.             ear2="Brutal Earring",
  150.             body="Xaddi Mail",
  151.             hands="Xaddi Gauntlets",
  152.             ring1="Rajas Ring",
  153.             ring2="K'ayres Ring",
  154.             back="Mauler's Mantle",
  155.             waist="Windbuffet Belt",
  156.             legs="Agoge Cuisses +1",
  157.             feet="Pumm. Calligae +1"})
  158.     sets.TP.Minos.MidACC.Ionis= set_combine(sets.TP.Minos.MidACC,{
  159.             head="Yaoyotl Helm",
  160.             ring2="Patricius Ring",
  161.             legs="Pumm. Cuisses +1",
  162.             feet="Ejekamal Boots"})
  163.     sets.TP.Minos.HighACC.Ionis = set_combine(sets.TP.Minos.HighACC,{
  164.             ammo="Ginsen",
  165.             neck="Iqabi Necklace",
  166.             ear1="Steelflash Earring",
  167.             ear2="Bladeborn Earring",          
  168.             body="Mes. Haubergeon",
  169.             hands="Buremte Gloves",
  170.             ring1="Mars's Ring",
  171.             waist="Anguinus Belt",
  172.             feet="Whirlpool Greaves"})
  173.  
  174.     -- Minos(Restraint + Ionis) TP Sets --
  175.     sets.TP.Minos.Restraint.Ionis = set_combine(sets.TP.Minos,{        
  176.             main="Minos",
  177.             sub="Bloodrain Strap",
  178.             ammo="Yetshila",
  179.             head="Felistris Mask",
  180.             neck="Asperity Necklace",
  181.             ear1="Tripudio Earring",
  182.             ear2="Brutal Earring",
  183.             body="Xaddi Mail",
  184.             hands="Xaddi Gauntlets",
  185.             ring1="Rajas Ring",
  186.             ring2="K'ayres Ring",
  187.             back="Mauler's Mantle",
  188.             waist="Windbuffet Belt",
  189.             legs="Agoge Cuisses +1",
  190.             feet="Pumm. Calligae +1"})
  191.     sets.TP.Minos.MidACC.Restraint.Ionis = set_combine(sets.TP.Minos.MidACC,{
  192.             head="Yaoyotl Helm",
  193.             ring2="Patricius Ring",
  194.             legs="Pumm. Cuisses +1",
  195.             feet="Ejekamal Boots"})
  196.     sets.TP.Minos.HighACC.Restraint.Ionis = set_combine(sets.TP.Minos.HighACC,{
  197.             ammo="Ginsen",
  198.             neck="Iqabi Necklace",
  199.             ear1="Steelflash Earring",
  200.             ear2="Bladeborn Earring",          
  201.             body="Mes. Haubergeon",
  202.             hands="Buremte Gloves",
  203.             ring1="Mars's Ring",
  204.             waist="Anguinus Belt",
  205.             feet="Whirlpool Greaves"})
  206.  
  207.     -- Minos(SAM Roll) TP Sets --
  208.     sets.TP.Minos.STP = set_combine(sets.TP.Minos,{        
  209.             main="Minos",
  210.             sub="Bloodrain Strap",
  211.             ammo="Yetshila",
  212.             head="Felistris Mask",
  213.             neck="Portus Collar",
  214.             ear1="Steelflash Earring",
  215.             ear2="Bladeborn Earring",
  216.             body="Xaddi Mail",
  217.             hands="Xaddi Gauntlets",
  218.             ring1="Rajas Ring",
  219.             ring2="K'ayres Ring",
  220.             back="Mauler's Mantle",
  221.             waist="Windbuffet Belt",
  222.             legs="Agoge Cuisses +1",
  223.             feet="Pumm. Calligae +1"})
  224.     sets.TP.Minos.MidACC.STP = set_combine(sets.TP.Minos.MidACC,{
  225.             head="Yaoyotl Helm",
  226.             ring2="Patricius Ring",
  227.             legs="Pumm. Cuisses +1",
  228.             feet="Ejekamal Boots"})
  229.     sets.TP.Minos.HighACC.STP = set_combine(sets.TP.Minos.HighACC,{
  230.             ammo="Ginsen",
  231.             neck="Iqabi Necklace",
  232.             ear1="Steelflash Earring",
  233.             ear2="Bladeborn Earring",          
  234.             body="Mes. Haubergeon",
  235.             hands="Buremte Gloves",
  236.             ring1="Mars's Ring",
  237.             waist="Anguinus Belt",
  238.             feet="Whirlpool Greaves"})
  239.  
  240.     -- Minos(Restraint + SAM Roll) TP Sets --
  241.     sets.TP.Minos.Restraint.STP = set_combine(sets.TP.Minos,{          
  242.             main="Minos",
  243.             sub="Bloodrain Strap",
  244.             ammo="Yetshila",
  245.             head="Felistris Mask",
  246.             neck="Portus Collar",
  247.             ear1="Steelflash Earring",
  248.             ear2="Bladeborn Earring",
  249.             body="Xaddi Mail",
  250.             hands="Xaddi Gauntlets",
  251.             ring1="Rajas Ring",
  252.             ring2="K'ayres Ring",
  253.             back="Mauler's Mantle",
  254.             waist="Windbuffet Belt",
  255.             legs="Agoge Cuisses +1",
  256.             feet="Pumm. Calligae +1"})
  257.     sets.TP.Minos.MidACC.Restraint.STP = set_combine(sets.TP.Minos.MidACC,{
  258.             head="Yaoyotl Helm",
  259.             ring2="Patricius Ring",
  260.             legs="Pumm. Cuisses +1",
  261.             feet="Ejekamal Boots"})
  262.     sets.TP.Minos.HighACC.Restraint.STP = set_combine(sets.TP.Minos.HighACC,{
  263.             ammo="Ginsen",
  264.             neck="Iqabi Necklace",
  265.             ear1="Steelflash Earring",
  266.             ear2="Bladeborn Earring",          
  267.             body="Mes. Haubergeon",
  268.             hands="Buremte Gloves",
  269.             ring1="Mars's Ring",
  270.             waist="Anguinus Belt",
  271.             feet="Whirlpool Greaves"})
  272.  
  273.     -- Minos(Ionis + SAM Roll) TP Sets --
  274.     sets.TP.Minos.Ionis.STP = set_combine(sets.TP.Minos,{          
  275.             main="Minos",
  276.             sub="Bloodrain Strap",
  277.             ammo="Yetshila",
  278.             head="Felistris Mask",
  279.             neck="Portus Collar",
  280.             ear1="Steelflash Earring",
  281.             ear2="Bladeborn Earring",
  282.             body="Xaddi Mail",
  283.             hands="Xaddi Gauntlets",
  284.             ring1="Rajas Ring",
  285.             ring2="K'ayres Ring",
  286.             back="Mauler's Mantle",
  287.             waist="Windbuffet Belt",
  288.             legs="Agoge Cuisses +1",
  289.             feet="Pumm. Calligae +1"})
  290.     sets.TP.Minos.MidACC.Ionis.STP = set_combine(sets.TP.Minos.MidACC,{
  291.             head="Yaoyotl Helm",
  292.             ring2="Patricius Ring",
  293.             legs="Pumm. Cuisses +1",
  294.             feet="Ejekamal Boots"})
  295.     sets.TP.Minos.HighACC.Ionis.STP = set_combine(sets.TP.Minos.HighACC,{
  296.             ammo="Ginsen",
  297.             neck="Iqabi Necklace",
  298.             ear1="Steelflash Earring",
  299.             ear2="Bladeborn Earring",          
  300.             body="Mes. Haubergeon",
  301.             hands="Buremte Gloves",
  302.             ring1="Mars's Ring",
  303.             waist="Anguinus Belt",
  304.             feet="Whirlpool Greaves"})
  305.  
  306.     -- Minos(Restraint + Ionis + SAM Roll) TP Sets --
  307.     sets.TP.Minos.Restraint.Ionis.STP = set_combine(sets.TP.Minos,{        
  308.             main="Minos",
  309.             sub="Bloodrain Strap",
  310.             ammo="Yetshila",
  311.             head="Felistris Mask",
  312.             neck="Portus Collar",
  313.             ear1="Steelflash Earring",
  314.             ear2="Bladeborn Earring",
  315.             body="Xaddi Mail",
  316.             hands="Xaddi Gauntlets",
  317.             ring1="Rajas Ring",
  318.             ring2="K'ayres Ring",
  319.             back="Mauler's Mantle",
  320.             waist="Windbuffet Belt",
  321.             legs="Agoge Cuisses +1",
  322.             feet="Pumm. Calligae +1"})
  323.     sets.TP.Minos.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Minos.MidACC,{
  324.             head="Yaoyotl Helm",
  325.             ring2="Patricius Ring",
  326.             legs="Pumm. Cuisses +1",
  327.             feet="Ejekamal Boots"})
  328.     sets.TP.Minos.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Minos.HighACC,{
  329.             ammo="Ginsen",
  330.             neck="Iqabi Necklace",
  331.             ear1="Steelflash Earring",
  332.             ear2="Bladeborn Earring",          
  333.             body="Mes. Haubergeon",
  334.             hands="Buremte Gloves",
  335.             ring1="Mars's Ring",
  336.             waist="Anguinus Belt",
  337.             feet="Whirlpool Greaves"})
  338.            
  339.            
  340.     -- Ragnarok TP Sets --
  341.     sets.TP.Ragnarok = {
  342.             main="Ragnarok",
  343.             sub="Duplus Grip",
  344.             ammo="Yetshila",
  345.             head="Felistris Mask",
  346.             neck="Portus Collar",
  347.             ear1="Tripudio Earring",
  348.             ear2="Brutal Earring",
  349.             body="Xaddi Mail",
  350.             hands="Xaddi Gauntlets",
  351.             ring1="Rajas Ring",
  352.             ring2="K'ayres Ring",
  353.             back="Mauler's Mantle",
  354.             waist="Windbuffet Belt",
  355.             legs="Agoge Cuisses +1",
  356.             feet="Pumm. Calligae +1"}
  357.     sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{
  358.             head="Yaoyotl Helm",
  359.             ring2="Patricius Ring",
  360.             legs="Pumm. Cuisses +1",
  361.             feet="Ejekamal Boots"})
  362.     sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{
  363.             ammo="Ginsen",
  364.             neck="Iqabi Necklace",
  365.             ear1="Steelflash Earring",
  366.             ear2="Bladeborn Earring",
  367.             body="Mes. Haubergeon",
  368.             waist="Anguinus Belt",
  369.             feet="Whirlpool Greaves"})
  370.  
  371.     -- Ragnarok(Restraint) TP Sets --
  372.     sets.TP.Ragnarok.Restraint = set_combine(sets.TP.Ragnarok,{
  373.             main="Ragnarok",
  374.             sub="Duplus Grip",
  375.             ammo="Yetshila",
  376.             head="Felistris Mask",
  377.             neck="Portus Collar",
  378.             ear1="Tripudio Earring",
  379.             ear2="Brutal Earring",
  380.             body="Xaddi Mail",
  381.             hands="Xaddi Gauntlets",
  382.             ring1="Rajas Ring",
  383.             ring2="K'ayres Ring",
  384.             back="Mauler's Mantle",
  385.             waist="Windbuffet Belt",
  386.             legs="Agoge Cuisses +1",
  387.             feet="Pumm. Calligae +1"})
  388.     sets.TP.Ragnarok.MidACC.Restraint = set_combine(sets.TP.Ragnarok.MidACC,{
  389.             head="Yaoyotl Helm",
  390.             ring2="Patricius Ring",
  391.             legs="Pumm. Cuisses +1",
  392.             feet="Ejekamal Boots"})
  393.     sets.TP.Ragnarok.HighACC.Restraint = set_combine(sets.TP.Ragnarok.HighACC,{
  394.             ammo="Ginsen",
  395.             neck="Iqabi Necklace",
  396.             ear1="Steelflash Earring",
  397.             ear2="Bladeborn Earring",
  398.             body="Mes. Haubergeon",
  399.             waist="Anguinus Belt",
  400.             feet="Whirlpool Greaves"})
  401.  
  402.     -- Ragnarok(Ionis) TP Sets --
  403.     sets.TP.Ragnarok.Ionis = set_combine(sets.TP.Ragnarok,{
  404.             main="Ragnarok",
  405.             sub="Duplus Grip",
  406.             ammo="Yetshila",
  407.             head="Felistris Mask",
  408.             neck="Portus Collar",
  409.             ear1="Tripudio Earring",
  410.             ear2="Brutal Earring",
  411.             body="Xaddi Mail",
  412.             hands="Xaddi Gauntlets",
  413.             ring1="Rajas Ring",
  414.             ring2="K'ayres Ring",
  415.             back="Mauler's Mantle",
  416.             waist="Windbuffet Belt",
  417.             legs="Agoge Cuisses +1",
  418.             feet="Pumm. Calligae +1"})
  419.     sets.TP.Ragnarok.MidACC.Ionis = set_combine(sets.TP.Ragnarok.MidACC,{
  420.             head="Yaoyotl Helm",
  421.             ring2="Patricius Ring",
  422.             legs="Pumm. Cuisses +1",
  423.             feet="Ejekamal Boots"})
  424.     sets.TP.Ragnarok.HighACC.Ionis = set_combine(sets.TP.Ragnarok.HighACC,{
  425.             ammo="Ginsen",
  426.             neck="Iqabi Necklace",
  427.             ear1="Steelflash Earring",
  428.             ear2="Bladeborn Earring",
  429.             body="Mes. Haubergeon",
  430.             waist="Anguinus Belt",
  431.             feet="Whirlpool Greaves"})
  432.  
  433.     -- Ragnarok(Restraint + Ionis) TP Sets --
  434.     sets.TP.Ragnarok.Restraint.Ionis = set_combine(sets.TP.Ragnarok,{
  435.             main="Ragnarok",
  436.             sub="Duplus Grip",
  437.             ammo="Yetshila",
  438.             head="Felistris Mask",
  439.             neck="Portus Collar",
  440.             ear1="Tripudio Earring",
  441.             ear2="Brutal Earring",
  442.             body="Xaddi Mail",
  443.             hands="Xaddi Gauntlets",
  444.             ring1="Rajas Ring",
  445.             ring2="K'ayres Ring",
  446.             back="Mauler's Mantle",
  447.             waist="Windbuffet Belt",
  448.             legs="Agoge Cuisses +1",
  449.             feet="Pumm. Calligae +1"})
  450.     sets.TP.Ragnarok.MidACC.Restraint.Ionis = set_combine(sets.TP.Ragnarok.MidACC,{
  451.             head="Yaoyotl Helm",
  452.             ring2="Patricius Ring",
  453.             legs="Pumm. Cuisses +1",
  454.             feet="Ejekamal Boots"})
  455.     sets.TP.Ragnarok.HighACC.Restraint.Ionis = set_combine(sets.TP.Ragnarok.HighACC,{
  456.             ammo="Ginsen",
  457.             neck="Iqabi Necklace",
  458.             ear1="Steelflash Earring",
  459.             ear2="Bladeborn Earring",
  460.             body="Mes. Haubergeon",
  461.             waist="Anguinus Belt",
  462.             feet="Whirlpool Greaves"})
  463.  
  464.     -- Ragnarok(SAM Roll) TP Sets --
  465.     sets.TP.Ragnarok.STP = set_combine(sets.TP.Ragnarok,{
  466.             main="Ragnarok",
  467.             sub="Duplus Grip",
  468.             ammo="Yetshila",
  469.             head="Felistris Mask",
  470.             neck="Portus Collar",
  471.             ear1="Steelflash Earring",
  472.             ear2="Bladeborn Earring",
  473.             body="Xaddi Mail",
  474.             hands="Xaddi Gauntlets",
  475.             ring1="Rajas Ring",
  476.             ring2="K'ayres Ring",
  477.             back="Mauler's Mantle",
  478.             waist="Windbuffet Belt",
  479.             legs="Agoge Cuisses +1",
  480.             feet="Pumm. Calligae +1"})
  481.     sets.TP.Ragnarok.MidACC.STP = set_combine(sets.TP.Ragnarok.MidACC,{
  482.             head="Yaoyotl Helm",
  483.             ring2="Patricius Ring",
  484.             legs="Pumm. Cuisses +1",
  485.             feet="Ejekamal Boots"})
  486.     sets.TP.Ragnarok.HighACC.STP = set_combine(sets.TP.Ragnarok.HighACC,{
  487.             ammo="Ginsen",
  488.             neck="Iqabi Necklace",
  489.             body="Mes. Haubergeon",
  490.             waist="Anguinus Belt",
  491.             feet="Whirlpool Greaves"})
  492.  
  493.     -- Ragnarok(Restraint + SAM Roll) TP Sets --
  494.     sets.TP.Ragnarok.Restraint.STP = set_combine(sets.TP.Ragnarok,{
  495.             main="Ragnarok",
  496.             sub="Duplus Grip",
  497.             ammo="Yetshila",
  498.             head="Felistris Mask",
  499.             neck="Portus Collar",
  500.             ear1="Steelflash Earring",
  501.             ear2="Bladeborn Earring",
  502.             body="Xaddi Mail",
  503.             hands="Xaddi Gauntlets",
  504.             ring1="Rajas Ring",
  505.             ring2="K'ayres Ring",
  506.             back="Mauler's Mantle",
  507.             waist="Windbuffet Belt",
  508.             legs="Agoge Cuisses +1",
  509.             feet="Pumm. Calligae +1"})
  510.     sets.TP.Ragnarok.MidACC.Restraint.STP = set_combine(sets.TP.Ragnarok.MidACC,{
  511.             head="Yaoyotl Helm",
  512.             ring2="Patricius Ring",
  513.             legs="Pumm. Cuisses +1",
  514.             feet="Ejekamal Boots"})
  515.     sets.TP.Ragnarok.HighACC.Restraint.STP = set_combine(sets.TP.Ragnarok.HighACC,{
  516.             ammo="Ginsen",
  517.             neck="Iqabi Necklace",
  518.             body="Mes. Haubergeon",
  519.             waist="Anguinus Belt",
  520.             feet="Whirlpool Greaves"})
  521.  
  522.     -- Ragnarok(Ionis + SAM Roll) TP Sets --
  523.     sets.TP.Ragnarok.Ionis.STP = set_combine(sets.TP.Ragnarok,{
  524.             main="Ragnarok",
  525.             sub="Duplus Grip",
  526.             ammo="Yetshila",
  527.             head="Felistris Mask",
  528.             neck="Portus Collar",
  529.             ear1="Steelflash Earring",
  530.             ear2="Bladeborn Earring",
  531.             body="Xaddi Mail",
  532.             hands="Xaddi Gauntlets",
  533.             ring1="Rajas Ring",
  534.             ring2="K'ayres Ring",
  535.             back="Mauler's Mantle",
  536.             waist="Windbuffet Belt",
  537.             legs="Agoge Cuisses +1",
  538.             feet="Pumm. Calligae +1"})
  539.     sets.TP.Ragnarok.MidACC.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC,{
  540.             head="Yaoyotl Helm",
  541.             ring2="Patricius Ring",
  542.             legs="Pumm. Cuisses +1",
  543.             feet="Ejekamal Boots"})
  544.     sets.TP.Ragnarok.HighACC.Ionis.STP = set_combine(sets.TP.Ragnarok.HighACC,{
  545.             ammo="Ginsen",
  546.             neck="Iqabi Necklace",
  547.             body="Mes. Haubergeon",
  548.             waist="Anguinus Belt",
  549.             feet="Whirlpool Greaves"})
  550.  
  551.     -- Ragnarok(Restraint + Ionis + SAM Roll) TP Sets --
  552.     sets.TP.Ragnarok.Restraint.Ionis.STP = set_combine(sets.TP.Ragnarok,{
  553.             main="Ragnarok",
  554.             sub="Duplus Grip",
  555.             ammo="Yetshila",
  556.             head="Felistris Mask",
  557.             neck="Portus Collar",
  558.             ear1="Steelflash Earring",
  559.             ear2="Bladeborn Earring",
  560.             body="Xaddi Mail",
  561.             hands="Xaddi Gauntlets",
  562.             ring1="Rajas Ring",
  563.             ring2="K'ayres Ring",
  564.             back="Mauler's Mantle",
  565.             waist="Windbuffet Belt",
  566.             legs="Agoge Cuisses +1",
  567.             feet="Pumm. Calligae +1"})
  568.     sets.TP.Ragnarok.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC,{
  569.             head="Yaoyotl Helm",
  570.             ring2="Patricius Ring",
  571.             legs="Pumm. Cuisses +1",
  572.             feet="Ejekamal Boots"})
  573.     sets.TP.Ragnarok.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Ragnarok.HighACC,{
  574.             ammo="Ginsen",
  575.             neck="Iqabi Necklace",
  576.             body="Mes. Haubergeon",
  577.             waist="Anguinus Belt",
  578.             feet="Whirlpool Greaves"})
  579.  
  580.     -- Emxgha TP Sets --
  581.     sets.TP.Emxgha = {
  582.             main="Emxgha",
  583.             sub="Emxgha",
  584.             ammo="Yetshila",
  585.             head="Felistris Mask",
  586.             neck="Asperity Necklace",
  587.             ear1="Suppanomimi",
  588.             ear2="Brutal Earring",
  589.             body="Xaddi Mail",
  590.             hands="Xaddi Gauntlets",
  591.             ring1="Rajas Ring",
  592.             ring2="K'ayres Ring",
  593.             back="Mauler's Mantle",
  594.             waist="Patentia Sash",
  595.             legs="Agoge Cuisses +1",
  596.             feet="Pumm. Calligae +1"}
  597.     sets.TP.Emxgha.MidACC = set_combine(sets.TP.Emxgha,{
  598.             head="Yaoyotl Helm",
  599.             ring2="Patricius Ring",
  600.             feet="Ejekamal Boots"})
  601.     sets.TP.Emxgha.HighACC = set_combine(sets.TP.Emxgha.MidACC,{
  602.             ammo="Ginsen",
  603.             neck="Iqabi Necklace",
  604.             ear1="Dudgeon Earring",
  605.             ear2="Heartseeker Earring",
  606.             body="Mes. Haubergeon",
  607.             ring1="Mars's Ring",
  608.             waist="Anguinus Belt",
  609.             legs="Pumm. Cuisses +1",
  610.             feet="Whirlpool Greaves"})
  611.  
  612.     -- Emxgha TP Sets --
  613.     sets.TP.Emxgha.Restraint = set_combine(sets.TP.Emxgha,{
  614.             main="Emxgha",
  615.             sub="Emxgha",
  616.             ammo="Yetshila",
  617.             head="Felistris Mask",
  618.             neck="Asperity Necklace",
  619.             ear1="Suppanomimi",
  620.             ear2="Brutal Earring",
  621.             body="Xaddi Mail",
  622.             hands="Xaddi Gauntlets",
  623.             ring1="Rajas Ring",
  624.             ring2="K'ayres Ring",
  625.             back="Mauler's Mantle",
  626.             waist="Patentia Sash",
  627.             legs="Agoge Cuisses +1",
  628.             feet="Pumm. Calligae +1"})
  629.     sets.TP.Emxgha.MidACC.Restraint = set_combine(sets.TP.Emxgha.Restraint,{
  630.             head="Yaoyotl Helm",
  631.             ring2="Patricius Ring",
  632.             feet="Ejekamal Boots"})
  633.     sets.TP.Emxgha.HighACC.Restraint = set_combine(sets.TP.Emxgha.MidACC.Restraint,{
  634.             ammo="Ginsen",
  635.             neck="Iqabi Necklace",
  636.             ear1="Dudgeon Earring",
  637.             ear2="Heartseeker Earring",
  638.             body="Mes. Haubergeon",
  639.             ring1="Mars's Ring",
  640.             waist="Anguinus Belt",
  641.             legs="Pumm. Cuisses +1",
  642.             feet="Whirlpool Greaves"})
  643.  
  644.     -- Emxgha(Ionis) TP Sets --
  645.     sets.TP.Emxgha.Ionis = set_combine(sets.TP.Emxgha,{
  646.             main="Emxgha",
  647.             sub="Emxgha",
  648.             ammo="Yetshila",
  649.             head="Felistris Mask",
  650.             neck="Asperity Necklace",
  651.             ear1="Suppanomimi",
  652.             ear2="Brutal Earring",
  653.             body="Xaddi Mail",
  654.             hands="Xaddi Gauntlets",
  655.             ring1="Rajas Ring",
  656.             ring2="K'ayres Ring",
  657.             back="Mauler's Mantle",
  658.             waist="Patentia Sash",
  659.             legs="Agoge Cuisses +1",
  660.             feet="Pumm. Calligae +1"})
  661.     sets.TP.Emxgha.MidACC.Ionis = set_combine(sets.TP.Emxgha.Ionis,{
  662.             head="Yaoyotl Helm",
  663.             ring2="Patricius Ring",
  664.             feet="Ejekamal Boots"})
  665.     sets.TP.Emxgha.HighACC.Ionis = set_combine(sets.TP.Emxgha.MidACC.Ionis,{
  666.             ammo="Ginsen",
  667.             neck="Iqabi Necklace",
  668.             ear1="Dudgeon Earring",
  669.             ear2="Heartseeker Earring",
  670.             body="Mes. Haubergeon",
  671.             ring1="Mars's Ring",
  672.             waist="Anguinus Belt",
  673.             legs="Pumm. Cuisses +1",
  674.             feet="Whirlpool Greaves"})
  675.  
  676.     -- Emxgha(Restraint + Ionis) TP Sets --
  677.     sets.TP.Emxgha.Restraint.Ionis = set_combine(sets.TP.Emxgha.Restraint,{
  678.             main="Emxgha",
  679.             sub="Emxgha",
  680.             ammo="Yetshila",
  681.             head="Felistris Mask",
  682.             neck="Asperity Necklace",
  683.             ear1="Suppanomimi",
  684.             ear2="Brutal Earring",
  685.             body="Xaddi Mail",
  686.             hands="Xaddi Gauntlets",
  687.             ring1="Rajas Ring",
  688.             ring2="K'ayres Ring",
  689.             back="Mauler's Mantle",
  690.             waist="Patentia Sash",
  691.             legs="Agoge Cuisses +1",
  692.             feet="Pumm. Calligae +1"})
  693.     sets.TP.Emxgha.MidACC.Restraint.Ionis = set_combine(sets.TP.Emxgha.Restraint.Ionis,{
  694.             head="Yaoyotl Helm",
  695.             ring2="Patricius Ring",
  696.             feet="Ejekamal Boots"})
  697.     sets.TP.Emxgha.HighACC.Restraint.Ionis = set_combine(sets.TP.Emxgha.MidACC.Restraint.Ionis,{
  698.             ammo="Ginsen",
  699.             neck="Iqabi Necklace",
  700.             ear1="Dudgeon Earring",
  701.             ear2="Heartseeker Earring",
  702.             body="Mes. Haubergeon",
  703.             ring1="Mars's Ring",
  704.             waist="Anguinus Belt",
  705.             legs="Pumm. Cuisses +1",
  706.             feet="Whirlpool Greaves"})
  707.  
  708.     -- Emxgha(SAM Roll) TP Sets --
  709.     sets.TP.Emxgha.STP = set_combine(sets.TP.Emxgha,{
  710.             main="Emxgha",
  711.             sub="Emxgha",
  712.             ammo="Yetshila",
  713.             head="Felistris Mask",
  714.             neck="Asperity Necklace",
  715.             ear1="Suppanomimi",
  716.             ear2="Brutal Earring",
  717.             body="Xaddi Mail",
  718.             hands="Xaddi Gauntlets",
  719.             ring1="Rajas Ring",
  720.             ring2="K'ayres Ring",
  721.             back="Mauler's Mantle",
  722.             waist="Patentia Sash",
  723.             legs="Agoge Cuisses +1",
  724.             feet="Pumm. Calligae +1"})
  725.     sets.TP.Emxgha.MidACC.STP = set_combine(sets.TP.Emxgha.MidACC,{
  726.             head="Yaoyotl Helm",
  727.             ring2="Patricius Ring",
  728.             feet="Ejekamal Boots"})
  729.     sets.TP.Emxgha.HighACC.STP = set_combine(sets.TP.Emxgha.HighACC,{
  730.             ammo="Ginsen",
  731.             neck="Iqabi Necklace",
  732.             ear1="Dudgeon Earring",
  733.             ear2="Heartseeker Earring",
  734.             body="Mes. Haubergeon",
  735.             ring1="Mars's Ring",
  736.             waist="Anguinus Belt",
  737.             legs="Pumm. Cuisses +1",
  738.             feet="Whirlpool Greaves"})
  739.  
  740.     -- Emxgha(Restraint + SAM Roll) TP Sets --
  741.     sets.TP.Emxgha.Restraint.STP = set_combine(sets.TP.Emxgha,{
  742.             main="Emxgha",
  743.             sub="Emxgha",
  744.             ammo="Yetshila",
  745.             head="Felistris Mask",
  746.             neck="Asperity Necklace",
  747.             ear1="Suppanomimi",
  748.             ear2="Brutal Earring",
  749.             body="Xaddi Mail",
  750.             hands="Xaddi Gauntlets",
  751.             ring1="Rajas Ring",
  752.             ring2="K'ayres Ring",
  753.             back="Mauler's Mantle",
  754.             waist="Patentia Sash",
  755.             legs="Agoge Cuisses +1",
  756.             feet="Pumm. Calligae +1"})
  757.     sets.TP.Emxgha.MidACC.Restraint.STP = set_combine(sets.TP.Emxgha.MidACC,{
  758.             head="Yaoyotl Helm",
  759.             ring2="Patricius Ring",
  760.             feet="Ejekamal Boots"})
  761.     sets.TP.Emxgha.HighACC.Restraint.STP = set_combine(sets.TP.Emxgha.HighACC,{
  762.             ammo="Ginsen",
  763.             neck="Iqabi Necklace",
  764.             ear1="Dudgeon Earring",
  765.             ear2="Heartseeker Earring",
  766.             body="Mes. Haubergeon",
  767.             ring1="Mars's Ring",
  768.             waist="Anguinus Belt",
  769.             legs="Pumm. Cuisses +1",
  770.             feet="Whirlpool Greaves"})
  771.  
  772.     -- Emxgha(Ionis + SAM Roll) TP Sets --
  773.     sets.TP.Emxgha.Ionis.STP = set_combine(sets.TP.Emxgha,{
  774.             main="Emxgha",
  775.             sub="Emxgha",
  776.             ammo="Yetshila",
  777.             head="Felistris Mask",
  778.             neck="Asperity Necklace",
  779.             ear1="Suppanomimi",
  780.             ear2="Brutal Earring",
  781.             body="Xaddi Mail",
  782.             hands="Xaddi Gauntlets",
  783.             ring1="Rajas Ring",
  784.             ring2="K'ayres Ring",
  785.             back="Mauler's Mantle",
  786.             waist="Patentia Sash",
  787.             legs="Agoge Cuisses +1",
  788.             feet="Pumm. Calligae +1"})
  789.     sets.TP.Emxgha.MidACC.Ionis.STP = set_combine(sets.TP.Emxgha.MidACC,{
  790.             head="Yaoyotl Helm",
  791.             ring2="Patricius Ring",
  792.             feet="Ejekamal Boots"})
  793.     sets.TP.Emxgha.HighACC.Ionis.STP = set_combine(sets.TP.Emxgha.HighACC,{
  794.             ammo="Ginsen",
  795.             neck="Iqabi Necklace",
  796.             ear1="Dudgeon Earring",
  797.             ear2="Heartseeker Earring",
  798.             body="Mes. Haubergeon",
  799.             ring1="Mars's Ring",
  800.             waist="Anguinus Belt",
  801.             legs="Pumm. Cuisses +1",
  802.             feet="Whirlpool Greaves"})
  803.  
  804.     -- Emxgha(Restraint + Ionis + SAM Roll) TP Sets --
  805.     sets.TP.Emxgha.Restraint.Ionis.STP = set_combine(sets.TP.Emxgha,{
  806.             main="Emxgha",
  807.             sub="Emxgha",
  808.             ammo="Yetshila",
  809.             head="Felistris Mask",
  810.             neck="Asperity Necklace",
  811.             ear1="Suppanomimi",
  812.             ear2="Brutal Earring",
  813.             body="Xaddi Mail",
  814.             hands="Xaddi Gauntlets",
  815.             ring1="Rajas Ring",
  816.             ring2="K'ayres Ring",
  817.             back="Mauler's Mantle",
  818.             waist="Patentia Sash",
  819.             legs="Agoge Cuisses +1",
  820.             feet="Pumm. Calligae +1"})
  821.     sets.TP.Emxgha.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Emxgha.MidACC,{
  822.             head="Yaoyotl Helm",
  823.             ring2="Patricius Ring",
  824.             feet="Ejekamal Boots"})
  825.     sets.TP.Emxgha.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Emxgha.HighACC,{
  826.             ammo="Ginsen",
  827.             neck="Iqabi Necklace",
  828.             ear1="Dudgeon Earring",
  829.             ear2="Heartseeker Earring",
  830.             body="Mes. Haubergeon",
  831.             ring1="Mars's Ring",
  832.             waist="Anguinus Belt",
  833.             legs="Pumm. Cuisses +1",
  834.             feet="Whirlpool Greaves"})
  835.  
  836.     -- MS TP Set --
  837.     sets.TP.MS = {
  838.             -- sub="Brave Grip",
  839.             ammo="Yetshila",
  840.             back="Cavaros Mantle",
  841.             feet="Huginn Gambieras"}
  842.  
  843.     -- Retaliation Set --
  844.     sets.TP.Retaliation = {hands="Pumm. Mufflers +1"}
  845.  
  846.     -- AM3 Rancor ON Mantle --
  847.     sets.TP.Rancor = {back="Rancorous Mantle"}
  848.  
  849.     -- PDT/MDT Sets --
  850.     sets.PDT = {
  851.             ammo="Angha Gem",
  852.             head="Cizin Helm +1",
  853.             neck="Twilight Torque",
  854.             ear1="Steelflash Earring",
  855.             ear2="Bladeborn Earring",
  856.             body="Mekira Meikogai",
  857.             hands="Shab. Gauntlets +1",
  858.             ring1="Defending Ring",
  859.             ring2="Patricius Ring",
  860.             back="Shadow Mantle",
  861.             waist="Flume Belt",
  862.             legs="Cizin Breeches +1",
  863.             feet="Cizin Greaves +1"}
  864.  
  865.     sets.MDT = set_combine(sets.PDT,{
  866.             ammo="Vanir Battery",
  867.             body="Nocturnus Mail",
  868.             ear2="Sanare Earring",
  869.             Ring2="Shadow Ring",
  870.             back="Engulfer Cape"})
  871.  
  872.     -- Hybrid/Kiting Sets --
  873.     sets.TP.Hybrid = set_combine(sets.PDT,{})
  874.     sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  875.     sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  876.  
  877.     sets.Kiting = set_combine(sets.PDT,{feet="Hermes' Sandals"})
  878.  
  879.     -- WS Base Set --
  880.     sets.WS = {
  881.             ammo="Ravager's Orb",
  882.             head="Felistris Mask",
  883.             neck="Portus Collar",
  884.             ear1="Moonshade Earring",
  885.             ear2="Brutal Earring",
  886.             body="Pumm. Lorica +1",
  887.             body="Mes. Haubergeon",
  888.             hands="Pumm. Mufflers +1",
  889.             ring1="Pyrosoul Ring",
  890.             ring2="Pyrosoul Ring",
  891.             back="Mauler's Mantle",
  892.             waist="Windbuffet Belt",
  893.             legs="Agoge Cuisses +1",
  894.             feet="Pumm. Calligae +1"}
  895.  
  896.     -- Resolution Sets --
  897.     sets.WS.Resolution = {
  898.             ammo="Ravager's Orb",
  899.             head="Otomi Helm",
  900.             neck="Breeze Gorget",
  901.             ear1="Moonshade Earring",
  902.             ear2="Brutal Earring",
  903.             body="Mes. Haubergeon",
  904.             hands="Pumm. Mufflers +1",
  905.             ring1="Pyrosoul Ring",
  906.             ring2="Pyrosoul Ring",
  907.             back="Mauler's Mantle",
  908.             waist="Breeze Belt",
  909.             legs="Agoge Cuisses +1",
  910.             feet="Pumm. Calligae +1"}
  911.     sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{
  912.             head="Yaoyotl Helm",
  913.             hands="Xaddi Gauntlets",
  914.             ring1="Rajas Ring",
  915.             legs="Pumm. Cuisses +1"})
  916.     sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{
  917.             ammo="Ginsen",
  918.             ring1="Candent Ring",
  919.             feet="Whirlpool Greaves"})
  920.  
  921.     -- Ukko's Fury Sets --
  922.     sets.WS["Ukko's Fury"] = {
  923.             ammo="Yetshila",
  924.             head="Otomi Helm",
  925.             neck="Breeze Gorget",
  926.             ear1="Moonshade Earring",
  927.             ear2="Brutal Earring",
  928.             body="Phorcys Korazin",
  929.             hands="Hct. Mittens +1",
  930.             ring1="Rajas Ring",
  931.             ring2="Pyrosoul Ring",
  932.             back="Rancorous Mantle",
  933.             waist="Breeze Belt",
  934.             legs="Agoge Cuisses +1",
  935.             feet="Hrafn Gambieras"}
  936.     sets.WS["Ukko's Fury"].MidACC = set_combine(sets.WS["Ukko's Fury"],{
  937.             head="Yaoyotl Helm",
  938.             body="Mes. Haubergeon",
  939.             hands="Xaddi Gauntlets",
  940.             legs="Pumm. Cuisses +1"})
  941.     sets.WS["Ukko's Fury"].HighACC = set_combine(sets.WS["Ukko's Fury"].MidACC,{
  942.             ammo="Ginsen",
  943.             ring2="Mars's Ring",
  944.             back="Mauler's Mantle",
  945.             waist="Anguinus Belt",
  946.             feet="Whirlpool Greaves"})
  947.  
  948.     -- Ukko's Fury(Attack) Set --
  949.     sets.WS["Ukko's Fury"].ATT = set_combine(sets.WS["Ukko's Fury"],{})
  950.  
  951.     -- Ruinator Set --
  952.     sets.WS.Ruinator = {
  953.             ammo="Ravager's Orb",
  954.             head="Otomi Helm",
  955.             neck="Breeze Gorget",
  956.             ear1="Steelflash Earring",
  957.             ear2="Bladeborn Earring",
  958.             body="Mes. Haubergeon",
  959.             hands="Pumm. Mufflers +1",
  960.             ring1="Pyrosoul Ring",
  961.             ring2="Pyrosoul Ring",
  962.             back="Mauler's Mantle",
  963.             waist="Breeze Belt",
  964.             legs="Agoge Cuisses +1",
  965.             feet="Ejekamal Boots"}
  966.     sets.WS.Ruinator.MidACC  = set_combine(sets.WS.Ruinator,{
  967.             hands="Miki. Gauntlets",
  968.             legs="Pumm. Cuisses +1"})
  969.     sets.WS.Ruinator.HighACC = set_combine(sets.WS.Ruinator.MidACC ,{
  970.             ammo="Ginsen",
  971.             head="Yaoyotl Helm",
  972.             ring1="Candent Ring",
  973.             legs="Miki. Cuisses",
  974.             feet="Whirlpool Greaves"})
  975.  
  976.     -- Fell Cleave Set --
  977.     sets.WS["Fell Cleave"] = {
  978.             ammo="Ravager's Orb",
  979.             head="Otomi Helm",
  980.             neck="Portus Collar",
  981.             ear1="Steelflash Earring",
  982.             ear2="Bladeborn Earring",
  983.             body="Mes. Haubergeon",
  984.             hands="Miki. Gauntlets",
  985.             ring1="Pyrosoul Ring",
  986.             ring2="Pyrosoul Ring",
  987.             back="Mauler's Mantle",
  988.             waist="Windbuffet Belt",
  989.             legs="Agoge Cuisses +1",
  990.             feet="Pumm. Calligae +1"}
  991.  
  992.     -- MS WS Set --
  993.     sets.MS_WS = {
  994.             ammo="Yetshila",
  995.             hands="Hct. Mittens +1",
  996.             back="Cavaros Mantle",
  997.             feet="Hrafn Gambieras"}
  998.  
  999.     -- JA Sets --
  1000.     sets.JA = {}
  1001.     sets.JA.Berserk = {body="Pumm. Lorica +1",feet="Agoge Calligae"}
  1002.     sets.JA.Aggressor = {head="Pumm. Mask +1",body="Agoge Lorica"}
  1003.     sets.JA["Blood Rage"] = {body="Rvg. Lorica +2"}
  1004.     sets.JA.Warcry = {head="Agoge Mask"}
  1005.     sets.JA.Tomahawk = {ammo="Thr. Tomahawk",feet="Agoge Calligae"}
  1006.     sets.JA["Mighty Strikes"] = {hands="Agoge Mufflers"}
  1007.  
  1008.     -- Waltz Set --
  1009.     sets.Waltz = {
  1010.             ammo="Angha Gem",
  1011.             head="Pumm. Mask +1",
  1012.             neck="Twilight Torque",
  1013.             body="Pumm. Lorica +1",
  1014.             hands="Pumm. Mufflers +1",
  1015.             ring1="Defending Ring",
  1016.             ring2="Patricius Ring",
  1017.             back="Shadow Mantle",
  1018.             waist="Flume Belt",
  1019.             legs="Pumm. Cuisses +1",
  1020.             feet="Pumm. Calligae+1"}
  1021.  
  1022.     sets.Precast = {}
  1023.     -- Fastcast Set --
  1024.     sets.Precast.FastCast = {          
  1025.             ammo="Impatiens",
  1026.             head="Cizin Helm +1",
  1027.             neck="Orunmila's Torque",
  1028.             ear1="Loquac. Earring",
  1029.             ear2="Darkness Earring",
  1030.             body="Nuevo Coselete",
  1031.             hands="Shab. Gauntlets +1",
  1032.             ring1="Veneficium Ring",
  1033.             ring2="Prolix Ring",
  1034.             back="Repulse Mantle",
  1035.             waist="Cetl Belt",
  1036.             legs="Cizin Breeches +1",
  1037.             feet="Cizin Greaves +1"}
  1038.            
  1039.     -- Midcast Base Set --
  1040.     sets.Midcast = {           
  1041.             ammo="Impatiens",
  1042.             head="Cizin Helm +1",
  1043.             neck="Twilight Torque",
  1044.             ear1="Loquac. Earring",
  1045.             ear2="Darkness Earring",
  1046.             body="Nuevo Coselete",
  1047.             hands="Shab. Gauntlets +1",
  1048.             ring1="Defending Ring",
  1049.             ring2="Prolix Ring",
  1050.             back="Repulse Mantle",
  1051.             waist="Cetl Belt",
  1052.             legs="Cizin Breeches +1",
  1053.             feet="Cizin Greaves +1"}
  1054.    
  1055.     -- Magic Haste Set --
  1056.     sets.Midcast.Haste = set_combine(sets.PDT,{        
  1057.             ammo="Impatiens",
  1058.             head="Cizin Helm +1",
  1059.             neck="Twilight Torque",
  1060.             ear1="Loquac. Earring",
  1061.             ear2="Darkness Earring",
  1062.             body="Nuevo Coselete",
  1063.             hands="Shab. Gauntlets +1",
  1064.             ring1="Defending Ring",
  1065.             ring2="Prolix Ring",
  1066.             back="Repulse Mantle",
  1067.             waist="Cetl Belt",
  1068.             legs="Cizin Breeches +1",
  1069.             feet="Cizin Greaves +1"})
  1070. end
  1071.  
  1072. function pretarget(spell,action)
  1073.     if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  1074.         cancel_spell()
  1075.         send_command('input /item "Echo Drops" <me>')
  1076.     elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  1077.         cancel_spell()
  1078.         send_command('Aggressor')
  1079.     elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  1080.         cancel_spell()
  1081.         send_command('ThirdEye')
  1082.     elseif spell.english == "Meditate" and player.tp > 2400 then -- Cancel Meditate If TP Is Above 2400 --
  1083.         cancel_spell()
  1084.         add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  1085.     elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
  1086.         cancel_spell()
  1087.         add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  1088.         return
  1089.     end
  1090. end
  1091.  
  1092. function precast(spell,action)
  1093.     if spell.type == "WeaponSkill" then
  1094.         if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  1095.             cancel_spell()
  1096.             add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  1097.             return
  1098.         else
  1099.             equipSet = sets.WS
  1100.             if equipSet[spell.english] then
  1101.                 equipSet = equipSet[spell.english]
  1102.             end
  1103.             if Attack == 'ON' then
  1104.                 equipSet = equipSet["ATT"]
  1105.             end
  1106.             if equipSet[AccArray[AccIndex]] then
  1107.                 equipSet = equipSet[AccArray[AccIndex]]
  1108.             end
  1109.             if buffactive["Mighty Strikes"] then -- Equip MS_WS Set When You Have Mighty Strikes On --
  1110.                 equipSet = set_combine(equipSet,sets.MS_WS)
  1111.             end
  1112.             if spell.english == "Ukko's Fury" and buffactive['Blood Rage'] and BloodRage == "ON" then -- Use Hct. Mittens +1 Toggle For Normal Ukko's Fury Hands --
  1113.                 equipSet = set_combine(equipSet,{hands="Hct. Mittens +1"})
  1114.             end
  1115.             if spell.english == "Upheaval" and world.day_element == 'Dark' then -- Equip Shadow Mantle On Darksday For Upheaval --
  1116.                 equipSet = set_combine(equipSet,{back="Shadow Mantle"})
  1117.             end
  1118.             if player.tp > 2999 or buffactive.Sekkanoki then -- Equip DA Earrings When You Have 300 TP or Sekkanoki --
  1119.                 equipSet = set_combine(equipSet,{ear1="Steelflash Earring",ear2="Bladeborn Earring"})
  1120.             end
  1121.             equip(equipSet)
  1122.         end
  1123.     elseif spell.type == "JobAbility" then
  1124.         if sets.JA[spell.english] then
  1125.             equip(sets.JA[spell.english])
  1126.         end
  1127.     elseif spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  1128.         if string.find(spell.english,'Utsusemi') then -- Cancel Utsusemi If You Have 3+ Shadows Up --
  1129.             if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  1130.                 cancel_spell()
  1131.                 add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
  1132.                 return
  1133.             else
  1134.                 equip(sets.Precast.FastCast)
  1135.             end
  1136.         else
  1137.             equip(sets.Precast.FastCast)
  1138.         end
  1139.     elseif spell.type == "Waltz" then
  1140.         refine_waltz(spell,action)
  1141.         equip(sets.Waltz)
  1142.     elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  1143.         cast_delay(0.2)
  1144.         send_command('cancel Sneak')
  1145.     end
  1146.     if Twilight == 'Twilight' then
  1147.         equip(sets.Twilight)
  1148.     end
  1149. end
  1150.  
  1151. function midcast(spell,action)
  1152.     if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  1153.         if string.find(spell.english,'Utsusemi') then
  1154.             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then -- Cancel Copy Image 1 & 2 For Utsusemi: Ichi --
  1155.                 send_command('@wait 1.7;cancel Copy Image*')
  1156.             end
  1157.             equip(sets.Midcast.Haste)
  1158.         elseif spell.english == 'Monomi: Ichi' then -- Cancel Sneak --
  1159.             if buffactive['Sneak'] then
  1160.                 send_command('@wait 1.7;cancel sneak')
  1161.             end
  1162.             equip(sets.Midcast.Haste)
  1163.         else
  1164.             equip(sets.Midcast.Haste)
  1165.         end
  1166.     end
  1167. end
  1168.  
  1169. function aftercast(spell,action)
  1170.     if not spell.interrupted then
  1171.         if spell.type == "WeaponSkill" then
  1172.             send_command('wait 0.2;gs c TP')
  1173.         elseif spell.english == "Blood Rage" then -- Blood Rage Timer/Countdown --
  1174.             timer_blood_rage()
  1175.             send_command('wait 50;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
  1176.         elseif spell.english == "Tomahawk" then -- Tomahawk Timer/Countdown --
  1177.             timer_tomahawk()
  1178.             send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Tomahawk";input /p '..spell.name..': [OFF]')
  1179.         end
  1180.     end
  1181.     status_change(player.status)
  1182. end
  1183.  
  1184. function status_change(new,old)
  1185.     if Armor == 'PDT' then
  1186.         equip(sets.PDT)
  1187.     elseif Armor == 'MDT' then
  1188.         equip(sets.MDT)
  1189.     elseif Armor == 'Kiting' then
  1190.         equip(sets.Kiting)
  1191.     elseif new == 'Engaged' then
  1192.         equipSet = sets.TP
  1193.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  1194.             equipSet = equipSet["Hybrid"]
  1195.         end
  1196.         if equipSet[player.equipment.main] then
  1197.             equipSet = equipSet[player.equipment.main]
  1198.         end
  1199.         if equipSet[AccArray[AccIndex]] then
  1200.             equipSet = equipSet[AccArray[AccIndex]]
  1201.         end
  1202.         if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
  1203.             if Rancor == 'ON' then -- Default Rancor Toggle Is Rancorous Mantle --
  1204.                 equipSet = set_combine(equipSet["AM3"],sets.TP.Rancor)
  1205.             else -- Use Rancor Toggle For Atheling Mantle --
  1206.                 equipSet = equipSet["AM3"]
  1207.             end
  1208.         end
  1209.         if buffactive.Aftermath and equipSet["AM"] then
  1210.             equipSet = equipSet["AM"]
  1211.         end
  1212.         if buffactive.Restraint and equipSet["Restraint"] then -- Restraint TP Set --
  1213.             equipSet = equipSet["Restraint"]
  1214.         end
  1215.         if buffactive.Ionis and equipSet["Ionis"] then -- Ionis TP Set --
  1216.             equipSet = equipSet["Ionis"]
  1217.         end
  1218.         if buffactive["Mighty Strikes"] then -- Mighty Strikes TP Set --
  1219.             equipSet = set_combine(equipSet,sets.TP.MS)
  1220.         end
  1221.         if buffactive.Retaliation and Retaliation == 'ON' then -- Use Retaliation Toggle For Retaliation TP Set --
  1222.             equipSet = set_combine(equipSet,sets.TP.Retaliation)
  1223.         end
  1224.         equip(equipSet)
  1225.     else
  1226.         equipSet = sets.Idle
  1227.         if equipSet[IdleArray[IdleIndex]] then
  1228.             equipSet = equipSet[IdleArray[IdleIndex]]
  1229.         end
  1230.         if equipSet[WeaponArray[WeaponIndex]] then
  1231.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  1232.         end
  1233.         equip(equipSet)
  1234.     end
  1235.     if Twilight == 'Twilight' then
  1236.         equip(sets.Twilight)
  1237.     end
  1238. end
  1239.  
  1240. function buff_change(buff,gain)
  1241.     buff = string.lower(buff)
  1242.     if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  1243.         if gain then
  1244.             send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
  1245.         else
  1246.             send_command('timers delete "Aftermath: Lv.3"')
  1247.             add_to_chat(123,'AM3: [OFF]')
  1248.         end
  1249.     elseif buff == "blood rage" and not gain then
  1250.         send_command('timers delete "Blood Rage"')
  1251.     elseif buff == 'weakness' then -- Weakness Timer --
  1252.         if gain then
  1253.             send_command('timers create "Weakness" 300 up')
  1254.         else
  1255.             send_command('timers delete "Weakness"')
  1256.         end
  1257.     end
  1258.     if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
  1259.         equip({neck="Berserker's Torque"})
  1260.     else
  1261.         if not midaction() then
  1262.             status_change(player.status)
  1263.         end
  1264.     end
  1265. end
  1266.  
  1267. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  1268. function self_command(command)
  1269.     if command == 'C1' then -- Accuracy Toggle --
  1270.         AccIndex = (AccIndex % #AccArray) + 1
  1271.         add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
  1272.         status_change(player.status)
  1273.     elseif command == 'C17' then -- Main Weapon Toggle --
  1274.         WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  1275.         add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
  1276.         status_change(player.status)
  1277.     elseif command == 'C5' then -- Auto Update Gear Toggle --
  1278.         status_change(player.status)
  1279.         add_to_chat(158,'Auto Update Gear')
  1280.     elseif command == 'C2' then -- Hybrid Toggle --
  1281.         if Armor == 'Hybrid' then
  1282.             Armor = 'None'
  1283.             add_to_chat(123,'Hybrid Set: [Unlocked]')
  1284.         else
  1285.             Armor = 'Hybrid'
  1286.             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  1287.         end
  1288.         status_change(player.status)
  1289.     elseif command == 'C7' then -- PDT Toggle --
  1290.         if Armor == 'PDT' then
  1291.             Armor = 'None'
  1292.             add_to_chat(123,'PDT Set: [Unlocked]')
  1293.         else
  1294.             Armor = 'PDT'
  1295.             add_to_chat(158,'PDT Set: [Locked]')
  1296.         end
  1297.         status_change(player.status)
  1298.     elseif command == 'C15' then -- MDT Toggle --
  1299.         if Armor == 'MDT' then
  1300.             Armor = 'None'
  1301.             add_to_chat(123,'MDT Set: [Unlocked]')
  1302.         else
  1303.             Armor = 'MDT'
  1304.             add_to_chat(158,'MDT Set: [Locked]')
  1305.         end
  1306.         status_change(player.status)
  1307.     elseif command == 'C12' then -- Kiting Toggle --
  1308.         if Armor == 'Kiting' then
  1309.             Armor = 'None'
  1310.             add_to_chat(123,'Kiting Set: [Unlocked]')
  1311.         else
  1312.             Armor = 'Kiting'
  1313.             add_to_chat(158,'Kiting Set: [Locked]')
  1314.         end
  1315.         status_change(player.status)
  1316.     elseif command == 'C10' then -- Retaliation Toggle --
  1317.         if Retaliation == 'ON' then
  1318.             Retaliation = 'OFF'
  1319.             add_to_chat(123,'Retaliation Set: [Unlocked]')
  1320.         else
  1321.             Retaliation = 'ON'
  1322.             add_to_chat(158,'Retaliation Set: [Locked]')
  1323.         end
  1324.         status_change(player.status)
  1325.     elseif command == 'C16' then -- Rancor Toggle --
  1326.         if Rancor == 'ON' then
  1327.             Rancor = 'OFF'
  1328.             add_to_chat(123,'Rancor: [OFF]')
  1329.         else
  1330.             Rancor = 'ON'
  1331.             add_to_chat(158,'Rancor: [ON]')
  1332.         end
  1333.         status_change(player.status)
  1334.     elseif command == 'C11' then -- Hct. Mittens +1 Toggle --
  1335.         if BloodRage == 'ON' then
  1336.             BloodRage = 'OFF'
  1337.             add_to_chat(123,'Hct. Mittens +1: [OFF]')
  1338.         else
  1339.             BloodRage = 'ON'
  1340.             add_to_chat(158,'Hct. Mittens +1: [ON]')
  1341.         end
  1342.         status_change(player.status)
  1343.     elseif command == 'C18' then -- SAM Roll Toggle --
  1344.         if Samurai_Roll == 'ON' then
  1345.             Samurai_Roll = 'OFF'
  1346.             add_to_chat(123,'SAM Roll: [OFF]')
  1347.         else
  1348.             Samurai_Roll = 'ON'
  1349.             add_to_chat(158,'SAM Roll: [ON]')
  1350.         end
  1351.         status_change(player.status)
  1352.     elseif command == 'C9' then -- Attack Toggle --
  1353.         if Attack == 'ON' then
  1354.             Attack = 'OFF'
  1355.             add_to_chat(123,'Attack: [OFF]')
  1356.         else
  1357.             Attack = 'ON'
  1358.             add_to_chat(158,'Attack: [ON]')
  1359.         end
  1360.         status_change(player.status)
  1361.     elseif command == 'C3' then -- Twilight Toggle --
  1362.         if Twilight == 'Twilight' then
  1363.             Twilight = 'None'
  1364.             add_to_chat(123,'Twilight Set: [Unlocked]')
  1365.         else
  1366.             Twilight = 'Twilight'
  1367.             add_to_chat(158,'Twilight Set: [locked]')
  1368.         end
  1369.         status_change(player.status)
  1370.     elseif command == 'C8' then -- Distance Toggle --
  1371.         if player.target.distance then
  1372.             target_distance = math.floor(player.target.distance*10)/10
  1373.             add_to_chat(158,'Distance: '..target_distance)
  1374.         else
  1375.             add_to_chat(123,'No Target Selected')
  1376.         end
  1377.     elseif command == 'C6' then -- Idle Toggle --
  1378.         IdleIndex = (IdleIndex % #IdleArray) + 1
  1379.         add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
  1380.         status_change(player.status)
  1381.     elseif command == 'TP' then
  1382.         add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
  1383.     elseif command:match('^SC%d$') then
  1384.         send_command('//' .. sc_map[command])
  1385.     end
  1386. end
  1387.  
  1388. function timer_blood_rage()
  1389.     local duration = 60
  1390.     send_command('timers create "Blood Rage" '..tostring(duration)..' down')
  1391. end
  1392.  
  1393. function timer_tomahawk()
  1394.     local duration = 90
  1395.     send_command('timers create "Tomahawk" '..tostring(duration)..' down')
  1396. end
  1397.  
  1398. function refine_waltz(spell,action)
  1399.     if spell.type ~= 'Waltz' then
  1400.         return
  1401.     end
  1402.  
  1403.     if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
  1404.         return
  1405.     end
  1406.  
  1407.     local newWaltz = spell.english
  1408.     local waltzID
  1409.  
  1410.     local missingHP
  1411.  
  1412.     if spell.target.type == "SELF" then
  1413.         missingHP = player.max_hp - player.hp
  1414.     elseif spell.target.isallymember then
  1415.         local target = find_player_in_alliance(spell.target.name)
  1416.         local est_max_hp = target.hp / (target.hpp/100)
  1417.         missingHP = math.floor(est_max_hp - target.hp)
  1418.     end
  1419.  
  1420.     if missingHP ~= nil then
  1421.         if player.sub_job == 'DNC' then
  1422.             if missingHP < 40 and spell.target.name == player.name then
  1423.                 add_to_chat(8,'Full HP!')
  1424.                 cancel_spell()
  1425.                 return
  1426.             elseif missingHP < 150 then
  1427.                 newWaltz = 'Curing Waltz'
  1428.                 waltzID = 190
  1429.             elseif missingHP < 300 then
  1430.                 newWaltz = 'Curing Waltz II'
  1431.                 waltzID = 191
  1432.             else
  1433.                 newWaltz = 'Curing Waltz III'
  1434.                 waltzID = 192
  1435.             end
  1436.         else
  1437.             return
  1438.         end
  1439.     end
  1440.  
  1441.     local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
  1442.     local tpCost = waltzTPCost[newWaltz]
  1443.  
  1444.     local downgrade
  1445.  
  1446.     if player.tp < tpCost and not buffactive.trance then
  1447.  
  1448.         if player.tp < 20 then
  1449.             add_to_chat(8, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
  1450.             cancel_spell()
  1451.             return
  1452.         elseif player.tp < 35 then
  1453.             newWaltz = 'Curing Waltz'
  1454.         elseif player.tp < 50 then
  1455.             newWaltz = 'Curing Waltz II'
  1456.         elseif player.tp < 65 then
  1457.             newWaltz = 'Curing Waltz III'
  1458.         elseif player.tp < 80 then
  1459.             newWaltz = 'Curing Waltz IV'
  1460.         end
  1461.  
  1462.         downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
  1463.     end
  1464.  
  1465.     if newWaltz ~= spell.english then
  1466.         send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
  1467.         if downgrade then
  1468.             add_to_chat(158, downgrade)
  1469.         end
  1470.         cancel_spell()
  1471.         return
  1472.     end
  1473.  
  1474.     if missingHP > 0 then
  1475.         add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
  1476.     end
  1477. end
  1478.  
  1479. function find_player_in_alliance(name)
  1480.     for i,v in ipairs(alliance) do
  1481.         for k,p in ipairs(v) do
  1482.             if p.name == name then
  1483.                 return p
  1484.             end
  1485.         end
  1486.     end
  1487. end
  1488.  
  1489. function sub_job_change(newSubjob, oldSubjob)
  1490.     select_default_macro_book()
  1491. end
  1492.  
  1493. function set_macro_page(set,book)
  1494.     if not tonumber(set) then
  1495.         add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  1496.         return
  1497.     end
  1498.     if set < 1 or set > 10 then
  1499.         add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  1500.         return
  1501.     end
  1502.  
  1503.     if book then
  1504.         if not tonumber(book) then
  1505.             add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  1506.             return
  1507.         end
  1508.         if book < 1 or book > 20 then
  1509.             add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  1510.             return
  1511.         end
  1512.         send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  1513.     else
  1514.         send_command('@input /macro set '..tostring(set))
  1515.     end
  1516. end
  1517.  
  1518. function select_default_macro_book()
  1519.     -- Default macro set/book
  1520.     if player.sub_job == 'SAM' then
  1521.         set_macro_page(1, 16)
  1522.     elseif player.sub_job == 'DNC' then
  1523.         set_macro_page(1, 16)
  1524.     elseif player.sub_job == 'NIN' then
  1525.         set_macro_page(1, 16)
  1526.     else
  1527.         set_macro_page(1, 16)
  1528.     end
  1529. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement