Advertisement
Amadis

DRK lua

May 26th, 2014
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 41.25 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/05/14 12:00 AM *Fixed Magic Sets* --
  4.  
  5. function get_sets()
  6.     AccIndex = 1
  7.     AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid/Stun. 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 = {"Ragnarok"}
  10.     IdleIndex = 1
  11.     IdleArray = {"Regen","Refresh"} -- Default Idle Set Is Movement --
  12.     Armor = 'None'
  13.     Twilight = 'None'
  14.     Attack = 'OFF' -- Set Default Attack Set ON or OFF Here --
  15.     Mekira = 'ON' -- Set Default Mekira ON or OFF Here --
  16.     Samurai_Roll = 'ON' -- Set Default SAM Roll ON or OFF Here --
  17.     target_distance = 6 -- Set Default Distance Here --
  18.     select_default_macro_book() -- Change Default Macro Book At The End --
  19.  
  20.     sc_map = {SC1="Resolution", SC2="LastResort", SC3="Souleater"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  21.  
  22.     sets.Idle = {}
  23.     -- Idle/Town Sets --
  24.     sets.Idle.Regen = {
  25.             ammo="Iron Gobbet",
  26.             head="Twilight Helm",
  27.             neck="Wiglen Gorget",
  28.             ear1="Ethereal Earring",
  29.             ear2="Darkness Earring",
  30.             body="Ares' Cuirass +1",
  31.             hands="Shab. Gauntlets +1",
  32.             ring1="Defending Ring",
  33.             ring2="Paguroidea Ring",
  34.             back="Shadow Mantle",
  35.             waist="Flume Belt",
  36.             legs="Blood Cuisses",
  37.             feet="Cizin Greaves +1"}
  38.     sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
  39.             main="Ragnarok"})
  40.  
  41.     sets.Idle.Refresh = set_combine(sets.Idle.Regen,{
  42.             head="Wivre Hairpin",
  43.             neck="Bale Choker"})
  44.     sets.Idle.Refresh.Ragnarok = set_combine(sets.Idle.Refresh,{
  45.             main="Ragnarok"})
  46.  
  47.     sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  48.  
  49.     -- TP Base Set --
  50.     sets.TP = {
  51.             ammo="Yetshila",
  52.             head="Otomi Helm",
  53.             neck="Ganesha's Mala",
  54.             ear1="Steelflash Earring",
  55.             ear2="Bladeborn Earring",
  56.             body="Xaddi Mail",
  57.             hands="Xaddi Gauntlets",
  58.             ring1="Rajas Ring",
  59.             ring2="K'ayres Ring",
  60.             back="Atheling Mantle",
  61.             waist="Windbuffet Belt",
  62.             legs="Xaddi Cuisses",
  63.             feet="Ejekamal Boots"}
  64.    
  65.     ----------------------
  66.     -- Ragnarok TP Sets --
  67.     ----------------------
  68.     sets.TP.Ragnarok = {
  69.             ammo="Ginsen",
  70.             head="Otomi Helm",
  71.             neck="Ganesha's Mala",
  72.             ear1="Tripudio Earring",
  73.             ear2="Brutal Earring",
  74.             body="Xaddi Mail",
  75.             hands="Xaddi Gauntlets",
  76.             ring1="Rajas Ring",
  77.             ring2="K'ayres Ring",
  78.             back="Atheling Mantle",
  79.             waist="Windbuffet Belt",
  80.             legs="Xaddi Cuisses",
  81.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}}
  82.     sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{
  83.             head="Yaoyotl Helm",
  84.             ring2="Patricius Ring",
  85.             back="Letalis Mantle",
  86.             waist="Dynamic Belt +1",
  87.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  88.     sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{
  89.             neck="Iqabi Necklace",
  90.             ear1="Steelflash Earring",
  91.             ear2="Bladeborn Earring",
  92.             body="Mes. Haubergeon",
  93.             ring1="Mars's Ring",
  94.             hands="Buremte Gloves",
  95.             feet="Scamp's Sollerets"})
  96.  
  97.     -- Ragnarok(High Haste) TP Sets --
  98.     sets.TP.Ragnarok.HighHaste = set_combine(sets.TP.Ragnarok,{
  99.             ammo="Ginsen",
  100.             head="Otomi Helm",
  101.             neck="Ganesha's Mala",
  102.             ear1="Tripudio Earring",
  103.             ear2="Brutal Earring",
  104.             body="Xaddi Mail",
  105.             hands="Xaddi Gauntlets",
  106.             ring1="Rajas Ring",
  107.             ring2="K'ayres Ring",
  108.             back="Atheling Mantle",
  109.             waist="Windbuffet Belt",
  110.             legs="Xaddi Cuisses",
  111.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}})
  112.     sets.TP.Ragnarok.MidACC.HighHaste = set_combine(sets.TP.Ragnarok.HighHaste,{
  113.             head="Yaoyotl Helm",
  114.             ring2="Patricius Ring",
  115.             back="Letalis Mantle",
  116.             waist="Anguinus Belt",
  117.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  118.     sets.TP.Ragnarok.HighACC.HighHaste = set_combine(sets.TP.Ragnarok.MidACC.HighHaste,{
  119.             neck="Iqabi Necklace",
  120.             ear1="Steelflash Earring",
  121.             ear2="Bladeborn Earring",
  122.             body="Mes. Haubergeon",
  123.             ring1="Mars's Ring",
  124.             hands="Buremte Gloves",
  125.             feet="Scamp's Sollerets"})
  126.  
  127.     -- Ragnarok(Ionis) TP Sets --
  128.     sets.TP.Ragnarok.Ionis = set_combine(sets.TP.Ragnarok,{
  129.             ammo="Ginsen",
  130.             head="Otomi Helm",
  131.             neck="Ganesha's Mala",
  132.             ear1="Tripudio Earring",
  133.             ear2="Brutal Earring",
  134.             body="Xaddi Mail",
  135.             hands="Xaddi Gauntlets",
  136.             ring1="Rajas Ring",
  137.             ring2="K'ayres Ring",
  138.             back="Atheling Mantle",
  139.             waist="Windbuffet Belt",
  140.             legs="Xaddi Cuisses",
  141.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}})
  142.     sets.TP.Ragnarok.MidACC.Ionis = set_combine(sets.TP.Ragnarok.Ionis,{
  143.             head="Yaoyotl Helm",
  144.             ring2="Patricius Ring",
  145.             back="Letalis Mantle",
  146.             waist="Anguinus Belt",
  147.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  148.     sets.TP.Ragnarok.HighACC.Ionis = set_combine(sets.TP.Ragnarok.MidACC.Ionis,{
  149.             neck="Iqabi Necklace",
  150.             ear1="Steelflash Earring",
  151.             ear2="Bladeborn Earring",
  152.             body="Mes. Haubergeon",
  153.             ring1="Mars's Ring",
  154.             hands="Buremte Gloves",
  155.             feet="Scamp's Sollerets"})
  156.  
  157.     -- Ragnarok(High Haste + Ionis) TP Sets --
  158.     sets.TP.Ragnarok.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.HighHaste,{
  159.             ammo="Ginsen",
  160.             head="Otomi Helm",
  161.             neck="Ganesha's Mala",
  162.             ear1="Tripudio Earring",
  163.             ear2="Brutal Earring",
  164.             body="Xaddi Mail",
  165.             hands="Xaddi Gauntlets",
  166.             ring1="Rajas Ring",
  167.             ring2="K'ayres Ring",
  168.             back="Atheling Mantle",
  169.             waist="Windbuffet Belt",
  170.             legs="Xaddi Cuisses",
  171.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}})
  172.     sets.TP.Ragnarok.MidACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.HighHaste.Ionis,{
  173.             head="Yaoyotl Helm",
  174.             ring2="Patricius Ring",
  175.             back="Letalis Mantle",
  176.             waist="Anguinus Belt",
  177.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  178.     sets.TP.Ragnarok.HighACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.MidACC.HighHaste.Ionis,{
  179.             neck="Iqabi Necklace",
  180.             ear1="Steelflash Earring",
  181.             ear2="Bladeborn Earring",
  182.             body="Mes. Haubergeon",
  183.             ring1="Mars's Ring",
  184.             hands="Buremte Gloves",
  185.             feet="Scamp's Sollerets"}) 
  186.            
  187.     ---------------------------------------    
  188.     -- Ragnarok(SAM Roll/Regain) TP Sets --
  189.     ---------------------------------------
  190.     sets.TP.Ragnarok.STP = set_combine(sets.TP.Ragnarok,{
  191.             main="Ragnarok",
  192.             ammo="Yetshila",
  193.             head="Otomi Helm",
  194.             neck="Ganesha's Mala",
  195.             ear1="Steelflash Earring",
  196.             ear2="Bladeborn Earring",
  197.             body="Xaddi Mail",
  198.             hands="Xaddi Gauntlets",
  199.             ring1="Rajas Ring",
  200.             ring2="K'ayres Ring",
  201.             back="Atheling Mantle",
  202.             waist="Windbuffet Belt",
  203.             legs="Xaddi Cuisses",
  204.             feet="Ejekamal Boots"})
  205.     sets.TP.Ragnarok.MidACC.STP = set_combine(sets.TP.Ragnarok.STP,{
  206.             head="Yaoyotl Helm",
  207.             ring2="Patricius Ring",
  208.             back="Letalis Mantle",
  209.             feet="Whirlpool Greaves"})
  210.     sets.TP.Ragnarok.HighACC.STP = set_combine(sets.TP.Ragnarok.MidACC.STP,{
  211.             neck="Iqabi Necklace",
  212.             body="Mes. Haubergeon",
  213.             ring1="Mars's Ring",
  214.             hands="Buremte Gloves",
  215.             waist="Dynamic Belt +1",
  216.             feet="Scamp's Sollerets"})
  217.  
  218.     -- Ragnarok(High Haste + SAM Roll/Regain) TP Sets --
  219.     sets.TP.Ragnarok.HighHaste.STP = set_combine(sets.TP.Ragnarok.HighHaste,{
  220.             main="Ragnarok",
  221.             ammo="Yetshila",
  222.             head="Otomi Helm",
  223.             neck="Ganesha's Mala",
  224.             ear1="Steelflash Earring",
  225.             ear2="Bladeborn Earring",
  226.             body="Xaddi Mail",
  227.             hands="Xaddi Gauntlets",
  228.             ring1="Rajas Ring",
  229.             ring2="K'ayres Ring",
  230.             back="Atheling Mantle",
  231.             waist="Windbuffet Belt",
  232.             legs="Xaddi Cuisses",
  233.             feet="Ejekamal Boots"})
  234.     sets.TP.Ragnarok.MidACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.HighHaste.STP,{
  235.             head="Yaoyotl Helm",
  236.             ring2="Patricius Ring",
  237.             back="Letalis Mantle",
  238.             feet="Whirlpool Greaves"})
  239.     sets.TP.Ragnarok.HighACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.MidACC.HighHaste.STP,{
  240.             neck="Iqabi Necklace",
  241.             body="Mes. Haubergeon",
  242.             ring1="Mars's Ring",
  243.             hands="Buremte Gloves",
  244.             waist="Anguinus Belt",
  245.             feet="Scamp's Sollerets"})
  246.            
  247.     -- Ragnarok(Ionis + SAM Roll/Regain) TP Sets --
  248.     sets.TP.Ragnarok.Ionis.STP = set_combine(sets.TP.Ragnarok.Ionis,{
  249.             main="Ragnarok",
  250.             ammo="Yetshila",
  251.             head="Otomi Helm",
  252.             neck="Ganesha's Mala",
  253.             ear1="Steelflash Earring",
  254.             ear2="Bladeborn Earring",
  255.             body="Xaddi Mail",
  256.             hands="Xaddi Gauntlets",
  257.             ring1="Rajas Ring",
  258.             ring2="K'ayres Ring",
  259.             back="Atheling Mantle",
  260.             waist="Windbuffet Belt",
  261.             legs="Xaddi Cuisses",
  262.             feet="Ejekamal Boots"})
  263.     sets.TP.Ragnarok.MidACC.Ionis.STP = set_combine(sets.TP.Ragnarok.Ionis.STP,{
  264.             head="Yaoyotl Helm",
  265.             ring2="Patricius Ring",
  266.             back="Letalis Mantle",
  267.             feet="Whirlpool Greaves"})
  268.     sets.TP.Ragnarok.HighACC.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC.Ionis.STP,{
  269.             neck="Iqabi Necklace",
  270.             body="Mes. Haubergeon",
  271.             ring1="Mars's Ring",
  272.             hands="Buremte Gloves",
  273.             waist="Anguinus Belt",
  274.             feet="Scamp's Sollerets"})
  275.  
  276.     -- Ragnarok(High Haste + Ionis + SAM Roll/Regain) TP Sets --
  277.     sets.TP.Ragnarok.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.HighHaste,{
  278.             main="Ragnarok",
  279.             ammo="Yetshila",
  280.             head="Otomi Helm",
  281.             neck="Ganesha's Mala",
  282.             ear1="Steelflash Earring",
  283.             ear2="Bladeborn Earring",
  284.             body="Xaddi Mail",
  285.             hands="Xaddi Gauntlets",
  286.             ring1="Rajas Ring",
  287.             ring2="K'ayres Ring",
  288.             back="Atheling Mantle",
  289.             waist="Windbuffet Belt",
  290.             legs="Xaddi Cuisses",
  291.             feet="Ejekamal Boots"})
  292.     sets.TP.Ragnarok.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.HighHaste.Ionis.STP,{
  293.             head="Yaoyotl Helm",
  294.             ring2="Patricius Ring",
  295.             back="Letalis Mantle",
  296.             feet="Whirlpool Greaves"})
  297.     sets.TP.Ragnarok.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC.HighHaste.Ionis.STP,{
  298.             neck="Iqabi Necklace",
  299.             body="Mes. Haubergeon",
  300.             ring1="Mars's Ring",
  301.             hands="Buremte Gloves",
  302.             waist="Anguinus Belt",
  303.             feet="Scamp's Sollerets"})
  304.        
  305.     ---------------------------
  306.     -- Ragnarok /SAM TP Sets --
  307.     ---------------------------
  308.     sets.TP.Ragnarok.SAM = {
  309.             main="Ragnarok",
  310.             ammo="Yetshila",
  311.             head="Otomi Helm",
  312.             neck="Ganesha's Mala",
  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="Atheling Mantle",
  320.             waist="Windbuffet Belt",
  321.             legs="Xaddi Cuisses",
  322.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}}
  323.     sets.TP.Ragnarok.SAM.MidACC = set_combine(sets.TP.Ragnarok.SAM,{
  324.             head="Yaoyotl Helm",
  325.             body="Mes. Haubergeon",
  326.             back="Letalis Mantle",
  327.             waist="Dynamic Belt +1",
  328.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  329.     sets.TP.Ragnarok.SAM.HighACC = set_combine(sets.TP.Ragnarok.SAM.MidACC,{
  330.             ammo="Ginsen",
  331.             neck="Iqabi Necklace",
  332.             hands="Buremte Gloves",
  333.             ring2="Patricius Ring"})
  334.  
  335.     -- Ragnarok(High Haste) /SAM TP Sets --
  336.     sets.TP.Ragnarok.SAM.HighHaste = set_combine(sets.TP.Ragnarok.SAM,{
  337.             main="Ragnarok",
  338.             ammo="Yetshila",
  339.             head="Otomi Helm",
  340.             neck="Ganesha's Mala",
  341.             ear1="Steelflash Earring",
  342.             ear2="Bladeborn Earring",
  343.             body="Xaddi Mail",
  344.             hands="Xaddi Gauntlets",
  345.             ring1="Rajas Ring",
  346.             ring2="K'ayres Ring",
  347.             back="Atheling Mantle",
  348.             waist="Windbuffet Belt",
  349.             legs="Xaddi Cuisses",
  350.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}})
  351.     sets.TP.Ragnarok.SAM.MidACC.HighHaste = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{
  352.             head="Yaoyotl Helm",
  353.             body="Mes. Haubergeon",
  354.             back="Letalis Mantle",
  355.             waist="Anguinus Belt",
  356.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  357.     sets.TP.Ragnarok.SAM.HighACC.HighHaste = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste,{
  358.             ammo="Ginsen",
  359.             neck="Iqabi Necklace",
  360.             hands="Buremte Gloves",
  361.             ring2="Patricius Ring"})
  362.  
  363.     -- Ragnarok(Ionis) /SAM TP Sets --
  364.     sets.TP.Ragnarok.SAM.Ionis = set_combine(sets.TP.Ragnarok.SAM,{
  365.             main="Ragnarok",
  366.             ammo="Yetshila",
  367.             head="Otomi Helm",
  368.             neck="Ganesha's Mala",
  369.             ear1="Steelflash Earring",
  370.             ear2="Bladeborn Earring",
  371.             body="Xaddi Mail",
  372.             hands="Xaddi Gauntlets",
  373.             ring1="Rajas Ring",
  374.             ring2="K'ayres Ring",
  375.             back="Atheling Mantle",
  376.             waist="Windbuffet Belt",
  377.             legs="Xaddi Cuisses",
  378.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}})
  379.     sets.TP.Ragnarok.SAM.MidACC.Ionis = set_combine(sets.TP.Ragnarok.SAM.Ionis,{
  380.             head="Yaoyotl Helm",
  381.             body="Mes. Haubergeon",
  382.             back="Letalis Mantle",
  383.             waist="Anguinus Belt",
  384.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  385.     sets.TP.Ragnarok.SAM.HighACC.Ionis = set_combine(sets.TP.Ragnarok.SAM.MidACC.Ionis,{
  386.             ammo="Ginsen",
  387.             neck="Iqabi Necklace",
  388.             hands="Buremte Gloves",
  389.             ring2="Patricius Ring"})
  390.            
  391.     -- Ragnarok(High Haste + Ionis) /SAM TP Sets --
  392.     sets.TP.Ragnarok.SAM.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{
  393.             main="Ragnarok",
  394.             ammo="Yetshila",
  395.             head="Otomi Helm",
  396.             neck="Ganesha's Mala",
  397.             ear1="Steelflash Earring",
  398.             ear2="Bladeborn Earring",
  399.             body="Xaddi Mail",
  400.             hands="Xaddi Gauntlets",
  401.             ring1="Rajas Ring",
  402.             ring2="K'ayres Ring",
  403.             back="Atheling Mantle",
  404.             waist="Windbuffet Belt",
  405.             legs="Xaddi Cuisses",
  406.             feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}})
  407.     sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.SAM.HighHaste.Ionis,{
  408.             head="Yaoyotl Helm",
  409.             body="Mes. Haubergeon",
  410.             back="Letalis Mantle",
  411.             waist="Anguinus Belt",
  412.             feet={ name="Mikinaak Greaves", augments={'Accuracy+15','Attack+10','DEX+10',}}})
  413.     sets.TP.Ragnarok.SAM.HighACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis,{
  414.             ammo="Ginsen",
  415.             neck="Iqabi Necklace",
  416.             hands="Buremte Gloves",
  417.             ring2="Patricius Ring"})
  418.  
  419.     --------------------------------------------       
  420.     -- Ragnarok(SAM Roll/Regain) /SAM TP Sets --
  421.     --------------------------------------------
  422.     sets.TP.Ragnarok.SAM.STP = set_combine(sets.TP.Ragnarok.SAM,{
  423.             main="Ragnarok",
  424.             ammo="Yetshila",
  425.             head="Otomi Helm",
  426.             neck="Ganesha's Mala",
  427.             ear1="Steelflash Earring",
  428.             ear2="Bladeborn Earring",
  429.             body="Xaddi Mail",
  430.             hands="Xaddi Gauntlets",
  431.             ring1="Rajas Ring",
  432.             ring2="K'ayres Ring",
  433.             back="Atheling Mantle",
  434.             waist="Windbuffet Belt",
  435.             legs="Xaddi Cuisses",
  436.             feet="Ejekamal Boots"})
  437.     sets.TP.Ragnarok.SAM.MidACC.STP = set_combine(sets.TP.Ragnarok.SAM.STP,{
  438.             head="Yaoyotl Helm",
  439.             ring2="Patricius Ring",
  440.             back="Letalis Mantle",
  441.             feet="Whirlpool Greaves"})
  442.     sets.TP.Ragnarok.SAM.HighACC.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.STP,{
  443.             neck="Iqabi Necklace",
  444.             body="Mes. Haubergeon",
  445.             hands="Buremte Gloves",
  446.             ring1="Mars's Ring",
  447.             ring2="Patricius Ring",
  448.             waist="Dynamic Belt +1",
  449.             feet="Scamp's Sollerets"})
  450.  
  451.     -- Ragnarok(High Haste + SAM Roll/Regain) /SAM TP Sets --
  452.     sets.TP.Ragnarok.SAM.HighHaste.STP = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{
  453.             main="Ragnarok",
  454.             ammo="Yetshila",
  455.             head="Otomi Helm",
  456.             neck="Ganesha's Mala",
  457.             ear1="Steelflash Earring",
  458.             ear2="Bladeborn Earring",
  459.             body="Xaddi Mail",
  460.             hands="Xaddi Gauntlets",
  461.             ring1="Rajas Ring",
  462.             ring2="K'ayres Ring",
  463.             back="Atheling Mantle",
  464.             waist="Windbuffet Belt",
  465.             legs="Xaddi Cuisses",
  466.             feet="Ejekamal Boots"})
  467.     sets.TP.Ragnarok.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.SAM.HighHaste.STP,{
  468.             head="Yaoyotl Helm",
  469.             ring2="Patricius Ring",
  470.             back="Letalis Mantle",
  471.             feet="Whirlpool Greaves"})
  472.     sets.TP.Ragnarok.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste.STP,{
  473.             neck="Iqabi Necklace",
  474.             body="Mes. Haubergeon",
  475.             hands="Buremte Gloves",
  476.             ring1="Mars's Ring",
  477.             ring2="Patricius Ring",
  478.             waist="Anguinus Belt",
  479.             feet="Scamp's Sollerets"})
  480.  
  481.     -- Ragnarok(Ionis + SAM Roll/Regain) /SAM TP Sets --
  482.     sets.TP.Ragnarok.SAM.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.Ionis,{
  483.             main="Ragnarok",
  484.             ammo="Yetshila",
  485.             head="Otomi Helm",
  486.             neck="Ganesha's Mala",
  487.             ear1="Steelflash Earring",
  488.             ear2="Bladeborn Earring",
  489.             body="Xaddi Mail",
  490.             hands="Xaddi Gauntlets",
  491.             ring1="Rajas Ring",
  492.             ring2="K'ayres Ring",
  493.             back="Atheling Mantle",
  494.             waist="Windbuffet Belt",
  495.             legs="Xaddi Cuisses",
  496.             feet="Ejekamal Boots"})
  497.     sets.TP.Ragnarok.SAM.MidACC.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.Ionis.STP,{
  498.             head="Yaoyotl Helm",
  499.             ring2="Patricius Ring",
  500.             back="Letalis Mantle",
  501.             feet="Whirlpool Greaves"})
  502.     sets.TP.Ragnarok.SAM.HighACC.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.Ionis.STP,{
  503.             neck="Iqabi Necklace",
  504.             body="Mes. Haubergeon",
  505.             hands="Buremte Gloves",
  506.             ring1="Mars's Ring",
  507.             ring2="Patricius Ring",
  508.             waist="Anguinus Belt",
  509.             feet="Scamp's Sollerets"})
  510.  
  511.     -- Ragnarok(High Haste + Ionis + SAM Roll/Regain) /SAM TP Sets --
  512.     sets.TP.Ragnarok.SAM.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{
  513.             main="Ragnarok",
  514.             ammo="Yetshila",
  515.             head="Otomi Helm",
  516.             neck="Ganesha's Mala",
  517.             ear1="Steelflash Earring",
  518.             ear2="Bladeborn Earring",
  519.             body="Xaddi Mail",
  520.             hands="Xaddi Gauntlets",
  521.             ring1="Rajas Ring",
  522.             ring2="K'ayres Ring",
  523.             back="Atheling Mantle",
  524.             waist="Windbuffet Belt",
  525.             legs="Xaddi Cuisses",
  526.             feet="Ejekamal Boots"})
  527.     sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.HighHaste.Ionis.STP,{
  528.             head="Yaoyotl Helm",
  529.             ring2="Patricius Ring",
  530.             back="Letalis Mantle",
  531.             feet="Whirlpool Greaves"})
  532.     sets.TP.Ragnarok.SAM.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis.STP,{
  533.             neck="Iqabi Necklace",
  534.             body="Mes. Haubergeon",
  535.             hands="Buremte Gloves",
  536.             ring1="Mars's Ring",
  537.             ring2="Patricius Ring",
  538.             waist="Anguinus Belt",
  539.             feet="Scamp's Sollerets"})
  540.  
  541.     -- PDT/MDT Sets --
  542.     sets.PDT = {
  543.             ammo="Iron Gobbet",
  544.             head="Cizin Helm +1",
  545.             neck="Twilight Torque",
  546.             ear1="Ethereal Earring",
  547.             ear2="Darkness Earring",
  548.             body="Mekira Meikogai",
  549.             hands="Shab. Gauntlets +1",
  550.             ring1="Defending Ring",
  551.             ring2="Patricius Ring",
  552.             back="Shadow Mantle",
  553.             waist="Flume Belt",
  554.             legs="Cizin Breeches +1",
  555.             feet="Cizin Greaves +1"}
  556.  
  557.     sets.MDT = set_combine(sets.PDT,{
  558.             ammo="Vanir Battery",
  559.             body="Nocturnus Mail",
  560.             ear2="Sanare Earring",
  561.             Ring2="Shadow Ring",
  562.             back="Engulfer Cape"})
  563.  
  564.     -- Hybrid Set --
  565.     sets.TP.Hybrid = set_combine(sets.PDT,{})
  566.     sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  567.     sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  568.  
  569.     -- WS Base Set --
  570.     sets.WS = {
  571.             ammo="Aqreqaq Bomblet",
  572.             head="Otomi Helm",
  573.             neck="Ganesha's Mala",
  574.             ear1="Moonshade Earring",
  575.             ear2="Brutal Earring",
  576.             body="Mes. Haubergeon",
  577.             hands="Miki. Gauntlets",
  578.             ring1="Pyrosoul Ring",
  579.             ring2="Pyrosoul Ring",
  580.             back="Atheling Mantle",
  581.             waist="Windbuffet Belt",
  582.             legs="Igno. Flan. +1",
  583.             feet="Ejekamal Boots"}
  584.  
  585.     -- Resolution Sets --
  586.     sets.WS.Resolution = {
  587.             ammo="Aqreqaq Bomblet",
  588.             head="Otomi Helm",
  589.             neck="Soil Gorget",
  590.             ear1="Moonshade Earring",
  591.             ear2="Brutal Earring",
  592.             body="Igno. Cuirass +1",
  593.             hands="Miki. Gauntlets",
  594.             ring1="Pyrosoul Ring",
  595.             ring2="Pyrosoul Ring",
  596.             back="Atheling Mantle",
  597.             waist="Soil Belt",
  598.             legs="Igno. Flan. +1",
  599.             feet="Fall. Sollerets +1"}
  600.     sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{
  601.             head="Yaoyotl Helm",
  602.             body="Mes. Haubergeon",
  603.             back="Letalis Mantle",
  604.             feet="Whirlpool Greaves"})
  605.     sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{
  606.             hands="Igno. Gauntlets +1",
  607.             ring1="Candent Ring",
  608.             legs="Miki. Cuisses"})
  609.  
  610.     -- Resolution(Attack) Set --
  611.     sets.WS.Resolution.ATT = set_combine(sets.WS.Resolution,{back="Niht Mantle"})
  612.    
  613.     -- Torcleaver Set --
  614.     sets.WS.Torcleaver = {         
  615.             ammo="Iron Gobbet",
  616.             head="Yaoyotl Helm",
  617.             neck="Light Gorget",
  618.             ear1="Moonshade Earring",
  619.             ear2="Brutal Earring",
  620.             body="Phorcys Korazin",
  621.             hands="Xaddi Gauntlets",
  622.             ring1="Rajas Ring",
  623.             ring2="Spiral Ring",
  624.             back="Atheling Mantle",
  625.             waist="Caudata Belt",
  626.             legs="Igno. Flan. +1",
  627.             feet="Kar. Sollerets +1"}
  628.     sets.WS.Torcleaver.MidACC = set_combine(sets.WS.Torcleaver,{
  629.             ammo="Ginsen",
  630.             body="Mes. Haubergeon",
  631.             back="Letalis Mantle"})
  632.     sets.WS.Torcleaver.HighACC = set_combine(sets.WS.Torcleaver.MidACC,{
  633.             legs="Miki. Cuisses",
  634.             feet="Scamp's Sollerets"})
  635.  
  636.     -- Torcleaver(Attack) Set --
  637.     sets.WS.Torcleaver.ATT = set_combine(sets.WS.Torcleaver,{back="Niht Mantle"})
  638.  
  639.     -- JA Sets --
  640.     sets.JA = {}
  641.     sets.JA["Blood Weapon"] = {body="Fallen's Cuirass"}
  642.     sets.JA["Diabolic Eye"] = {hands="Fall. Fin. Gaunt. +1"}
  643.     sets.JA["Nether Void"] = {legs="Bale Flanchard +2"}
  644.     sets.JA["Arcane Circle"] = {feet="Igno. Sollerets +1"}
  645.     sets.JA["Last Resort"] = {feet="Fall. Sollerets +1"}
  646.  
  647.     -- Waltz Set --
  648.     sets.Waltz = {
  649.             ammo="Iron Gobbet",
  650.             head="Yaoyotl Helm",
  651.             neck="Twilight Torque",
  652.             ear1="Ethereal Earring",
  653.             ear2="Darkness Earring",
  654.             body="Igno. Cuirass +1",
  655.             hands="Igno. Gauntlets +1",
  656.             ring1="Defending Ring",
  657.             ring2="Patricius Ring",
  658.             back="Repulse Mantle",
  659.             waist="Flume Belt",
  660.             legs="Igno. Flan. +1",
  661.             feet="Whirlpool Greaves",}
  662.  
  663.     sets.Precast = {}
  664.    
  665.     -- Fastcast Set --
  666.     sets.Precast.FastCast = {
  667.             ammo="Impatiens",
  668.             head="Cizin Helm +1",
  669.             neck="Orunmila's Torque",
  670.             ear1="Loquac. Earring",
  671.             ear2="Darkness Earring",
  672.             body="Nuevo Coselete",
  673.             hands="Shab. Gauntlets +1",
  674.             ring1="Veneficium Ring",
  675.             ring2="Prolix Ring",
  676.             back="Repulse Mantle",
  677.             waist="Cetl Belt",
  678.             legs="Enif Cosciales",
  679.             feet="Cizin Greaves +1"}
  680.  
  681.     -- Precast Dark Magic --
  682.     sets.Precast['Dark Magic'] = set_combine(sets.Precast.FastCast,{head="Fallen's Burgeonet"})
  683.  
  684.     -- Midcast Base Set --
  685.     sets.Midcast = {
  686.             ammo="Impatiens",
  687.             head="Cizin Helm +1",
  688.             neck="Orunmila's Torque",
  689.             ear1="Loquac. Earring",
  690.             ear2="Darkness Earring",
  691.             body="Nuevo Coselete",
  692.             hands="Shab. Gauntlets +1",
  693.             ring1="Defending Ring",
  694.             ring2="Prolix Ring",
  695.             back="Repulse Mantle",
  696.             waist="Cetl Belt",
  697.             legs="Enif Cosciales",
  698.             feet="Cizin Greaves +1"}
  699.  
  700.     -- Magic Haste Set --
  701.     sets.Midcast.Haste = set_combine(sets.PDT,{
  702.             ammo="Impatiens",
  703.             head="Cizin Helm +1",
  704.             neck="Orunmila's Torque",
  705.             ear1="Loquac. Earring",
  706.             ear2="Darkness Earring",
  707.             body="Nuevo Coselete",
  708.             hands="Shab. Gauntlets +1",
  709.             ring1="Defending Ring",
  710.             ring2="Prolix Ring",
  711.             back="Repulse Mantle",
  712.             waist="Cetl Belt",
  713.             legs="Enif Cosciales",
  714.             feet="Cizin Greaves +1"})
  715.  
  716.     -- Dark Magic Set --
  717.     sets.Midcast['Dark Magic'] = {
  718.             head="Igno. Burgeonet +1",
  719.             neck="Aesir Torque",
  720.             ear1="Psystorm Earring",
  721.             ear2="Lifestorm Earring",
  722.             body="Demon's Harness",
  723.             hands="Fall. Fin. Gaunt. +1",
  724.             ring1="Archon Ring",
  725.             ring2="Sangoma Ring",
  726.             back="Merciful Cape",
  727.             waist="Casso Sash",
  728.             legs="Bale Flanchard +2",
  729.             feet="Bale Sollerets +2"}
  730.  
  731.     -- Stun Sets --
  732.     sets.Midcast.Stun = set_combine(sets.Midcast['Dark Magic'],{
  733.             neck="Orunmila's Torque",
  734.             ear1="Loquac. Earring",
  735.             legs="Enif Cosciales"})
  736.     sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{})
  737.     sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})
  738.  
  739.     -- Endark Set --
  740.     sets.Midcast.Endark = set_combine(sets.Midcast['Dark Magic'],{})
  741.  
  742.     -- Enfeebling Magic Set --
  743.     sets.Midcast['Enfeebling Magic'] = {
  744.             neck="Aesir Torque",
  745.             body="Igno. Cuirass +1",
  746.             waist="Casso Sash"}
  747.  
  748.     -- Elemental Magic Set --
  749.     sets.Midcast['Elemental Magic'] = {
  750.             neck="Eddy Necklace",
  751.             ear1="Friomisi Earring",
  752.             ear2="Crematio Earring",
  753.             body="Fallen's Cuirass",
  754.             hands="Fall. Fin. Gaunt. +1",
  755.             ring1="Acumen Ring"}
  756.  
  757.     -- Dread Spikes Set --
  758.     sets.Midcast['Dread Spikes'] = {
  759.             ammo="Iron Gobbet",
  760.             head="Laeradr Helm",
  761.             neck="Twilight Torque",
  762.             Ear1="Dark Earring",
  763.             body="Igno. Cuirass +1",
  764.             hands="Igno. Gauntlets +1",
  765.             ring1="Defending Ring",
  766.             ring2="K'ayres Ring",
  767.             back="Shadow Mantle",
  768.             waist="Flume Belt",
  769.             legs="Igno. Flan. +1",
  770.             feet="Ejakamal Boots"}
  771. end
  772.  
  773. function pretarget(spell,action)
  774.     if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  775.         cancel_spell()
  776.         send_command('input /item "Echo Drops" <me>')
  777.     elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  778.         cancel_spell()
  779.         send_command('Aggressor')
  780.     elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  781.         cancel_spell()
  782.         send_command('ThirdEye')
  783.     elseif spell.english == "Meditate" and player.tp > 2400 then -- Cancel Meditate If TP Is Above 2400 --
  784.         cancel_spell()
  785.         add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  786.     elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
  787.         cancel_spell()
  788.         add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  789.         return
  790.     elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
  791.         if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
  792.             cancel_spell()
  793.             send_command('input /ja Addendum: White <me>')
  794.         elseif spell.english == "Manifestation" then
  795.             cancel_spell()
  796.             send_command('input /ja Accession <me>')
  797.         elseif spell.english == "Alacrity" then
  798.             cancel_spell()
  799.             send_command('input /ja Celerity <me>')
  800.         elseif spell.english == "Parsimony" then
  801.             cancel_spell()
  802.             send_command('input /ja Penury <me>')
  803.         end
  804.     elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
  805.         if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
  806.             cancel_spell()
  807.             send_command('input /ja Addendum: Black <me>')
  808.         elseif spell.english == "Accession" then
  809.             cancel_spell()
  810.             send_command('input /ja Manifestation <me>')
  811.         elseif spell.english == "Celerity" then
  812.             cancel_spell()
  813.             send_command('input /ja Alacrity <me>')
  814.         elseif spell.english == "Penury" then
  815.             cancel_spell()
  816.             send_command('input /ja Parsimony <me>')
  817.         end
  818.     end
  819. end
  820.  
  821. function precast(spell,action)
  822.     if spell.type == "WeaponSkill" then
  823.         if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  824.             cancel_spell()
  825.             add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  826.             return
  827.         else
  828.             equipSet = sets.WS
  829.             if equipSet[spell.english] then
  830.                 equipSet = equipSet[spell.english]
  831.             end
  832.             if Attack == 'ON' then
  833.                 equipSet = equipSet["ATT"]
  834.             end
  835.             if equipSet[AccArray[AccIndex]] then
  836.                 equipSet = equipSet[AccArray[AccIndex]]
  837.             end
  838.             if spell.english == "Catastrophe" and (world.day_element == 'Dark' or world.day_element == 'Earth') and Mekira == 'ON' then -- Equip Mekira-oto +1 On Darksday or Earthsday --
  839.                 equipSet = set_combine(equipSet,{head="Mekira-oto +1"})
  840.             end
  841.             if spell.english == "Resolution" or spell.english == "Entropy" then
  842.                 if spell.english == "Resolution" and (world.day_element == 'Thunder' or world.day_element == 'Wind' or world.day_element == 'Earth') and Mekira == 'ON' then -- Equip Mekira-oto +1 On Lightningday or Windsday or Earthsday --
  843.                     equipSet = set_combine(equipSet,{head="Mekira-oto +1"})
  844.                 elseif spell.english == "Entropy" and (world.day_element == 'Dark' or world.day_element == 'Earth' or world.day_element == 'Water') and Mekira == 'ON' then -- Equip Mekira-oto +1 On Darksday or Earthsday or Watersday --
  845.                     equipSet = set_combine(equipSet,{head="Mekira-oto +1"})
  846.                 end
  847.                 if player.tp > 2999 or buffactive.Sekkanoki then -- DA Earrings When You Have 3000 TP or Sekkanoki --
  848.                     equipSet = set_combine(equipSet,{ear1="Steelflash Earring",ear2="Bladeborn Earring"})  
  849.                                 end
  850.                         end
  851.                         equip(equipSet)
  852.                 end
  853.         elseif spell.type == "JobAbility" then
  854.                 if sets.JA[spell.english] then
  855.                         equip(sets.JA[spell.english])
  856.                 end
  857.         elseif spell.action_type == 'Magic' then
  858.                 if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  859.                         cancel_spell()
  860.                         add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  861.                         return
  862.                 else
  863.             if spell.english == "Stun" then
  864.                 if buffactive.Hasso or buffactive.Seigan then -- Cancel Hasso or Seigan When You Use Stun --
  865.                     cast_delay(0.2)
  866.                     send_command('cancel Hasso,Seigan')
  867.                 end
  868.                 equip(sets.Precast.FastCast)
  869.             elseif string.find(spell.english,'Utsusemi') then
  870.                 if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  871.                     cancel_spell()
  872.                     add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
  873.                     return
  874.                 else
  875.                     equip(sets.Precast.FastCast)
  876.                 end
  877.             elseif sets.Precast[spell.skill] then
  878.                 equip(sets.Precast[spell.skill])
  879.             else
  880.                 equip(sets.Precast.FastCast)
  881.             end
  882.         end
  883.     elseif spell.type == "Waltz" then
  884.         refine_waltz(spell,action)
  885.         equip(sets.Waltz)
  886.     elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  887.         cast_delay(0.2)
  888.         send_command('cancel Sneak')
  889.     end
  890.     if Twilight == 'Twilight' then
  891.         equip(sets.Twilight)
  892.     end
  893. end
  894.  
  895. function midcast(spell,action)
  896.     equipSet = {}
  897.     if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  898.         equipSet = sets.Midcast
  899.         if string.find(spell.english,'Absorb') then
  900.             if buffactive["Dark Seal"] then -- Equip Aug'd Abs. Burgeonet +2 When You Have Dark Seal Up --
  901.                 equipSet = set_combine(equipSet,{head="Fallen's Burgeonet"})
  902.             end
  903.         elseif string.find(spell.english,'Drain') or string.find(spell.english,'Aspir') or string.find(spell.english,'Bio') then
  904.             if world.day == "Darksday" or world.weather_element == "Dark" then -- Equip Anrin Obi On Darksday or Dark Weather --
  905.                 equipSet = set_combine(equipSet,{waist="Anrin Obi"})
  906.             end
  907.         elseif spell.english == "Stoneskin" then
  908.             if buffactive.Stoneskin then
  909.                 send_command('@wait 1.7;cancel stoneskin')
  910.             end
  911.             equipSet = equipSet.Stoneskin
  912.         elseif spell.english == "Sneak" then
  913.             if spell.target.name == player.name and buffactive['Sneak'] then
  914.                 send_command('cancel sneak')
  915.             end
  916.             equipSet = equipSet.Haste
  917.         elseif string.find(spell.english,'Utsusemi') then
  918.             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  919.                 send_command('@wait 1.7;cancel Copy Image*')
  920.             end
  921.             equipSet = equipSet.Haste
  922.         elseif spell.english == 'Monomi: Ichi' then
  923.             if buffactive['Sneak'] then
  924.                 send_command('@wait 1.7;cancel sneak')
  925.             end
  926.             equipSet = equipSet.Haste
  927.         else
  928.             if equipSet[spell.english] then
  929.                 equipSet = equipSet[spell.english]
  930.             end
  931.             if equipSet[AccArray[AccIndex]] then
  932.                 equipSet = equipSet[AccArray[AccIndex]]
  933.             end
  934.             if equipSet[spell.skill] then
  935.                 equipSet = equipSet[spell.skill]
  936.             end
  937.             if equipSet[spell.type] then
  938.                 equipSet = equipSet[spell.type]
  939.             end
  940.         end
  941.     elseif equipSet[spell.english] then
  942.         equipSet = equipSet[spell.english]
  943.     end
  944.     equip(equipSet)
  945. end
  946.  
  947. function aftercast(spell,action)
  948.     if not spell.interrupted then
  949.         if spell.type == "WeaponSkill" then
  950.             send_command('wait 0.2;gs c TP')
  951.         elseif spell.english == "Arcane Circle" then -- Arcane Circle Countdown --
  952.             send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
  953.         elseif spell.english == "Sleep II" then -- Sleep II Countdown --
  954.             send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  955.         elseif spell.english == "Sleep" then -- Sleep Countdown --
  956.             send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  957.         end
  958.     end
  959.     status_change(player.status)
  960. end
  961.  
  962. function status_change(new,old)
  963.     if Armor == 'PDT' then
  964.         equip(sets.PDT)
  965.     elseif Armor == 'MDT' then
  966.         equip(sets.MDT)
  967.     elseif new == 'Engaged' then
  968.         equipSet = sets.TP
  969.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  970.             equipSet = equipSet["Hybrid"]
  971.         end
  972.         if equipSet[player.equipment.main] then
  973.             equipSet = equipSet[player.equipment.main]
  974.         end
  975.         if equipSet[player.sub_job] then
  976.             equipSet = equipSet[player.sub_job]
  977.         end
  978.         if equipSet[AccArray[AccIndex]] then
  979.             equipSet = equipSet[AccArray[AccIndex]]
  980.         end
  981.         if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
  982.             if Rancor == 'ON' then -- Default Rancor Toggle Is Rancorous Mantle --
  983.                 equipSet = set_combine(equipSet["AM3"],sets.TP.Rancor)
  984.             else -- Use Rancor Toggle For Atheling Mantle --
  985.                 equipSet = equipSet["AM3"]
  986.             end
  987.         end
  988.         if buffactive.Aftermath and equipSet["AM"] then
  989.             equipSet = equipSet["AM"]
  990.         end
  991.         if buffactive["Last Resort"] and buffactive.March == 2 and (buffactive.Haste or buffactive.Embrava) and equipSet["HighHaste"] then
  992.             equipSet = equipSet["HighHaste"]
  993.         end
  994.         if buffactive.Ionis and equipSet["Ionis"] then
  995.             equipSet = equipSet["Ionis"]
  996.         end
  997.         if buffactive["Samurai Roll"] or buffactive["Tactician's Roll"] or buffactive.Regain or buffactive.Voidwatcher and equipSet["STP"] and Samurai_Roll == 'ON' then
  998.             equipSet = equipSet["STP"]
  999.         end
  1000.         equip(equipSet)
  1001.     else
  1002.         equipSet = sets.Idle
  1003.         if equipSet[IdleArray[IdleIndex]] then
  1004.             equipSet = equipSet[IdleArray[IdleIndex]]
  1005.         end
  1006.         if equipSet[WeaponArray[WeaponIndex]] then
  1007.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  1008.         end
  1009.         equip(equipSet)
  1010.     end
  1011.     if Twilight == 'Twilight' then
  1012.         equip(sets.Twilight)
  1013.     end
  1014. end
  1015.  
  1016. function buff_change(buff,gain)
  1017.     buff = string.lower(buff)
  1018.     if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  1019.         if gain then
  1020.             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.]')
  1021.         else
  1022.             send_command('timers delete "Aftermath: Lv.3"')
  1023.             add_to_chat(123,'AM3: [OFF]')
  1024.         end
  1025.     elseif buff == 'weakness' then -- Weakness Timer --
  1026.         if gain then
  1027.             send_command('timers create "Weakness" 300 up')
  1028.         else
  1029.             send_command('timers delete "Weakness"')
  1030.         end
  1031.     end
  1032.     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 --
  1033.         equip({neck="Berserker's Torque"})
  1034.     else
  1035.         if not midaction() then
  1036.             status_change(player.status)
  1037.         end
  1038.     end
  1039. end
  1040.  
  1041. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  1042. function self_command(command)
  1043.     if command == 'C1' then -- Accuracy Level Toggle --
  1044.         AccIndex = (AccIndex % #AccArray) + 1
  1045.         status_change(player.status)
  1046.         add_to_chat(158,'Accuracy Level: '..AccArray[AccIndex])
  1047.     elseif command == 'C17' then -- Main Weapon Toggle --
  1048.         WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  1049.         add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
  1050.         status_change(player.status)
  1051.     elseif command == 'C5' then -- Auto Update Gear Toggle --
  1052.         status_change(player.status)
  1053.         add_to_chat(158,'Auto Update Gear')
  1054.     elseif command == 'C2' then -- Hybrid Toggle --
  1055.         if Armor == 'Hybrid' then
  1056.             Armor = 'None'
  1057.             add_to_chat(123,'Hybrid Set: [Unlocked]')
  1058.         else
  1059.             Armor = 'Hybrid'
  1060.             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  1061.         end
  1062.         status_change(player.status)
  1063.     elseif command == 'C7' then -- PDT Toggle --
  1064.         if Armor == 'PDT' then
  1065.             Armor = 'None'
  1066.             add_to_chat(123,'PDT Set: [Unlocked]')
  1067.         else
  1068.             Armor = 'PDT'
  1069.             add_to_chat(158,'PDT Set: [Locked]')
  1070.         end
  1071.         status_change(player.status)
  1072.     elseif command == 'C15' then -- MDT Toggle --
  1073.         if Armor == 'MDT' then
  1074.             Armor = 'None'
  1075.             add_to_chat(123,'MDT Set: [Unlocked]')
  1076.         else
  1077.             Armor = 'MDT'
  1078.             add_to_chat(158,'MDT Set: [Locked]')
  1079.         end
  1080.         status_change(player.status)
  1081.     elseif command == 'C9' then -- Attack Toggle --
  1082.         if Attack == 'ON' then
  1083.             Attack = 'OFF'
  1084.             add_to_chat(123,'Attack: [OFF]')
  1085.         else
  1086.             Attack = 'ON'
  1087.             add_to_chat(158,'Attack: [ON]')
  1088.         end
  1089.         status_change(player.status)
  1090.     elseif command == 'C10' then -- Mekira Toggle --
  1091.         if Mekira == 'ON' then
  1092.             Mekira = 'OFF'
  1093.             add_to_chat(123,'Mekira: [OFF]')
  1094.         else
  1095.             Mekira = 'ON'
  1096.             add_to_chat(158,'Mekira: [ON]')
  1097.         end
  1098.         status_change(player.status)
  1099.     elseif command == 'C3' then -- Twilight Toggle --
  1100.         if Twilight == 'Twilight' then
  1101.             Twilight = 'None'
  1102.             add_to_chat(123,'Twilight Set: [Unlocked]')
  1103.         else
  1104.             Twilight = 'Twilight'
  1105.             add_to_chat(158,'Twilight Set: [locked]')
  1106.         end
  1107.         status_change(player.status)
  1108.     elseif command == 'C8' then -- Distance Toggle --
  1109.         if player.target.distance then
  1110.             target_distance = math.floor(player.target.distance*10)/10
  1111.             add_to_chat(158,'Distance: '..target_distance)
  1112.         else
  1113.             add_to_chat(123,'No Target Selected')
  1114.         end
  1115.     elseif command == 'C6' then -- Idle Toggle --
  1116.         IdleIndex = (IdleIndex % #IdleArray) + 1
  1117.         status_change(player.status)
  1118.         add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
  1119.     elseif command == 'TP' then
  1120.         add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
  1121.     elseif command:match('^SC%d$') then
  1122.         send_command('//' .. sc_map[command])
  1123.     end
  1124. end
  1125.  
  1126. function refine_waltz(spell,action)
  1127.     if spell.type ~= 'Waltz' then
  1128.         return
  1129.     end
  1130.  
  1131.     if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
  1132.         return
  1133.     end
  1134.  
  1135.     local newWaltz = spell.english
  1136.     local waltzID
  1137.  
  1138.     local missingHP
  1139.  
  1140.     if spell.target.type == "SELF" then
  1141.         missingHP = player.max_hp - player.hp
  1142.     elseif spell.target.isallymember then
  1143.         local target = find_player_in_alliance(spell.target.name)
  1144.         local est_max_hp = target.hp / (target.hpp/100)
  1145.         missingHP = math.floor(est_max_hp - target.hp)
  1146.     end
  1147.  
  1148.     if missingHP ~= nil then
  1149.         if player.sub_job == 'DNC' then
  1150.             if missingHP < 40 and spell.target.name == player.name then
  1151.                 add_to_chat(123,'Full HP!')
  1152.                 cancel_spell()
  1153.                 return
  1154.             elseif missingHP < 150 then
  1155.                 newWaltz = 'Curing Waltz'
  1156.                 waltzID = 190
  1157.             elseif missingHP < 300 then
  1158.                 newWaltz = 'Curing Waltz II'
  1159.                 waltzID = 191
  1160.             else
  1161.                 newWaltz = 'Curing Waltz III'
  1162.                 waltzID = 192
  1163.             end
  1164.         else
  1165.             return
  1166.         end
  1167.     end
  1168.  
  1169.     local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
  1170.     local tpCost = waltzTPCost[newWaltz]
  1171.  
  1172.     local downgrade
  1173.  
  1174.     if player.tp < tpCost and not buffactive.trance then
  1175.  
  1176.         if player.tp < 20 then
  1177.             add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
  1178.             cancel_spell()
  1179.             return
  1180.         elseif player.tp < 35 then
  1181.             newWaltz = 'Curing Waltz'
  1182.         elseif player.tp < 50 then
  1183.             newWaltz = 'Curing Waltz II'
  1184.         elseif player.tp < 65 then
  1185.             newWaltz = 'Curing Waltz III'
  1186.         elseif player.tp < 80 then
  1187.             newWaltz = 'Curing Waltz IV'
  1188.         end
  1189.  
  1190.         downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
  1191.     end
  1192.  
  1193.     if newWaltz ~= spell.english then
  1194.         send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
  1195.         if downgrade then
  1196.             add_to_chat(158, downgrade)
  1197.         end
  1198.         cancel_spell()
  1199.         return
  1200.     end
  1201.  
  1202.     if missingHP > 0 then
  1203.         add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
  1204.     end
  1205. end
  1206.  
  1207. function find_player_in_alliance(name)
  1208.     for i,v in ipairs(alliance) do
  1209.         for k,p in ipairs(v) do
  1210.             if p.name == name then
  1211.                 return p
  1212.             end
  1213.         end
  1214.     end
  1215. end
  1216.  
  1217. function sub_job_change(newSubjob, oldSubjob)
  1218.     select_default_macro_book()
  1219. end
  1220.  
  1221. function set_macro_page(set,book)
  1222.     if not tonumber(set) then
  1223.         add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  1224.         return
  1225.     end
  1226.     if set < 1 or set > 10 then
  1227.         add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  1228.         return
  1229.     end
  1230.  
  1231.     if book then
  1232.         if not tonumber(book) then
  1233.             add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  1234.             return
  1235.         end
  1236.         if book < 1 or book > 20 then
  1237.             add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  1238.             return
  1239.         end
  1240.         send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  1241.     else
  1242.         send_command('@input /macro set '..tostring(set))
  1243.     end
  1244. end
  1245.  
  1246. function select_default_macro_book()
  1247.     -- Default macro set/book
  1248.     if player.sub_job == 'WAR' then
  1249.         set_macro_page(1, 18)
  1250.     elseif player.sub_job == 'SAM' then
  1251.         set_macro_page(1, 18)
  1252.     elseif player.sub_job == 'NIN' then
  1253.         set_macro_page(1, 18)
  1254.     elseif player.sub_job == 'DNC' then
  1255.         set_macro_page(1, 18)
  1256.     elseif player.sub_job == 'SCH' then
  1257.         set_macro_page(1, 18)
  1258.     else
  1259.         set_macro_page(1, 18)
  1260.     end
  1261. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement