Advertisement
Arnan

THF Lua August 2018

Aug 21st, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 30.14 KB | None | 0 0
  1.        
  2.         ------------------------------------------
  3.         -- ** Arnan Thief Gearswap Lua File *** --
  4.         ------------------------------------------
  5.  
  6.                     -- Commands --
  7.                
  8.                 -- In Game: //gs c, Macro: /console gs c, Bind: gs c --
  9.            
  10.                 -- gs c acc         Toggle accuracy tier for TP/WS
  11.                 -- gs c idle        Toggle idle sets
  12.                
  13.                 -- gs c pdt         PDT on/off
  14.                 -- gs c mdt         MDT on/off
  15.                 -- gs c kiting      Kiting on/off
  16.                 -- gs c hybrid      Hybrid on/off
  17.                
  18.                 -- gs c th          Treasure Hunter TP gear on/off
  19.                 -- gs c evasion     Evasion on/off
  20.                 -- gs c rancor      Rancor TP on/off
  21.  
  22.         ----------
  23.         -- Sets --
  24.         ----------
  25.        
  26. function get_sets()
  27.     AccIndex = 1
  28.     AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. Default ACC Set Is LowACC. The First TP Set Of Your Main Weapon Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
  29.     IdleIndex = 1
  30.     IdleArray = {"Full","DT","Warp"} -- Default Idle Set Is Movement --
  31.     SA = false
  32.     TA = false
  33.     TH = 'OFF' -- Set Default Full TH ON or OFF Here --
  34.     Rancor = 'OFF' -- Set Default Rancor ON or OFF Here --
  35.     target_distance = 6 -- Set Default Distance Here --
  36.     send_command('input /macro book 5;wait .1;input /macro set 1') -- Change Default Macro Book Here --
  37.     add_to_chat(158,'-[Thief Lua Loaded]-')
  38.     add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  39.     add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  40.     add_to_chat(158,'-----[Weapon Skill Keybinds]-----')
  41.     add_to_chat(155,'F9 - Mandalic Stab, F10 - Exenterator, F11 - Evisceration, Delete - Rudras Storm')
  42.     add_to_chat(155,'F12 - Last Stand (mule), Alt+F12 - Leaden Salute (mule), Alt+Delete - Savage Blade (mule)')
  43.    
  44.        
  45.     -- Toutatis's Cape Augments --
  46.     STPCape={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10','Phys. dmg. taken-10%',}}
  47.     WSDCape={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}}
  48.     CritCape={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10',}}
  49.  
  50.         --------------------
  51.         -- Key Binds Load --
  52.         --------------------
  53.        
  54.         -- Key Bind Toggles (The Same for all my job files) (Ctrl Key) --
  55.         send_command('bind ^A input //gs c acc')
  56.         send_command('bind ^D input //gs c pdt')
  57.         send_command('bind ^H input //gs c hybrid')
  58.         send_command('bind ^I input //gs c idle')
  59.         send_command('bind ^K input //gs c kiting')
  60.  
  61.         -- Stuff to control both Mules (Ctrl Key) --
  62.         send_command('bind ^X input /pcmd add ojomo;pause 5;input /pcmd add oeogo')
  63.         send_command('bind ^3 input //send oeogo //ma Cure 3 Arnan')
  64.         send_command('bind ^4 input //send oeogo //ma Cure 4 Arnan')
  65.         send_command('bind ^5 input //send oeogo //ma Refresh Arnan')
  66.         send_command('bind ^7 input //send oeogo //ma haste ojomo')
  67.         send_command('bind ^8 input //send oeogo //ma Dia 2 <t>;pause 2;input //send ojomo //ja Light Shot <t>')
  68.         send_command('bind ^9 input //send ojomo //follow arnan;pause 0.1;input //send oeogo //follow arnan')
  69.         send_command('bind ^0 input //send ojomo //assist arnan;pause 0.1;input //send oeogo //assist arnan')
  70.         send_command('bind ^- input //send ojomo /attack <t>;pause 0.1;input //send oeogo /attack <t>')
  71.  
  72.         -- COR (Mule) Job Ability Key Binds (Alt Key) --
  73.         send_command('bind !7 input //send ojomo //ja Crooked Cards <me>')
  74.         send_command('bind !8 input //send ojomo //ja Snake Eye <me>')
  75.         send_command('bind !9 input //send ojomo //ja Fold <me>')
  76.         send_command('bind !0 input //send ojomo //ja Random Deal <me>')
  77.  
  78.         -- COR (mule) Phantom Roll Key Binds (Alt Key) --
  79.         send_command('bind !A input //send ojomo //ja Allies\' Roll <me>')
  80.         send_command('bind !B input //send ojomo //ja Bolter\'s Roll <me>')
  81.         send_command('bind !C input //send ojomo //ja Chaos Roll <me>')
  82.         send_command('bind !D input //send ojomo //ja Dancer\'s Roll <me>')
  83.         send_command('bind !E input //send ojomo //ja Evoker\s Roll <me>')
  84.         send_command('bind !F input //send ojomo //ja Fighter\'s Roll <me>')
  85.         send_command('bind !G input //send ojomo //ja Gallant\'s Roll <me>')
  86.         send_command('bind !H input //send ojomo //ja Hunter\'s Roll <me>')
  87.         send_command('bind !Q input //send ojomo //ja Warlock\'s Roll <me>')       
  88.         send_command('bind !R input //send ojomo //ja Rogue\'s Roll <me>')
  89.         send_command('bind !S input //send ojomo //ja Samurai Roll <me>')
  90.         send_command('bind !T input //send ojomo //ja Tactician\'s Roll <me>')
  91.         send_command('bind !W input //send ojomo //ja Wizard\'s Roll <me>')
  92.         send_command('bind !X input //send ojomo //ja Corsair\'s Roll <me>')
  93.  
  94.         -- GEO (Mule) Job Ability Key Binds (Win Key) --
  95.         send_command('bind @3 input //send oeogo //ja Radial Arcana <me>')
  96.         send_command('bind @5 input //send oeogo //ma Refresh <me>')
  97.         send_command('bind @7 input //send oeogo //ja Blaze of Glory <me>')
  98.         send_command('bind @8 input //send oeogo //ja Ecliptic Attrition <me>')
  99.         send_command('bind @9 input //send oeogo //ja Life Cycle <me>')
  100.         send_command('bind @0 input //send oeogo //ja Lasting Emanation <me>')
  101.  
  102.         -- GEO (Mule) Nuke Key Binds (Win Key) --
  103.         send_command('bind @F1 input //send oeogo /ma Aero V <t>;pause 0.5;input //send oeogo /ma Aero IV <t>;pause 0.5;input //send oeogo /ma Aero III <t>;')
  104.         send_command('bind @F2 input //send oeogo /ma Fire V <t>;pause 0.5;input //send oeogo /ma Fire IV <t>;pause 0.5;input //send oeogo /ma Fire III <t>;')
  105.         send_command('bind @F3 input //send oeogo /ma Thunder V <t>;pause 0.5;input //send oeogo /ma Thunder IV <t>;pause 0.5;input //send oeogo /ma Thunder III <t>;')
  106.         send_command('bind @F4 input //send oeogo /ma Stone V <t>;pause 0.5;input //send oeogo /ma Stone IV <t>;pause 0.5;input //send oeogo /ma Stone III <t>;')
  107.         send_command('bind @F5 input //send oeogo /ma Water V <t>;pause 0.5;input //send oeogo /ma Water IV <t>;pause 0.5;input //send oeogo /ma Water III <t>;')
  108.         send_command('bind @F6 input //send oeogo /ma Blizzard V <t>;pause 0.5;input //send oeogo /ma Blizzard IV <t>;pause 0.5;input //send oeogo /ma Blizzard III <t>;')
  109.  
  110.         -- GEO (Mule) Indicolure Spells (Win Key) --
  111.         send_command('bind @1 input //send oeogo /ma Indi-Regen <me>')
  112.         send_command('bind @2 input //send oeogo /ma Indi-Refresh <me>')
  113.         send_command('bind @D input //send oeogo /ma Indi-DEX <me>')
  114.         send_command('bind @A input //send oeogo /ma Indi-Acumen <me>')
  115.         send_command('bind @F input //send oeogo /ma Indi-Fury <me>')
  116.         send_command('bind @H input //send oeogo /ma Indi-Haste <me>')
  117.         send_command('bind @K input //send oeogo /ma Indi-Focus <me>')
  118.         send_command('bind @P input //send oeogo /ma Indi-Precision <me>')
  119.         send_command('bind @Q input //send oeogo /ma Indi-Barrier <me>')
  120.         send_command('bind @S input //send oeogo /ma Indi-STR <me>')
  121.         send_command('bind @V input //send oeogo /ma Indi-Attunement <me>')
  122.  
  123.         -- GEO (Mule) Geocolure Spells (Alt+Win Keys) --
  124.         send_command('bind !@1 input //send oeogo /ma Geo-Regen <me>')
  125.         send_command('bind !@2 input //send oeogo /ma Geo-Refresh <me>')
  126.         send_command('bind !@A input //send oeogo /ma Geo-Malaise <t>')
  127.         send_command('bind !@D input //send oeogo /ma Geo-DEX <me>')
  128.         send_command('bind !@F input //send oeogo /ma Geo-Frailty <t>')
  129.         send_command('bind !@H input //send oeogo /ma Geo-Haste <me>')
  130.         send_command('bind !@K input //send oeogo /ma Geo-Languor <t>')
  131.         send_command('bind !@P input //send oeogo /ma Geo-Torpor <t>') --
  132.         send_command('bind !@Q input //send oeogo /ma Geo-Wilt <t>') --
  133.         send_command('bind !@S input //send oeogo /ma Geo-STR <me>')
  134.         send_command('bind !@V input //send oeogo /ma Geo-Vex <t>')
  135.  
  136.         -- GEO (Mule) Entrust Indicolure Spells (Ctrl+Win Keys) --
  137.         send_command('bind ^@1 input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Regen Arnan')
  138.         send_command('bind ^@2 input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Refresh Arnan')
  139.         send_command('bind ^@A input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Acumen Arnan')
  140.         send_command('bind ^@D input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-DEX Arnan')
  141.         send_command('bind ^@F input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Fury Arnan')
  142.         send_command('bind ^@H input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Haste Arnan')
  143.         send_command('bind ^@K input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Focus Arnan')
  144.         send_command('bind ^@P input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Precision Arnan')
  145.         send_command('bind ^@Q input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Barrier Arnan')
  146.         send_command('bind ^@S input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-STR Arnan')
  147.         send_command('bind ^@V input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Attunement Arnan')
  148.        
  149.         -- Thief Job Key Binds (Ctrl & Ctrl+Alt Keys) --
  150.         send_command('bind ^P input //ja Provoke <t>')
  151.         send_command('bind ^Z input //ja Berserk <me>')
  152.  
  153.         -- Thief Weapon Skill Key Binds --
  154.         send_command('bind F9 input /ws "Mandalic Stab" <t>')
  155.         send_command('bind F10 input /ws "Exenterator" <t>')
  156.         send_command('bind F11 input /ws "Evisceration" <t>')
  157.         send_command('bind Delete input /ws "Rudra\'s Storm" <t>')
  158.  
  159.         -- COR (mule) Weapon Skill Key Binds --
  160.         send_command('bind F12 input //send ojomo /ws "Last Stand" <t>')
  161.         send_command('bind !F12 input //send ojomo "Leaden Salute" <t>')
  162.         send_command('bind !Delete input //send ojomo /ws "Savage Blade" <t>') 
  163.  
  164.         ----------------------
  165.         -- Key Binds Unload --
  166.         ----------------------
  167.  
  168.         function file_unload()
  169.         -- Unbind Toggles --
  170.         send_command('unbind ^A')
  171.         send_command('unbind ^D')
  172.         send_command('unbind ^H')
  173.         send_command('unbind ^I')
  174.         send_command('unbind ^K')
  175.         -- Unbind Stuff to control both Mules --
  176.         send_command('unbind ^X')
  177.         send_command('unbind ^3')
  178.         send_command('unbind ^4')
  179.         send_command('unbind ^4')
  180.         send_command('unbind ^7')
  181.         send_command('unbind ^8')
  182.         send_command('unbind ^9')
  183.         send_command('unbind ^0')
  184.         send_command('unbind ^-')
  185.         -- Unbind COR JA's --
  186.         send_command('unbind !7')
  187.         send_command('unbind !8')
  188.         send_command('unbind !9')
  189.         send_command('unbind !0')
  190.         -- Unbind COR Rolls --
  191.         send_command('unbind !A')
  192.         send_command('unbind !B')
  193.         send_command('unbind !C')
  194.         send_command('unbind !D')
  195.         send_command('unbind !E')
  196.         send_command('unbind !F')
  197.         send_command('unbind !G')
  198.         send_command('unbind !H')
  199.         send_command('unbind !Q')
  200.         send_command('unbind !R')
  201.         send_command('unbind !S')
  202.         send_command('unbind !T')
  203.         send_command('unbind !W')
  204.         send_command('unbind !X')
  205.         -- Unbind GEO JA's --
  206.         send_command('unbind @3')
  207.         send_command('unbind @5')
  208.         send_command('unbind @7')
  209.         send_command('unbind @8')
  210.         send_command('unbind @9')
  211.         send_command('unbind @0')
  212.         -- Unbind GEO Nukes --
  213.         send_command('unbind @F1')
  214.         send_command('unbind @F2')
  215.         send_command('unbind @F3')
  216.         send_command('unbind @F4')
  217.         send_command('unbind @F5')
  218.         send_command('unbind @F6')
  219.         -- Unbind GEO Indi Spells --
  220.         send_command('unbind @1')
  221.         send_command('unbind @2')
  222.         send_command('unbind @A')
  223.         send_command('unbind @D')
  224.         send_command('unbind @F')
  225.         send_command('unbind @H')
  226.         send_command('unbind @K')
  227.         send_command('unbind @P')
  228.         send_command('unbind @Q')
  229.         send_command('unbind @S')
  230.         send_command('unbind @V')
  231.         -- Unbind GEO Geocolure Spells --
  232.         send_command('unbind !@1')
  233.         send_command('unbind !@2')
  234.         send_command('unbind !@A')
  235.         send_command('unbind !@D')
  236.         send_command('unbind !@F')
  237.         send_command('unbind !@H')
  238.         send_command('unbind !@K')
  239.         send_command('unbind !@P')
  240.         send_command('unbind !@Q')
  241.         send_command('unbind !@S')
  242.         send_command('unbind !@V')
  243.         -- Unbind GEO Entrust Spells --
  244.         send_command('unbind ^@1')
  245.         send_command('unbind ^@2')
  246.         send_command('unbind ^@A')
  247.         send_command('unbind ^@D')
  248.         send_command('unbind ^@F')
  249.         send_command('unbind ^@H')
  250.         send_command('unbind ^@K')
  251.         send_command('unbind ^@P')
  252.         send_command('unbind ^@Q')
  253.         send_command('unbind ^@S')
  254.         send_command('unbind ^@V')
  255.         -- Unbind THF Job Binds --
  256.         send_command('unbind ^P')
  257.         send_command('unbind ^Z')
  258.         -- Unload Weapon Skill Key Binds --
  259.         send_command('unbind F9')
  260.         send_command('unbind F10')     
  261.         send_command('unbind F11')     
  262.         send_command('unbind F12') 
  263.         send_command('unbind !F12')                
  264.         send_command('unbind Delete')
  265.         send_command('unbind !Delete')
  266.         end
  267.    
  268.     --------------------
  269.     -- Idle/Town Sets --
  270.     --------------------
  271.     sets.Idle = {
  272.             ammo="Staunch Tathlum +1",
  273.             head="Turms Cap",
  274.             neck="Bathy Choker +1",
  275.             ear1="Infused Earring",
  276.             ear2="Odnowa Earring +1",
  277.             body="Meg. Cuirie +2",
  278.             hands="Meg. Gloves +2",
  279.             ring1="Defending Ring",
  280.             ring2="Meghanada Ring",
  281.             back="Moonlight Cape",
  282.             waist="Flume Belt +1",
  283.             legs="Meg. Chausses +2",
  284.             feet="Jute Boots +1"}
  285.     sets.Idle.Full = set_combine(sets.Idle,{})
  286.     sets.Idle.DT = set_combine(sets.Idle,{
  287.             neck="Loricate Torque +1"})
  288.     sets.Idle.Warp = set_combine(sets.Idle,{
  289.             ring2="Warp Ring"})
  290.            
  291.     -------------
  292.     -- TP Sets --
  293.     -------------
  294.            
  295.     -- Normal TP Sets --
  296.     sets.TP = {                    
  297.             ammo="Yetshila +1",
  298.             head="Adhemar Bonnet +1",
  299.             neck="Anu Torque",
  300.             ear1="Suppanomimi",
  301.             ear2="Eabani Earring",
  302.             body="Adhemar Jacket +1",
  303.             hands="Adhemar Wrist. +1",
  304.             ring1="Hetairoi Ring",
  305.             ring2="Epona's Ring",
  306.             back=STPCape,
  307.             waist="Reiki Yotai",
  308.             legs="Pill. Culottes +3",
  309.             feet="Plun. Poulaines +3"}
  310.     sets.TP.MidACC = set_combine(sets.TP,{    
  311.             ammo="Yamarang",
  312.             head="Dampening Tam",
  313.             ring1="Regal Ring"})
  314.     sets.TP.HighACC = set_combine(sets.TP.MidACC,{
  315.             neck="Combatant's Torque",
  316.             ear2="Mache Earring +1",
  317.             ring2="Chirich Ring +1",
  318.             waist="Olseni Belt"})
  319.  
  320.     -- Capped Magic Haste --
  321.     sets.TP.MidHaste = {            
  322.             ammo="Yetshila +1",
  323.             head="Adhemar Bonnet +1",
  324.             neck="Anu Torque",
  325.             ear1="Suppanomimi",
  326.             ear2="Sherida Earring",
  327.             body="Pillager's Vest +3",
  328.             hands="Adhemar Wrist. +1",
  329.             ring1="Hetairoi Ring",
  330.             ring2="Epona's Ring",
  331.             back=STPCape,
  332.             waist="Windbuffet Belt +1",
  333.             legs="Pill. Culottes +3",
  334.             feet="Plun. Poulaines +3"}
  335.     sets.TP.MidACC.MidHaste = set_combine(sets.TP.MidHaste,{
  336.             head="Dampening Tam",  
  337.             ring1="Regal Ring"})
  338.     sets.TP.HighACC.MidHaste = set_combine(sets.TP.MidACC.MidHaste,{
  339.             neck="Combatant's Torque",
  340.             ear1="Mache Earring +1",
  341.             ear2="Mache Earring +1",
  342.             waist="Olseni Belt"})
  343.  
  344.     -- Capped Magic Haste + Samba --
  345.     sets.TP.HighHaste = {            
  346.             ammo="Yetshila +1",
  347.             head="Adhemar Bonnet +1",
  348.             neck="Anu Torque",
  349.             ear1="Cessance Earring",
  350.             ear2="Sherida Earring",
  351.             body="Pillager's Vest +3",
  352.             hands="Adhemar Wrist. +1",
  353.             ring1="Hetairoi Ring",
  354.             ring2="Epona's Ring",
  355.             back=STPCape,
  356.             waist="Windbuffet Belt +1",
  357.             legs="Pill. Culottes +3",
  358.             feet="Plun. Poulaines +3"}
  359.     sets.TP.MidACC.HighHaste = set_combine(sets.TP.HighHaste,{
  360.             head="Dampening Tam",
  361.             ring1="Regal Ring"})
  362.     sets.TP.HighACC.HighHaste = set_combine(sets.TP.MidACC.HighHaste,{
  363.             neck="Combatant's Torque",
  364.             ear2="Mache Earring +1",
  365.             waist="Olseni Belt"})
  366.            
  367.     -- Full TH TP Set --
  368.     sets.TP.TH = {feet="Skulk. Poulaines +1"}
  369.  
  370.     -- TP Rancor --
  371.     sets.TP.Rancor = {}
  372.  
  373.         -----------------------
  374.         -- Damage Taken Sets --
  375.         -----------------------
  376.    
  377.     -- PDT Set --
  378.     sets.PDT = {
  379.             ammo="Staunch Tathlum +1",
  380.             head="Meghanada Visor +2",
  381.             neck="Loricate Torque +1",
  382.             ear1="Genmei Earring",
  383.             ear2="Odnowa Earring +1",
  384.             body="Meg. Cuirie +2",
  385.             hands="Meg. Gloves +2",
  386.             ring1="Defending Ring",
  387.             ring2="Moonlight Ring",
  388.             back="Moonlight Cape",
  389.             waist="Flume Belt +1",
  390.             legs="Mummu Kecks +2",
  391.             feet="Meg. Jam. +2"}
  392.  
  393.     -- MDT Set --
  394.     sets.MDT = set_combine(sets.PDT,{})
  395.            
  396.     -- Kiting Set --
  397.     sets.Kiting =  set_combine(sets.PDT,{feet="Jute Boots +1"})
  398.  
  399.     -- Hybrid/Evasion Sets --
  400.     sets.TP.Hybrid = set_combine(sets.PDT,{})
  401.     sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  402.     sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  403.  
  404.     sets.Evasion = set_combine(sets.PDT,{})
  405.  
  406.         -----------------------
  407.         -- Weapon Skill Sets --
  408.         -----------------------
  409.    
  410.     -- WS Base Set --
  411.     sets.WS = {}
  412.  
  413.     -- WS Sets --
  414.     sets.WS.Evisceration = {
  415.             ammo="Yetshila +1",
  416.             head="Adhemar Bonnet +1",
  417.             neck="Fotia Gorget",
  418.             ear1="Moonshade Earring",
  419.             ear2="Sherida Earring",
  420.             body="Adhemar Jacket +1",
  421.             hands="Adhemar Wrist. +1",
  422.             ring1="Begrudging Ring",
  423.             ring2="Epona's Ring",
  424.             back=CritCape,
  425.             waist="Fotia Belt",
  426.             legs="Pill. Culottes +3",
  427.             feet="Adhe. Gamashes +1"}
  428.     sets.WS.Evisceration.SA = set_combine(sets.WS.Evisceration,{})
  429.     sets.WS.Evisceration.TA = set_combine(sets.WS.Evisceration,{})
  430.  
  431.     sets.WS["Rudra's Storm"] = {
  432.             ammo="Falcon Eye",
  433.             head="Pill. Bonnet +3",
  434.             neck="Caro Necklace",
  435.             ear1="Moonshade Earring",
  436.             ear2="Ishvara Earring",
  437.             body="Adhemar Jacket +1",
  438.             hands="Meg. Gloves +2",
  439.             ring1="Regal Ring",
  440.             ring2="Ilabrat Ring",
  441.             back=WSDCape,
  442.             waist="Artful Belt +1",
  443.             legs="Lustr. Subligar +1",
  444.             feet="Lustra. Leggings +1"}
  445.     sets.WS["Rudra's Storm"].SA = set_combine(sets.WS["Rudra's Storm"],{
  446.             ammo="Yetshila +1",
  447.             body="Meg. Cuirie +2"})
  448.     sets.WS["Rudra's Storm"].TA = set_combine(sets.WS["Rudra's Storm"],{
  449.             ammo="Yetshila +1",
  450.             body="Meg. Cuirie +2"})
  451.            
  452.     sets.WS.Exenterator = {
  453.             ammo="Falcon Eye",
  454.             head="Meghanada Visor +2",
  455.             neck="Fotia Gorget",
  456.             ear1="Brutal Earring",
  457.             ear2="Sherida Earring",
  458.             body="Pillager's Vest +3",
  459.             hands="Meg. Gloves +2",
  460.             ring1="Regal Ring",
  461.             ring2="Epona's Ring",
  462.             back=STPCape,
  463.             waist="Fotia Belt",
  464.             legs="Meg. Chausses +2",
  465.             feet="Plun. Poulaines +3"}
  466.     sets.WS.Exenterator.SA = set_combine(sets.WS.Exenterator,{})
  467.     sets.WS.Exenterator.TA = set_combine(sets.WS.Exenterator,{})
  468.  
  469.     sets.WS["Aeolian Edge"] = {}
  470.  
  471.     sets.WS["Mandalic Stab"] =  set_combine(sets.WS["Rudra's Storm"],{})
  472.     sets.WS["Mandalic Stab"].SA = set_combine(sets.WS["Rudra's Storm"].SA,{})
  473.     sets.WS["Mandalic Stab"].TA = set_combine(sets.WS["Rudra's Storm"].TA,{})
  474.  
  475.     -------------
  476.     -- JA Sets --
  477.     -------------
  478.     sets.JA = {}
  479.     TH_Gear = {feet="Skulk. Poulaines +1"}
  480.     sets.JA.Conspirator = {body="Skulker's Vest +1"}
  481.     sets.JA.Accomplice = {head="Skulker's Bonnet +1"}
  482.     sets.JA.Collaborator = {head="Skulker's Bonnet +1"}
  483.     sets.JA["Perfect Dodge"] = {hands="Plun. Armlets +1"}
  484.     sets.JA.Steal = {head="Plun. Bonnet +1",hands="Pill. Armlets +1",feet="Pill. Poulaines +1"}
  485.     sets.JA.Flee = {feet="Pill. Poulaines +1"}
  486.     sets.JA.Feint = {legs="Plun. Culottes +1"}
  487.     sets.JA.Despoil = {feet="Skulk. Poulaines +1"}
  488.     sets.JA.Mug = {head="Plun. Bonnet +1"}
  489.     sets.JA.Hide = {body="Pillager's Vest +3"}
  490.     sets.JA.Provoke = TH_Gear
  491.     sets.JA["Sneak Attack"] = {}
  492.     sets.JA["Trick Attack"] = set_combine(sets.JA["Sneak Attack"],{})
  493.  
  494.     -- Step Set --
  495.     sets.Step = set_combine({},TH_Gear)
  496.  
  497.     -- Flourish Set --
  498.     sets.Flourish = set_combine({},TH_Gear)
  499.  
  500.     -- Waltz Set --
  501.     sets.Waltz = {}
  502.  
  503.     ----------------
  504.     -- Magic Sets --
  505.     ----------------
  506.    
  507.     -- Precast Sets --
  508.     sets.Precast = {                        
  509.                         ammo="Impatiens",
  510.                         neck="Orunmila's Torque",
  511.                         ear1="Loquac. Earring",
  512.                         ear2="Odnowa Earring +1",
  513.                         body="Taeon Tabard",
  514.                         hands="Leyline Gloves",
  515.                         ring1="Lebeche Ring",
  516.                         ring2="Kishar Ring",
  517.                         back="Moonlight Cape",
  518.                         waist="Flume Belt +1"}
  519.    
  520.     -- Fastcast Set --
  521.     sets.Precast.FastCast = {                        
  522.                         ammo="Impatiens",
  523.                         neck="Orunmila's Torque",
  524.                         ear1="Loquac. Earring",
  525.                         ear2="Odnowa Earring +1",
  526.                         body="Taeon Tabard",
  527.                         hands="Leyline Gloves",
  528.                         ring1="Lebeche Ring",
  529.                         ring2="Kishar Ring",
  530.                         back="Moonlight Cape",
  531.                         waist="Flume Belt +1"}
  532.    
  533.     -- Utsusemi Precast Set --
  534.     sets.Precast.Utsusemi = set_combine(sets.Precast.FastCast,{})
  535.  
  536.     -- Midcast Base Set --
  537.     sets.Midcast = set_combine(sets.PDT,{              
  538.                         ammo="Staunch Tathlum +1",
  539.                         neck="Orunmila's Torque",
  540.                         ear1="Loquac. Earring",
  541.                         ear2="Odnowa Earring +1",
  542.                         body="Taeon Tabard",
  543.                         hands="Plun. Armlets +1",
  544.                         ring1="Defending Ring",
  545.                         ring2="Kishar Ring",
  546.                         back="Moonlight Cape",
  547.                         waist="Flume Belt +1",
  548.                         feet="Skulk. Poulaines +1"})
  549.    
  550.     -- Magic Haste Set --
  551.     sets.Midcast.Haste = set_combine(sets.PDT,{              
  552.                         ammo="Staunch Tathlum +1",
  553.                         neck="Orunmila's Torque",
  554.                         ear1="Loquac. Earring",
  555.                         ear2="Odnowa Earring +1",
  556.                         body="Taeon Tabard",
  557.                         hands="Leyline Gloves",
  558.                         ring1="Defending Ring",
  559.                         ring2="Kishar Ring",
  560.                         back="Moonlight Cape",
  561.                         waist="Flume Belt +1"})
  562.                        
  563.     -- Sleepga --
  564.     sets.Midcast.Sleepga = {hands="Plun. Armlets +1",feet="Skulk. Poulaines +1"}
  565.    
  566. end
  567.  
  568.         ----------------
  569.         -- Pre-Target --
  570.         ----------------
  571.  
  572. function pretarget(spell,action)
  573.     if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  574.         cancel_spell()
  575.         send_command('input /item "Echo Drops" <me>')
  576.     elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  577.         cancel_spell()
  578.         send_command('Aggressor')
  579.     elseif (spell.english == 'Ranged' and spell.target.distance > 24.9) or (spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged') then -- Cancel Ranged Attack or WS If You Are Out Of Range --
  580.         cancel_spell()
  581.         add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  582.         return
  583.     end
  584. end
  585.  
  586.         --------------
  587.         -- Pre-Cast --
  588.         --------------
  589.  
  590. function precast(spell,action)
  591.     if spell.type == "WeaponSkill" then
  592.         if player.status ~= 'Engaged' then
  593.         return
  594.         else
  595.             equipSet = sets.WS
  596.             if equipSet[spell.english] then
  597.                 equipSet = equipSet[spell.english]
  598.             end
  599.             if SA and equipSet["SA"] then
  600.                 equipSet = equipSet["SA"]
  601.             end
  602.             if TA and equipSet["TA"] then
  603.                 equipSet = equipSet["TA"]
  604.             end
  605.             if spell.english == "Evisceration" and (player.tp > 2750 or (player.equipment.main == 'Aeneas' and player.tp > 2250)) then
  606.                 equipSet = set_combine(equipSet,{ear1="Mache Earring +1"})
  607.             elseif spell.english == "Rudra's Storm" and (player.tp > 2750 or (player.equipment.main == 'Aeneas' and player.tp > 2250)) then
  608.                 equipSet = set_combine(equipSet,{ear1="Mache Earring +1"})
  609.             end
  610.             equip(equipSet)
  611.         end
  612.     elseif spell.type=="JobAbility" then
  613.         if sets.JA[spell.english] then
  614.             equip(sets.JA[spell.english])
  615.         end
  616.         if spell.english=="Sneak Attack" then
  617.             SA = true
  618.         end
  619.         if spell.english=="Trick Attack" then
  620.             TA = true
  621.         end
  622.     elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" or spell.type == "Trust" then
  623.         if string.find(spell.english,'Utsusemi') then
  624.             if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  625.                 cancel_spell()
  626.                 add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
  627.                 return
  628.             else
  629.                 equip(sets.Precast.Utsusemi)
  630.             end
  631.         else
  632.             equip(sets.Precast.FastCast)
  633.         end
  634.     elseif spell.type == 'Step' then
  635.         equip(sets.Step)
  636.     elseif string.find(spell.type,'Flourish') then
  637.         equip(sets.Flourish)
  638.     elseif spell.type == "Waltz" then
  639.         equip(sets.Waltz)
  640.     elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  641.         cast_delay(0.2)
  642.         send_command('cancel Sneak')
  643.     end
  644. end
  645.  
  646.         --------------
  647.         -- Mid-Cast --
  648.         --------------
  649.  
  650. function midcast(spell,action)
  651.     if spell.english == 'Ranged' then
  652.         equip(TH_Gear)
  653.     elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" or spell.type == "Trust" then
  654.         if string.find(spell.english,'Utsusemi') then
  655.             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  656.                 send_command('@wait 1.7;cancel Copy Image*')
  657.             end
  658.             equip(sets.Midcast.Haste)
  659.         elseif spell.english == 'Monomi: Ichi' then
  660.             if buffactive['Sneak'] then
  661.                 send_command('@wait 1.7;cancel sneak')
  662.             end
  663.             equip(sets.Midcast.Haste)
  664.         else
  665.             equip(sets.Midcast.Haste)
  666.         end
  667.     end
  668. end
  669.  
  670.         ----------------
  671.         -- After-Cast --
  672.         ----------------
  673.  
  674. function aftercast(spell,action)
  675.     if spell.type == "WeaponSkill" and not spell.interrupted then
  676.         send_command('wait 0.2;gs c TP')
  677.     end
  678.     status_change(player.status)
  679. end
  680.  
  681.         -------------------
  682.         -- Status Change --
  683.         -------------------
  684.  
  685. function status_change(new,old)
  686.     if player.equipment.range ~= 'empty' then
  687.         disable('range','ammo')
  688.     else
  689.         enable('range','ammo')
  690.     end
  691.     if Armor == 'PDT' or buffactive.Terror or buffactive.Stun or buffactive.Petrification or buffactive.Sleep then
  692.         equip(sets.PDT)
  693.     elseif Armor == 'MDT' then
  694.         equip(sets.MDT)
  695.     elseif Armor == 'Kiting' then
  696.         equip(sets.Kiting)
  697.     elseif Armor == 'EVA' then
  698.         equip(sets.Evasion)
  699.     elseif new == 'Engaged' then
  700.         equipSet = sets.TP
  701.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  702.             equipSet = equipSet["Hybrid"]
  703.         end
  704.         if equipSet[AccArray[AccIndex]] then
  705.             equipSet = equipSet[AccArray[AccIndex]]
  706.         end
  707.         if buffactive.March and buffactive['Haste Samba'] and (buffactive.Embrava or buffactive.Haste) or (buffactive.Haste == 2) and buffactive['Haste Samba'] and equipSet["HighHaste"] then
  708.             equipSet = equipSet["HighHaste"]
  709.         end
  710.         if buffactive.March and (buffactive.Embrava or buffactive.Haste) or (buffactive.Haste == 2) and equipSet["MidHaste"] then
  711.             equipSet = equipSet["MidHaste"]
  712.         end
  713.         if SA then
  714.             equipSet = set_combine(equipSet,sets.JA["Sneak Attack"])
  715.         end
  716.         if TA then
  717.             equipSet = set_combine(equipSet,sets.JA["Trick Attack"])
  718.         end
  719.         if Rancor == 'ON' then -- Use Rancor Toggle For Rancor Collar --
  720.             equipSet = set_combine(equipSet,sets.TP.Rancor)
  721.         end
  722.         if TH == 'ON' then -- Use TH Toggle To Lock Full TH Set --
  723.             equipSet = set_combine(equipSet,sets.TP.TH)
  724.         end
  725.         equip(equipSet)
  726.     else
  727.         equip(sets.Idle[IdleArray[IdleIndex]])
  728.     end
  729. end
  730.  
  731.         -----------------
  732.         -- Buff Change --
  733.         -----------------
  734.  
  735.  function buff_change(buff,gain,loss)
  736.     buff = string.lower(buff)
  737.     if gain then  
  738.         add_to_chat(158,'--- Gained: ['..buff..']')
  739.     elseif loss then
  740.         add_to_chat(123,'--- Lost: ['..buff..']')
  741.     elseif buff == "sneak attack" then
  742.         SA = gain
  743.     elseif buff == "trick attack" then
  744.         TA = gain
  745.     end
  746.     if not midaction() then
  747.         status_change(player.status)
  748.     end
  749.  end
  750.  
  751.         -------------------------------------------------------------------------------------
  752.         -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  753.         -------------------------------------------------------------------------------------
  754.  
  755. function self_command(command)
  756.     if command == 'acc' then -- Accuracy Level Toggle --
  757.         AccIndex = (AccIndex % #AccArray) + 1
  758.         status_change(player.status)
  759.         add_to_chat(155,'Accuracy Level: ' .. AccArray[AccIndex])
  760.     elseif command == 'update' then -- Auto Update Gear Toggle --
  761.         status_change(player.status)
  762.         add_to_chat(155,'Auto Update Gear')
  763.     elseif command == 'hybrid' then -- Hybrid Toggle --
  764.         if Armor == 'Hybrid' then
  765.             Armor = 'None'
  766.             add_to_chat(123,'Hybrid Set: [Unlocked]')
  767.         else
  768.             Armor = 'Hybrid'
  769.             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  770.         end
  771.         status_change(player.status)
  772.     elseif command == 'th' then -- Full TH Set Toggle --
  773.         if TH == 'ON' then
  774.             TH = 'OFF'
  775.             add_to_chat(123,'Full TH Set: [Unlocked]')
  776.         else
  777.             TH = 'ON'
  778.             add_to_chat(158,'Full TH Set: [Locked]')
  779.         end
  780.         status_change(player.status)
  781.     elseif command == 'pdt' then -- PDT Toggle --
  782.         if Armor == 'PDT' then
  783.             Armor = 'None'
  784.             add_to_chat(123,'PDT Set: [Unlocked]')
  785.         else
  786.             Armor = 'PDT'
  787.             add_to_chat(158,'PDT Set: [Locked]')
  788.         end
  789.         status_change(player.status)
  790.     elseif command == 'mdt' then -- MDT Toggle --
  791.         if Armor == 'MDT' then
  792.             Armor = 'None'
  793.             add_to_chat(123,'MDT Set: [Unlocked]')
  794.         else
  795.             Armor = 'MDT'
  796.             add_to_chat(158,'MDT Set: [Locked]')
  797.         end
  798.         status_change(player.status)
  799.     elseif command == 'kiting' then -- Kiting Toggle --
  800.         if Armor == 'Kiting' then
  801.             Armor = 'None'
  802.             add_to_chat(123,'Kiting Set: [Unlocked]')
  803.         else
  804.             Armor = 'Kiting'
  805.             add_to_chat(158,'Kiting Set: [Locked]')
  806.         end
  807.             status_change(player.status)
  808.     elseif command == 'evasion' then -- Evasion Toggle --
  809.         if Armor == 'EVA' then
  810.             Armor = 'None'
  811.             add_to_chat(123,'Evasion Set: [Unlocked]')
  812.         else
  813.             Armor = 'EVA'
  814.             add_to_chat(158,'Evasion Set: [Locked]')
  815.         end
  816.         status_change(player.status)
  817.     elseif command == 'rancor' then -- Rancor Toggle --
  818.         if Rancor == 'ON' then
  819.             Rancor = 'OFF'
  820.             add_to_chat(123,'Rancor: [OFF]')
  821.         else
  822.             Rancor = 'ON'
  823.             add_to_chat(158,'Rancor: [ON]')
  824.         end
  825.         status_change(player.status)
  826.     elseif command == 'distance' then -- Distance Toggle --
  827.         if player.target.distance then
  828.             target_distance = math.floor(player.target.distance*10)/10
  829.             add_to_chat(155,'Distance: '..target_distance)
  830.         else
  831.             add_to_chat(123,'No Target Selected')
  832.         end
  833.     elseif command == 'idle' then -- Idle Toggle --
  834.         IdleIndex = (IdleIndex % #IdleArray) + 1
  835.         status_change(player.status)
  836.         add_to_chat(155,'Idle Set: ' .. IdleArray[IdleIndex])
  837.     elseif command == 'TP' then
  838.         add_to_chat(155,'TP Return: ['..tostring(player.tp)..']')
  839.     elseif command:match('^SC%d$') then
  840.         send_command('//' .. sc_map[command])
  841.     end
  842. end
  843.  
  844.     -----------
  845.     -- Misc. --
  846.     -----------
  847.  
  848. function find_player_in_alliance(name)
  849.     for i,v in ipairs(alliance) do
  850.         for k,p in ipairs(v) do
  851.             if p.name == name then
  852.                 return p
  853.             end
  854.         end
  855.     end
  856. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement