Sithel

SAM GearSwap (1-24-15)

Aug 27th, 2014
644
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 35.44 KB | None | 0 0
  1. --[[
  2. *** I don't take full credit for this file. I've used various other files and some of my own ***
  3. ----------------------
  4. GearSwap Version 0.900
  5. ----------------------
  6. File Created 10-9-14
  7. If you found this file, it was probably through bluegartr. If any bugs or errors are
  8. found please send me a PM there and I'll try to fix it.
  9. *For some of these features to work, the Shortcuts, Cancel addon and Timers plugin are required.
  10. ----------------------
  11. Update 01-24-15
  12. *Added: Tachi: Rana variable for aftermath, ON by default.Can only Tachi: Rana when at 3000 TP (gs c ranaWS) to turn OFF.
  13. ----------------------
  14. Update 12-28-14
  15. *Added: Auto equip neck when entering a Reive
  16. *Added: Ranged Midshot set
  17. ----------------------
  18. Update 12-7-14
  19. *Fixed: Spelling error in the status buff Aftermath Lv. 3
  20. ----------------------
  21. Update 10-10-14
  22. *Added: Oneiros Ring function at "function status_change(new,old)" for MP conditions.  
  23. *Added: Function to WS on certain days and use the new head piece Gavialis Helm.
  24. *Added: Auto locks Twilight set on when you get up from a raise.
  25. ---------------------- 
  26. Macro lists- case sensitive (If in chat remove the /console & add //, example //gs c acc)
  27.  
  28. /console gs c encumber  (encumber toggle- Tsuru,Amano,Koga,Masa - Defaults to Tsurumaru)
  29. /console gs c idle      (idle toggle Regen,Normal,Town)
  30. /console gs c acc       (acc toggle for TP,WS,Hybrid) (Accuracy levels are Normal, LightAcc, FullAcc)
  31. /console gs c hybrid    (hybrid toggle for Hybrid TP)
  32. /console gs c update    (updates current gear set, also set to the F10 key on keyboard)
  33. /console gs c active    (will show all active sets and toggles that are active or not)
  34. /console gs c distance  (Set target distance, default is 5 yalms
  35.  
  36. - All Toggles below are OFF by default, except Tachi: Rana variable which is ON.
  37. /console gs c pdt       (toggle/locks pdt set at all times, during Idle,TP,WS,JA,MA ect.)
  38. /console gs c mdt       (toggle/locks mdt set at all times, during Idle,TP,WS,JA,MA ect.)
  39. /console gs c th        (toggle/locks Chaac Belt at these times, during Idle,TP)
  40. /console gs c rings     (toggle/locks Warp Ring & Capacity Ring at all times, during Idle,TP,WS,JA,MA ect.)
  41. /console gs c twilight  (toggle/locks Twilight set at all times for reraise, during Idle,TP,WS,JA,MA ect.)
  42. /console gs c cpmantle  (toggle/locks Mecisto. Mantle at all times for Capacity Points farming, during Idle,TP,WS,JA,MA ect.)
  43. /console gs c movement  (toggle/locks movement gear)
  44. /console gs c seigan    (toggle seigan/third eye set)
  45. /console gs c autohasso (toggle to auto hasso)
  46. /console gs c ranaWS    (toggle Tachi: Rana variable for aftermath, ON by default.Can only Tachi: Rana when at 3000 TP)
  47. --]]    
  48.    
  49.     function get_sets()
  50.             ACC_Index = 1
  51.             ACC_Array = {"Normal","LightAcc","FullAcc"} -- Default ACC Set Is Normal. The First TP Set Of Your Main Weapon Is Normal.
  52.             Idle_Index = 1
  53.             Idle_Array = {"Normal","Regen","Town"} -- Default Idle Set Is Normal
  54.             Encumber_Index = 1 -- Encumber Weapons
  55.             Armor = 'None'
  56.             Twilight = 'OFF'
  57.             TH = 'OFF' -- Chaac Belt Toggle
  58.             Rings = 'OFF' -- Capacity/Warp Ring Toggle         
  59.             Auto_Hasso = 'OFF' -- Auto Hasso Toggle Default (Keeps Hasso up fulltime)
  60.             Rana_WS = 'ON'
  61.             Mecisto = 'OFF' -- Mecisto. Mantle (Capacity Points Back) Toggle Default           
  62.             Seigan_T = 'OFF' -- Seigan/Third Eye Set Toggle Default
  63.             Movement = 'OFF' -- Movement Gear Toggle Default
  64.             target_distance = 5 -- Set Default Distance Here           
  65.            
  66.             --Default Macro Set for SAM
  67.             send_command('input /macro book 19;wait .1;input /macro set 10')
  68.  
  69.             --Binds
  70.             send_command('bind f12 gs c update')
  71.             send_command('bind f10 ws Tachi: Rana <t>')
  72.             send_command('bind f9 ws Tachi: Fudo <t>')
  73.    
  74.             --Slept
  75.             sets.Slept = {neck="Berserker's Torque"}
  76.            
  77.             --Reive Neck
  78.             sets.ReiveNeck = {neck="Adoulin's Refuge +1"}
  79.            
  80.             --Meikyo Shisui
  81.             sets.OneHour = {feet="Sakonji sune-ate +1"}
  82.    
  83.             --Twilight Set
  84.             sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  85.    
  86.             --Capacity Points Mantle
  87.             sets.Mecisto = {back="Mecisto. Mantle"}        
  88.    
  89.             --Movement Set
  90.             sets.Movement = {feet="Danzo Sune-Ate"}
  91.    
  92.             --Chaac Belt
  93.             sets.TH = {waist="Chaac Belt"}         
  94.    
  95.             --Capacity/Warp Ring
  96.             sets.Rings = {ring1="Capacity Ring",ring2="Warp Ring"}
  97.    
  98.             --encumbrance
  99.             sets.Encumber = {}
  100.             Encumber_Set_Names = {'Koga','Tsuru','Masa','Amano'}   
  101.             sets.Encumber['Tsuru'] = {main="Tsurumaru",sub="Bloodrain Strap"}
  102.             sets.Encumber['Koga'] = {main="Kogarasumaru",sub="Bloodrain Strap"}
  103.             sets.Encumber['Masa'] = {main="Masamune",sub="Bloodrain Strap"}
  104.             sets.Encumber['Amano'] = {main="Amanomurakumo",sub="Bloodrain Strap"}
  105.      
  106.             -- Idle/Town/Regen Sets --
  107.             sets.Idle = {}
  108.             sets.Idle.Normal = {
  109.                 range="Cibitshavore",
  110.                 head="Sakonji Kabuto +1",
  111.                 neck="Da. Nodowa +1",
  112.                 ear1="Tripudio Earring",
  113.                 ear2="Brutal Earring",
  114.                 body="Sakonji Domaru +1",
  115.                 hands="Wakido Kote +1",
  116.                 ring1="Karieyh Ring",
  117.                 ring2="K'ayres Ring",
  118.                 back={ name="Takaha Mantle", augments={'STR+2','"Zanshin"+3','Meditate eff. dur. +5',}},
  119.                 waist="Windbuffet Belt +1",
  120.                 legs="Wakido Haidate +1",
  121.                 feet="Danzo Sune-Ate"}     
  122.        
  123.             sets.Idle.Town = {
  124.                 range="Cibitshavore",
  125.                 head="Sakonji Kabuto +1",
  126.                 neck="Da. Nodowa +1",
  127.                 ear1="Steelflash earring",
  128.                 ear2="Bladeborn earring",
  129.                 body="Sakonji Domaru +1",
  130.                 hands="Wakido Kote +1",
  131.                 ring1="Ifrit Ring +1",
  132.                 ring2="Ifrit Ring +1",
  133.                 back={ name="Takaha Mantle", augments={'STR+2','"Zanshin"+3','Meditate eff. dur. +5',}},               
  134.                 waist="Windbuffet Belt +1",
  135.                 legs="Wakido Haidate +1",
  136.                 feet="Sak. Sune-Ate +1"}               
  137.                
  138.             sets.Idle.Regen = set_combine(sets.Idle.Normal,{
  139.                 head="Twilight Helm",
  140.                 neck="Wiglen Gorget",      
  141.                 ring1="Paguroidea Ring",
  142.                 ring2="Sheltered Ring",
  143.                 back="Scuta Cape"})            
  144.      
  145.             -- TP Base Set --
  146.             sets.TP = {}          
  147.      
  148.             -- Tsurumaru TP Sets --
  149.             sets.TP.Tsurumaru = {
  150.                 range="Cibitshavore",
  151.                 head="Otomi Helm",
  152.                 neck="Ganesha's Mala",
  153.                 ear1="Steelflash earring",
  154.                 ear2="Bladeborn earring",
  155.                 body="Sakonji Domaru +1",
  156.                 hands="Wakido Kote +1",
  157.                 ring1="Rajas Ring",    
  158.                 back={ name="Takaha Mantle", augments={'STR+1','"Zanshin"+4','"Store TP"+3',}},
  159.                 waist="Windbuffet Belt +1",
  160.                 legs="Wakido Haidate +1",
  161.                 feet="Sak. Sune-Ate +1"}
  162.             sets.TP.Tsurumaru.LightAcc = set_combine(sets.TP.Tsurumaru,{               
  163.                 waist="Olseni Belt",
  164.                 legs="Xaddi Cuisses"})
  165.             sets.TP.Tsurumaru.FullAcc = set_combine(sets.TP.Tsurumaru.LightAcc,{
  166.                 head="Gavialis Helm",
  167.                 neck="Iqabi Necklace",
  168.                 ear2="Zennaroi Earring",       
  169.                 body="Mes. Haubergeon",
  170.                 hands="Buremte Gloves",
  171.                 ring1="Mars's Ring",
  172.                 ring2="Enlivened Ring",
  173.                 legs="Wukong's Haka. +1",
  174.                 feet="Waki. Sune-Ate +1"})
  175.      
  176.             -- Tsurumaru(Ionis) TP Sets --
  177.             sets.TP.Tsurumaru.Ionis = set_combine(sets.TP.Tsurumaru,{              
  178.                 head="Yaoyotl Helm",
  179.                 neck="Da. Nodowa +1",
  180.                 ear1="Tripudio Earring",
  181.                 ear2="Brutal Earring",
  182.                 ring2="K'ayres Ring"})             
  183.             sets.TP.Tsurumaru.LightAcc.Ionis = set_combine(sets.TP.Tsurumaru.Ionis,{
  184.                 ear1="Steelflash earring",
  185.                 ear2="Bladeborn earring",              
  186.                 ring2="Enlivened Ring",
  187.                 legs="Xaddi Cuisses"})             
  188.             sets.TP.Tsurumaru.FullAcc.Ionis = set_combine(sets.TP.Tsurumaru.LightAcc.Ionis,{
  189.                 neck="Iqabi Necklace",
  190.                 ear2="Zennaroi Earring",
  191.                 body="Mes. Haubergeon",
  192.                 hands="Buremte Gloves",
  193.                 ring1="Mars's Ring",
  194.                 waist="Olseni Belt",
  195.                 legs="Wukong's Haka. +1",
  196.                 feet="Waki. Sune-Ate +1"})
  197.      
  198.             -- Amanomurakumo(AM Down) TP Sets --
  199.             sets.TP.Amanomurakumo = {}
  200.             sets.TP.Amanomurakumo.LightAcc = set_combine(sets.TP.Amanomurakumo,{})
  201.             sets.TP.Amanomurakumo.FullAcc = set_combine(sets.TP.Amanomurakumo.LightAcc,{})
  202.      
  203.             -- Amanomurakumo(AM Up) TP Sets --
  204.             sets.TP.Amanomurakumo.AM = set_combine(sets.TP.Amanomurakumo,{})
  205.             sets.TP.Amanomurakumo.LightAcc.AM = set_combine(sets.TP.Amanomurakumo.AM,{})
  206.             sets.TP.Amanomurakumo.FullAcc.AM = set_combine(sets.TP.Amanomurakumo.LightAcc.AM,{})
  207.      
  208.             -- Amanomurakumo(AM Down: Ionis) TP Sets --
  209.             sets.TP.Amanomurakumo.Ionis = set_combine(sets.TP.Amanomurakumo,{})
  210.             sets.TP.Amanomurakumo.LightAcc.Ionis = set_combine(sets.TP.Amanomurakumo.Ionis,{})
  211.             sets.TP.Amanomurakumo.FullAcc.Ionis = set_combine(sets.TP.Amanomurakumo.LightAcc.Ionis,{})
  212.      
  213.             -- Amanomurakumo(AM Up: Ionis) TP Sets --
  214.             sets.TP.Amanomurakumo.AM.Ionis = set_combine(sets.TP.Amanomurakumo.AM,{})
  215.             sets.TP.Amanomurakumo.LightAcc.AM.Ionis = set_combine(sets.TP.Amanomurakumo.AM.Ionis,{})
  216.             sets.TP.Amanomurakumo.FullAcc.AM.Ionis = set_combine(sets.TP.Amanomurakumo.LightAcc.AM.Ionis,{})
  217.      
  218.             -- Masamune TP Sets --
  219.             sets.TP.Masamune = {}
  220.             sets.TP.Masamune.LightAcc = set_combine(sets.TP.Masamune,{})
  221.             sets.TP.Masamune.FullAcc = set_combine(sets.TP.Masamune.LightAcc,{})
  222.      
  223.             -- Masamune(Ionis) TP Sets --
  224.             sets.TP.Masamune.Ionis = set_combine(sets.TP.Masamune,{})
  225.             sets.TP.Masamune.LightAcc.Ionis = set_combine(sets.TP.Masamune.Ionis,{})
  226.             sets.TP.Masamune.FullAcc.Ionis = set_combine(sets.TP.Masamune.LightAcc.Ionis,{})
  227.  
  228.             -- Kogarasumaru(AM3 Down) TP Sets --
  229.             sets.TP.Kogarasumaru = {
  230.                 range="Cibitshavore",
  231.                 head="Sakonji Kabuto +1",
  232.                 neck="Ganesha's Mala",
  233.                 ear1="Tripudio Earring",
  234.                 ear2="Brutal Earring",
  235.                 body="Sakonji Domaru +1",
  236.                 hands="Wakido Kote +1",
  237.                 ring1="Rajas Ring",
  238.                 ring2="K'ayres Ring",
  239.                 back={ name="Takaha Mantle", augments={'STR+1','"Zanshin"+4','"Store TP"+3',}},
  240.                 waist="Windbuffet Belt +1",
  241.                 legs="Wakido Haidate +1",
  242.                 feet="Sak. Sune-Ate +1"}
  243.             sets.TP.Kogarasumaru.LightAcc = set_combine(sets.TP.Kogarasumaru,{
  244.                 head="yaoyotl helm",
  245.                 neck="Da. Nodowa +1",
  246.                 waist="Olseni Belt",
  247.                 feet="Waki. sune-ate +1"})
  248.             sets.TP.Kogarasumaru.FullAcc = set_combine(sets.TP.Kogarasumaru.LightAcc,{             
  249.                 neck="Iqabi necklace",
  250.                 ear1="Steelflash earring",
  251.                 ear2="Zennaroi Earring",
  252.                 body="Mes. Haubergeon",
  253.                 hands="Sakonji Kote +1",
  254.                 ring1="Mars's Ring",
  255.                 ring2="Enlivened Ring",
  256.                 legs="Wukong's Haka. +1"})
  257.                            
  258.             -- Kogarasumaru(AM3 Up) TP Sets --
  259.             sets.TP.Kogarasumaru.AM3 = set_combine(sets.TP.Kogarasumaru,{
  260.                 range="Cibitshavore",
  261.                 head="Sakonji Kabuto +1",
  262.                 neck="Da. Nodowa +1",
  263.                 ear1="Tripudio Earring",
  264.                 ear2="Brutal Earring",
  265.                 body="Sakonji Domaru +1",
  266.                 hands="Wakido Kote +1",
  267.                 ring1="Rajas Ring",
  268.                 ring2="K'ayres Ring",
  269.                 back={ name="Takaha Mantle", augments={'STR+1','"Zanshin"+4','"Store TP"+3',}},
  270.                 waist="Goading Belt",
  271.                 legs="Wakido Haidate +1",
  272.                 feet="Sak. Sune-Ate +1"})
  273.             sets.TP.Kogarasumaru.LightAcc.AM3 = set_combine(sets.TP.Kogarasumaru.AM3,{
  274.                 head="yaoyotl helm",               
  275.                 waist="Olseni Belt",
  276.                 feet="Waki. sune-ate +1"})
  277.             sets.TP.Kogarasumaru.FullAcc.AM3 = set_combine(sets.TP.Kogarasumaru.LightAcc.AM3,{             
  278.                 neck="Iqabi necklace",
  279.                 ear1="Steelflash earring",
  280.                 ear2="Zennaroi Earring",
  281.                 body="Mes. Haubergeon",
  282.                 hands="Sakonji Kote +1",
  283.                 ring1="Mars's Ring",
  284.                 ring2="Enlivened Ring",
  285.                 legs="Wukong's Haka. +1"})        
  286.      
  287.             -- Third Eye/Seigan TP Set --
  288.             sets.TP['Seigan'] = {
  289.                 head="Unkai Kabuto +2",
  290.                 legs="Sakonji Haidate +1"}
  291.      
  292.             -- PDT/MDT Sets --
  293.             sets.PDT = {
  294.                 head="Otronif mask +1",
  295.                 neck="Twilight Torque",
  296.                 ear1="Black Earring",
  297.                 ear2="Colossus's Earring",
  298.                 body="Emet Harness +1",
  299.                 hands="Sakonji Kote +1",
  300.                 ring1={name="Dark Ring", augments={'Phys. dmg. taken -5%','Magic dmg. taken -4%',}},
  301.                 ring2="Patricius Ring",
  302.                 back="Mollusca Mantle",
  303.                 waist="Flume Belt",
  304.                 legs="Xaddi cuisses",
  305.                 feet="Otronif Boots +1"}
  306.    
  307.             sets.MDT = set_combine(sets.PDT,{
  308.                 head="Ptica Headgear",
  309.                 ear1="Merman's Earring",
  310.                 ear2="Merman's Earring",
  311.                 ring2={ name="Dark Ring", augments={'Magic dmg. taken -5%','Phys. dmg. taken -4%',}},
  312.                 body="Kyujutsugi",
  313.                 legs="Wukong's Haka. +1"})
  314.      
  315.             -- Hybrid Sets --
  316.             sets.TP.Hybrid = set_combine(sets.PDT,{
  317.                 ear1="Steelflash Earring",
  318.                 ear2="Bladeborn Earring"})
  319.             sets.TP.Hybrid.LightAcc = set_combine(sets.TP.Hybrid,{
  320.                 head="Yaoyotl Helm",
  321.                 waist="Dynamic Belt"})
  322.             sets.TP.Hybrid.FullAcc = set_combine(sets.TP.Hybrid.LightAcc,{
  323.                 neck="Iqabi Necklace",
  324.                 ear2="Zennaroi Earring",
  325.                 body="Emet Harness +1",
  326.                 hands="Buremte Gloves",            
  327.                 waist="Olseni Belt",               
  328.                 feet="Waki. Sune-Ate +1"})
  329.      
  330.             -- WS Base Set --
  331.             sets.WS = {
  332.                 range="Cibitshavore",
  333.                 head="Otomi Helm",
  334.                 neck="Iqabi necklace",
  335.                 ear1="Steelflash earring",
  336.                 ear2="Bladeborn earring",
  337.                 body="Mes. Haubergeon",
  338.                 hands="Miki. Gauntlets",
  339.                 ring1="Rajas Ring",
  340.                 ring2="K'ayres Ring",
  341.                 back="Buquwik Cape",
  342.                 waist="Caudata Belt",
  343.                 legs="Wakido Haidate +1",
  344.                 feet="Sak. Sune-Ate +1"}
  345.      
  346.             -- WS Fudo Sets --
  347.             sets.WS["Tachi: Fudo"] = {
  348.                 range="Cibitshavore",
  349.                 head="Otomi Helm",
  350.                 neck="Light Gorget",
  351.                 ear1="Moonshade earring",
  352.                 ear2="Brutal Earring",
  353.                 body="Phorcys Korazin",
  354.                 hands="Miki. Gauntlets",
  355.                 ring1="Ifrit Ring +1",
  356.                 ring2="Ifrit Ring +1",
  357.                 back="Buquwik Cape",
  358.                 waist="Metalsinger Belt",
  359.                 legs="Scuff. Cosciales",
  360.                 feet="Sak. Sune-Ate +1"}               
  361.             sets.WS["Tachi: Fudo"].LightAcc = set_combine(sets.WS["Tachi: Fudo"],{
  362.                 head="Gavialis Helm",
  363.                 ear2="Zennaroi Earring",
  364.                 body="Mes. Haubergeon",
  365.                 ring1="Karieyh Ring",
  366.                 back={ name="Takaha Mantle", augments={'STR+1','"Zanshin"+4','"Store TP"+3',}},
  367.                 waist="Light Belt",
  368.                 legs="Wukong's Haka. +1",
  369.                 feet="Waki. Sune-Ate +1"})             
  370.             sets.WS["Tachi: Fudo"].FullAcc = set_combine(sets.WS["Tachi: Fudo"].LightAcc,{})
  371.            
  372.             -- WS Shoha Sets --
  373.             sets.WS["Tachi: Shoha"] = {
  374.                 range="Cibitshavore",
  375.                 head="Otomi Helm",
  376.                 neck="Ganesha's Mala",
  377.                 ear1="Moonshade earring",
  378.                 ear2="Brutal Earring",
  379.                 body="Phorcys Korazin",
  380.                 hands="Miki. Gauntlets",
  381.                 ring1="Ifrit Ring +1",
  382.                 ring2="Ifrit Ring +1",
  383.                 back="Buquwik Cape",
  384.                 waist="Metalsinger Belt",
  385.                 legs="Scuff. Cosciales",
  386.                 feet="Sak. Sune-Ate +1"}
  387.             sets.WS["Tachi: Shoha"].LightAcc = set_combine(sets.WS["Tachi: Shoha"],{
  388.                 head="Gavialis Helm",
  389.                 neck="Thunder Gorget",
  390.                 back="Takaha Mantle",
  391.                 waist="Thunder Belt",
  392.                 legs="Xaddi cuisses",
  393.                 feet="Waki. Sune-Ate +1"})
  394.             sets.WS["Tachi: Shoha"].FullAcc = set_combine(sets.WS["Tachi: Shoha"].LightAcc,{})
  395.            
  396.             -- WS Kaiten Sets --
  397.             sets.WS["Tachi: Kaiten"] = {}
  398.             sets.WS["Tachi: Kaiten"].LightAcc = set_combine(sets.WS["Tachi: Kaiten"],{})
  399.             sets.WS["Tachi: Kaiten"].FullAcc = set_combine(sets.WS["Tachi: Kaiten"].LightAcc,{})
  400.            
  401.             -- WS Rana Sets --
  402.             sets.WS["Tachi: Rana"] = {
  403.                 range="Cibitshavore",
  404.                 head="Otomi Helm",
  405.                 neck="Light Gorget",
  406.                 ear1="Moonshade earring",
  407.                 ear2="Brutal Earring",
  408.                 body="Mes. Haubergeon",
  409.                 hands="Miki. Gauntlets",
  410.                 ring1="Ifrit Ring +1",
  411.                 ring2="Ifrit Ring +1",
  412.                 back="Buquwik Cape",
  413.                 waist="Metalsinger Belt",
  414.                 legs="Scuff. Cosciales",
  415.                 feet="Sak. Sune-Ate +1"}
  416.             sets.WS["Tachi: Rana"].LightAcc = set_combine(sets.WS["Tachi: Rana"],{
  417.                 head="Gavialis Helm",
  418.                 ear2="Zennaroi Earring",
  419.                 body="Mes. Haubergeon",
  420.                 back={ name="Takaha Mantle", augments={'STR+1','"Zanshin"+4','"Store TP"+3',}},            
  421.                 legs="Wukong's Haka. +1",
  422.                 feet="Waki. Sune-Ate +1"})
  423.             sets.WS["Tachi: Rana"].FullAcc = set_combine(sets.WS["Tachi: Rana"].LightAcc,{
  424.                 waist="Olseni Belt",})
  425.            
  426.             -- WS Namas Sets --
  427.             sets.WS["Namas Arrow"] = {}            
  428.             sets.WS["Namas Arrow"].LightAcc = set_combine(sets.WS["Namas Arrow"],{})               
  429.             sets.WS["Namas Arrow"].FullAcc = set_combine(sets.WS["Namas Arrow"].LightAcc,{})
  430.            
  431.             -- WS Apex Sets --
  432.             sets.WS["Apex Arrow"] = {
  433.                 head="Sakonji Kabuto +1",
  434.                 neck="Light Gorget",               
  435.                 body="Kyujutsugi",
  436.                 hands="Buremte Gloves",
  437.                 ring1="Bellona's Ring",
  438.                 ring2="Paqichikaji Ring",
  439.                 back="Buquwik Cape",
  440.                 waist="Light Belt",
  441.                 legs="Aeto. Trousers +1",
  442.                 feet="Wakido sune-ate +1"}
  443.             sets.WS["Apex Arrow"].LightAcc = set_combine(sets.WS["Apex Arrow"],{})
  444.             sets.WS["Apex Arrow"].FullAcc = set_combine(sets.WS["Apex Arrow"].LightAcc,{})
  445.            
  446.             -- JA Sets --
  447.             sets.JA = {}
  448.             sets.JA['Meditate'] = {head="Wakido Kabuto +1",hands="Sakonji Kote +1",back={ name="Takaha Mantle", augments={'STR+2','"Zanshin"+3','Meditate eff. dur. +5',}}}
  449.             sets.JA['Warding Circle'] = {head="Wakido Kabuto +1"}
  450.             sets.JA['Blade Bash'] = {hands="Sakonji Kote +1"}            
  451.      
  452.             -- Waltz Set --
  453.             sets.Waltz = {}
  454.            
  455.             -- Magic Sets Below
  456.             sets.Precast = {}
  457.             sets.Precast.FastCast = {      
  458.                 head="Otomi Helm",
  459.                 neck="Twilight Torque",    
  460.                 ear2="Loquacious Earring",
  461.                 body="Emet Harness +1",
  462.                 hands="Wakido Kote +1",        
  463.                 ring1={ name="Dark Ring", augments={'Phys. dmg. taken -5%','Magic dmg. taken -4%',}},
  464.                 ring2="Patricius Ring"}
  465.                    
  466.             sets.Midcast = {}
  467.             -- Magic Haste Set --
  468.             sets.Midcast.Haste = set_combine(sets.PDT,{})
  469.            
  470.             -- Midshot Set (Range Accuracy) --
  471.             sets.Midshot = {
  472.                 head="Sakonji Kabuto +1",
  473.                 neck="Iqabi necklace",             
  474.                 body="Kyujutsugi",
  475.                 hands="Buremte Gloves",
  476.                 ring1="Bellona's Ring",
  477.                 ring2="Paqichikaji Ring",
  478.                 back="Terebellum Mantle",
  479.                 waist="Cetl belt",
  480.                 legs="Aeto. Trousers +1",
  481.                 feet="Wakido sune-ate +1"}
  482.     end
  483.      
  484.     function pretarget(spell,action)
  485.             if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  486.                 cancel_spell()
  487.                 send_command('input /item "Echo Drops" <me>')    
  488.             elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  489.                 cancel_spell()
  490.                 send_command('ThirdEye')
  491.             elseif spell.english == "Meditate" and player.tp > 2990 then -- Cancel Meditate If TP Is Above 2990 --
  492.                 cancel_spell()
  493.                 add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')          
  494.             elseif spell.type == "WeaponSkill" and player.tp > 1000 and buffactive['amnesia'] or buffactive['stun'] or buffactive['sleep'] then
  495.                 -- Won't try to Weaponskill and cause blinking when those status effects are on.
  496.                 cancel_spell()
  497.                 add_to_chat(39,spell.name .. ' Canceled: ['..player.name..' Stunned ,Slept or Amnesia]')
  498.             return
  499.             elseif (spell.english == 'Ranged' and spell.target.distance > 24.9) or (player.status == 'Engaged' and (((spell.english == "Namas Arrow" or spell.english == "Apex Arrow") and spell.target.distance > 16+target_distance) or (spell.type == "WeaponSkill" and spell.english ~= "Namas Arrow" and spell.english ~= "Apex Arrow" and spell.target.distance > target_distance))) then -- Cancel Ranged Attack or WS If You Are Out Of Range --
  500.                     cancel_spell()
  501.                     add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  502.                     return
  503.             end
  504.     end    
  505.      
  506.     function precast(spell,action)
  507.             if spell.name == "Ranged" then             
  508.                 if player.equipment.ammo ~= 'empty' then           
  509.                     if player.inventory[player.equipment.ammo].count < 10 then --Less than 10 ammo triggers a warning
  510.                     add_to_chat(8,"Ammo '"..player.inventory[player.equipment.ammo].shortname.."' running low ("..player.inventory[player.equipment.ammo].count.." Remain)")               
  511.                     end
  512.                 end
  513.             end
  514.             if spell.type == "WeaponSkill" then                    
  515.                     equipSet = sets.WS
  516.                     if equipSet[spell.english] then
  517.                         equipSet = equipSet[spell.english]
  518.                     end
  519.                     if equipSet[ACC_Array[ACC_Index]] then
  520.                         equipSet = equipSet[ACC_Array[ACC_Index]]
  521.                     end
  522.                     if spell.name == "Tachi: Fudo" then        
  523.                         if (player.tp > 2999 or buffactive.Sekkanoki or (player.tp > 1999 and buffactive.Hagakure)) then
  524.                             equipSet = set_combine(equipSet,{ear1="Flame Pearl"})              
  525.                         elseif world.day == 'Lightsday' or world.day == 'Iceday' or world.day == 'Watersday' then
  526.                             equipSet = set_combine(equipSet,{head="Gavialis Helm"})                                                        
  527.                         end
  528.                     end
  529.                     if spell.name == "Tachi: Shoha" then           
  530.                         if (player.tp > 2999 or buffactive.Sekkanoki or (player.tp > 1999 and buffactive.Hagakure)) then
  531.                             equipSet = set_combine(equipSet,{ear1="Flame Pearl"})              
  532.                         elseif world.day == 'Darksday' or world.day == 'Thundersday' or world.day == 'Windsday' then
  533.                             equipSet = set_combine(equipSet,{head="Gavialis Helm"})                                                        
  534.                         end        
  535.                     end
  536.                     if spell.english == "Tachi: Rana" and player.tp < 2999 and Rana_WS == 'ON' then -- Cancel Tachi: Rana If TP lower then 2999 (for aftermath 3) --
  537.                         cancel_spell()
  538.                         add_to_chat(123, spell.name .. ' Canceled for Aftermath 3: ['..player.tp..' TP]')
  539.                         return                 
  540.                     elseif spell.english == "Tachi: Rana" and buffactive["Aftermath: Lv.3"] and player.tp > 2999 and Rana_WS == 'ON' then -- Cancels Tachi: Rana while Aftermath Lv. 3 already up
  541.                         cancel_spell()
  542.                         add_to_chat(123, spell.name .. ' Canceled: Aftermath Lv. 3 already up!')
  543.                         return
  544.                     end
  545.                         equip(equipSet)
  546.             end
  547.             if spell.type == "JobAbility" then
  548.                     if sets.JA[spell.english] then
  549.                             equip(sets.JA[spell.english])
  550.                     end
  551.             elseif spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  552.                     if string.find(spell.english,'Utsusemi') then
  553.                             if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  554.                                     cancel_spell()
  555.                                     add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
  556.                                     return
  557.                             else
  558.                                     equip(sets.Precast.FastCast)
  559.                             end
  560.                     else
  561.                             equip(sets.Precast.FastCast)
  562.                     end                
  563.             elseif spell.type == "Waltz" then
  564.                 equip(sets.Waltz)
  565.             elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  566.                 cast_delay(0.2)
  567.                 send_command('cancel Sneak')
  568.             end        
  569.             if Twilight == 'ON' then
  570.                 equip(sets.Twilight)
  571.             end
  572.             if Armor == 'PDT' then
  573.                 equip(sets.PDT)
  574.             end
  575.             if Armor == 'MDT' then
  576.                 equip(sets.MDT)
  577.             end
  578.             if Mecisto == 'ON' then
  579.                 equip(sets.Mecisto)                
  580.             end        
  581.             if Movement == 'ON' then
  582.                 equip(sets.Movement)
  583.                 disable('feet')
  584.             else
  585.                 enable('feet')
  586.             end
  587.             if Rings == 'ON' then
  588.                 equip(sets.Rings)              
  589.             end
  590.             if buffactive["weakness"] then
  591.                 equip(sets.Twilight)
  592.                 disable('head','body')
  593.                 else
  594.                 enable('head','body')
  595.             end
  596.             if buffactive["Meikyo Shisui"] then
  597.                 equip(sets.OneHour)
  598.                 disable('feet')
  599.                 else
  600.                 enable('feet')
  601.             end
  602.     end
  603.    
  604.     function midcast(spell,action)
  605.             if spell.action_type == 'Ranged Attack' then
  606.                 equip(sets.Midshot)
  607.             end
  608.             if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  609.                     if string.find(spell.english,'Utsusemi') then
  610.                             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  611.                                     send_command('@wait 1.7;cancel Copy Image*')
  612.                             end
  613.                             equip(sets.Midcast.Haste)
  614.                     elseif spell.english == 'Monomi: Ichi' then
  615.                             if buffactive['Sneak'] then
  616.                                     send_command('@wait 1.7;cancel sneak')
  617.                             end
  618.                             equip(sets.Midcast.Haste)
  619.                     else
  620.                             equip(sets.Midcast.Haste)
  621.                     end
  622.             end
  623.     end
  624.      
  625.     function aftercast(spell,action)   
  626.         if spell.english == "Warding Circle" and not spell.interrupted then -- Warding Circle Countdown
  627.             send_command('wait 260;input /echo '..spell.name..' Effect: [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..' Effect: [OFF]')
  628.         end
  629.             status_change(player.status)
  630.     end
  631.      
  632.     function status_change(new,old)
  633.             if player.equipment.range ~= 'empty' then
  634.                 disable('range','ammo')
  635.             else
  636.                 enable('range','ammo')
  637.             end
  638.             if Armor == 'PDT' then
  639.                     equip(sets.PDT)
  640.             elseif Armor == 'MDT' then
  641.                     equip(sets.MDT)
  642.             elseif new == 'Engaged' then
  643.                     equipSet = sets.TP
  644.                     if player.mp > 100 then
  645.                         equip{ring2="Oneiros Ring"}
  646.                     else
  647.                         equip{ring2="Enlivened Ring"}
  648.                     end
  649.                     if Armor == 'Hybrid' and equipSet["Hybrid"] then
  650.                             equipSet = equipSet["Hybrid"]
  651.                     end
  652.                     if equipSet[player.equipment.main] then
  653.                             equipSet = equipSet[player.equipment.main]
  654.                     end
  655.                     if equipSet[ACC_Array[ACC_Index]] then
  656.                             equipSet = equipSet[ACC_Array[ACC_Index]]
  657.                     end
  658.                     if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
  659.                             equipSet = equipSet["AM3"]
  660.                     end
  661.                     if buffactive.Aftermath and equipSet["AM"] then
  662.                             equipSet = equipSet["AM"]
  663.                     end    
  664.                     if buffactive.Ionis and equipSet["Ionis"] then
  665.                             equipSet = equipSet["Ionis"]
  666.                     end
  667.                     if buffactive["Seigan"] and Seigan_T == 'ON' then
  668.                             equipSet = set_combine(equipSet,sets.TP["Seigan"])
  669.                     end                    
  670.                     equip(equipSet)
  671.             else
  672.                     equip(sets.Idle[Idle_Array[Idle_Index]])
  673.             end            
  674.             if Twilight == 'ON' then
  675.                 equip(sets.Twilight)
  676.             end        
  677.             if Mecisto == 'ON' then
  678.                 equip(sets.Mecisto)                
  679.             end        
  680.             if Movement == 'ON' then
  681.                 equip(sets.Movement)
  682.                 disable('feet')
  683.                 else
  684.                 enable('feet')
  685.             end
  686.             if TH == 'ON' then
  687.                 equip(sets.TH)                 
  688.             end
  689.             if Rings == 'ON' then
  690.                 equip(sets.Rings)                  
  691.             end
  692.             if buffactive["Meikyo Shisui"] then
  693.                 equip(sets.OneHour)
  694.                 disable('feet')
  695.                 else
  696.                 enable('feet')
  697.             end
  698.             if buffactive["weakness"] then
  699.                 equip(sets.Twilight)
  700.                 disable('head','body')             
  701.                 else
  702.                 enable('head','body')
  703.             end
  704.             if buffactive["Reive Mark"] then
  705.                 equip(sets.ReiveNeck)
  706.                 disable('neck')            
  707.                 else
  708.                 enable('neck')
  709.             end        
  710.     end
  711.    
  712.     function buff_change(buff,gain)            
  713.             if buff == "Hasso" and Auto_Hasso == 'ON' then
  714.                 if not gain then
  715.                     send_command('Hasso')
  716.             end
  717.             elseif buff == "Seigan" and gain then
  718.                     status_change(player.status)
  719.             else
  720.                     status_change(player.status)
  721.             end  
  722.             if buff == "encumbrance" then
  723.                 if not gain then
  724.                     add_to_chat(200,"No longer Encumbered")    
  725.                     equip(sets.Encumber[Encumber_Set_Names[Encumber_Index]])
  726.                 end
  727.             end
  728.             if buff == "sleep" and player.hp > 200 and player.status == "Engaged" then
  729.                 if gain then           
  730.                     equip(sets.Slept)
  731.                     add_to_chat(39,"Slept: [Equipping Berserker's Torque]")        
  732.                 else
  733.                     status_change(player.status)
  734.                     add_to_chat(200,"Awake: [Removing Berserker's Torque]")
  735.                 end    
  736.             end
  737.             if buff == "Yaegasumi" then
  738.                 if gain then
  739.                     send_command('timers create "Yaegasumi" 45 down')
  740.                 else
  741.                     send_command('timers delete "Yaegasumi"')
  742.                     add_to_chat(200,'Yaegasumi: [OFF]')
  743.                 end
  744.             end
  745.             if buff == "weakness" then
  746.                 if gain then
  747.                     send_command('timers create "Weakness" 300 up abilities/00255.png')
  748.                 else
  749.                     send_command('timers delete "Weakness"')
  750.                     add_to_chat(200,'Unweak!')
  751.                 end
  752.             end
  753.             if buff == "Reive Mark" then
  754.                 if gain then                   
  755.                     add_to_chat(39,"Entered a Reive: [Equipping Reive Neck]")
  756.                 else                   
  757.                     add_to_chat(200,"Left a Reive: [Removing Reive Neck]")
  758.                 end
  759.             end
  760.             if buff == "Aftermath: Lv.3" then
  761.                 if gain then
  762.                     send_command('timers create "Aftermath: Lv.3" 180 down')
  763.                 else
  764.                     send_command('timers delete "Aftermath: Lv.3"')
  765.                     add_to_chat(200,'Aftermath: lv.3: [OFF]')
  766.                 end
  767.             end
  768.     end
  769.      
  770.     --Toggle Self Commands with //gs c [command name]
  771.     --Example type in chat //gs c acc (case sensitive)
  772.     --Example Make a macro /console gs c acc (case sensitive)
  773.     function self_command(command)
  774.             if command == 'acc' then -- Acc Toggle for TP/WS/Hybrid --
  775.                     ACC_Index = (ACC_Index % #ACC_Array) + 1
  776.                     add_to_chat(207,'Accuracy Level TP/WS/Hybrid: '..ACC_Array[ACC_Index])
  777.                     status_change(player.status)
  778.             elseif command == 'idle' then -- Idle Toggle --
  779.                     Idle_Index = (Idle_Index % #Idle_Array) + 1
  780.                     add_to_chat(207,'Idle Set: '..Idle_Array[Idle_Index])
  781.                     status_change(player.status)            
  782.             elseif command == 'hybrid' then -- Hybrid Toggle --
  783.                     if Armor == 'Hybrid' then
  784.                             Armor = 'None'
  785.                             add_to_chat(57,'Hybrid Set: [Unlocked]')
  786.                     else
  787.                             Armor = 'Hybrid'
  788.                             add_to_chat(158,'Hybrid Set: '..ACC_Array[ACC_Index])
  789.                     end
  790.                     status_change(player.status)
  791.             elseif command == 'pdt' then -- PDT Toggle --
  792.                     if Armor == 'PDT' then
  793.                             Armor = 'None'
  794.                             add_to_chat(57,'PDT Set: [Unlocked]')
  795.                     else
  796.                             Armor = 'PDT'
  797.                             add_to_chat(158,'PDT Set: [Locked]')
  798.                     end
  799.                     status_change(player.status)
  800.             elseif command == 'mdt' then -- MDT Toggle --
  801.                     if Armor == 'MDT' then
  802.                             Armor = 'None'
  803.                             add_to_chat(57,'MDT Set: [Unlocked]')
  804.                     else
  805.                             Armor = 'MDT'
  806.                             add_to_chat(158,'MDT Set: [Locked]')
  807.                     end
  808.                     status_change(player.status)
  809.             elseif command == 'seigan' then -- Seigan/ThirdEye Toggle --
  810.                     if Seigan_T == 'ON' then
  811.                             Seigan_T = 'OFF'
  812.                             add_to_chat(57,'Seigan Set: [Unlocked]')
  813.                     else
  814.                             Seigan_T = 'ON'
  815.                             add_to_chat(158,'Seigan Set: [Locked]')
  816.                     end
  817.                             status_change(player.status)
  818.             elseif command == 'twilight' then -- Twilight Toggle --
  819.                     if Twilight == 'ON' then
  820.                             Twilight = 'OFF'
  821.                             add_to_chat(57,'Twilight Set: [Unlocked]')
  822.                     else
  823.                             Twilight = 'ON'
  824.                             add_to_chat(158,'Twilight Set: [locked]')
  825.                     end
  826.                     status_change(player.status)
  827.             elseif command == 'distance' then -- Distance Toggle --
  828.                     if player.target.distance then
  829.                             target_distance = math.floor(player.target.distance*10)/10
  830.                             add_to_chat(57,'Distance: '..target_distance)
  831.                     else
  832.                             add_to_chat(158,'No Target Selected')
  833.                     end
  834.             elseif command == 'th' then -- TH Toggle --
  835.                     if TH == 'ON' then
  836.                         TH = 'OFF'                         
  837.                         add_to_chat(57,'Chaac Belt: [OFF]')
  838.                     else
  839.                         TH = 'ON'                          
  840.                         add_to_chat(158,'Chaac Belt: [ON]')
  841.                     end
  842.                     status_change(player.status)
  843.             elseif command == 'rings' then -- Capacity/Warp Ring Toggle --
  844.                     if Rings == 'ON' then
  845.                         Rings = 'OFF'                          
  846.                         add_to_chat(57,'Capacity/Warp Ring: [OFF]')
  847.                     else
  848.                         Rings = 'ON'                           
  849.                         add_to_chat(158,'Capacity/Warp Ring: [ON]')
  850.                     end
  851.                     status_change(player.status)   
  852.             elseif command == 'autohasso' then -- Auto Hasso --
  853.                     if Auto_Hasso == 'ON' then
  854.                         Auto_Hasso = 'OFF'                         
  855.                         add_to_chat(57,'Auto Hasso: [OFF]')
  856.                     else
  857.                         Auto_Hasso = 'ON'                          
  858.                         add_to_chat(158,'Auto Hasso: [ON]')
  859.                     send_command('Hasso')
  860.                     end
  861.             elseif command == 'ranaWS' then -- Rana WS --
  862.                     if Rana_WS == 'ON' then
  863.                         Rana_WS = 'OFF'                        
  864.                         add_to_chat(57,'Tachi: Rana: [@ any TP]')
  865.                     else
  866.                         Rana_WS = 'ON'                         
  867.                         add_to_chat(158,'Tachi: Rana: [@ 3000 TP]')                
  868.                     end    
  869.             elseif command == 'cpmantle' then -- Mecisto. Mantle Toggle --
  870.                     if Mecisto == 'ON' then
  871.                         Mecisto = 'OFF'                        
  872.                         add_to_chat(57,'Mecisto. Mantle: [Unlocked]')
  873.                     else
  874.                         Mecisto = 'ON'                         
  875.                         add_to_chat(158,'Mecisto. Mantle: [Locked]')
  876.                     end
  877.                     status_change(player.status)           
  878.             elseif command == 'movement' then -- Movement Toggle --
  879.                     if Movement == 'ON' then
  880.                         Movement = 'OFF'                           
  881.                         add_to_chat(57,'Movement Set: [OFF]')
  882.                     else
  883.                         Movement = 'ON'                        
  884.                         add_to_chat(158,'Movement Set: [ON]')
  885.                     end
  886.                     status_change(player.status)
  887.             elseif command == 'encumber' then
  888.                     Encumber_Index = Encumber_Index +1
  889.                     if Encumber_Index > #Encumber_Set_Names then Encumber_Index = 1 end
  890.                         add_to_chat(207,'Encumber [Weapon] '..Encumber_Set_Names[Encumber_Index]..'')      
  891.                         equip(sets.Encumber[Encumber_Set_Names[Encumber_Index]])            
  892.             elseif command == 'update' then -- Auto Update Gear Toggle --
  893.                     status_change(player.status)
  894.                     add_to_chat(207,'Auto Update Gear')
  895.             elseif command == 'active' then -- Shows what sets and toggles are active --
  896.                     add_to_chat(8,'Current Active sets below...')
  897.                     add_to_chat(207,'Idle Set Active: '..Idle_Array[Idle_Index]..'')       
  898.                     add_to_chat(207,'Accuracy Level TP/WS/Hybrid Active: '..ACC_Array[ACC_Index]..'')                  
  899.                     add_to_chat(207,'Target distance set to: '..target_distance..'')
  900.                     add_to_chat(207,'TH [Chaac Belt]: '..TH..'')
  901.                     add_to_chat(207,'CP [Mecisto. Mantle]: '..Mecisto..'')
  902.                     add_to_chat(207,'Capacity/Warp Rings: '..Rings..'')
  903.                     add_to_chat(207,'Auto [Hasso]: '..Auto_Hasso..'')
  904.                     add_to_chat(207,'Tachi: Rana [WS]: '..Rana_WS..'')
  905.                     add_to_chat(207,'Movement Set: '..Movement..'')
  906.                     add_to_chat(207,'Twilight Set: '..Twilight..'')
  907.                     add_to_chat(207,'Seigan-Third Eye Set: '..Seigan_T..'')
  908.                     add_to_chat(207,'PDT/MDT Set: '..Armor..'')                            
  909.             end
  910.     end
  911.     function file_unload()
  912.             send_command('unbind f9')
  913.             send_command('unbind f10')
  914.             send_command('unbind f11')
  915.             send_command('unbind f12')
  916.     end
Advertisement
Add Comment
Please, Sign In to add comment