Merlinffxi

Sam.lua

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