backstab

mnk broken

Feb 11th, 2014
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.80 KB | None | 0 0
  1.    
  2.  
  3.     -- *** Credit goes to Flippant for helping me with Gearswap *** --
  4.     -- Last Updated: 02/08/14 7:00 PM --
  5.      
  6.     function get_sets()
  7.             AccIndex = 1
  8.             AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. Default ACC Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
  9.             IdleIndex = 1
  10.             IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
  11.             Armor = 'None'
  12.             HPIndex = 0
  13.             send_command('input /macro book 7;wait .1;input /macro set 1') -- Change Default Macro Book Here --
  14.      
  15.             sc_map = {SC1="VictorySmite", SC2="Impetus", SC3="Focus"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  16.      
  17.             -- Idle/Town Sets --
  18.             sets.Idle = {}
  19.             sets.Idle.Regen = {
  20.                             ammo="Hagneia Stone",
  21.                             head="Oce. Headpiece +1",
  22.                             neck="Wiglen Gorget",
  23.                             ear1="Black Earring",
  24.                             ear2="merman's Earring",
  25.                             body="Mel. Cyclas",
  26.                             hands="Otronif Gloves",
  27.                             ring1="Sheltered Ring",
  28.                             ring2="Paguroidea Ring",
  29.                             back="Mollusca Mantle",
  30.                             waist="Black belt",
  31.                             legs="Otronif brais",
  32.                             feet="Otronif boots"}
  33.             sets.Idle.Movement = set_combine(sets.Idle.Regen,{
  34.                             ring2="Defending Ring"})
  35.             sets.Resting = set_combine(sets.Idle.Regen)
  36.      
  37.             -- TP Sets --
  38.             sets.TP = {
  39.                             ammo="Hagneia Stone",
  40.                             head="Otronif Mask",
  41.                             neck="Asperity Necklace",
  42.                             ear1="Steelflash Earring",
  43.                             ear2="Bladeborn Earring",
  44.                             body="Thaumas Coat",
  45.                             hands="Otronif Gloves",
  46.                             ring1="Epona's Ring",
  47.                             ring2="Rajas Ring",
  48.                             back="Atheling Mantle",
  49.                             waist="Windbuffet Belt",
  50.                             legs="Otronif Brais",
  51.                             feet="Otronif Boots"}
  52.             sets.TP.MidACC = set_combine(sets.TP,{
  53.                             ammo="Honed Tathlum",
  54.                             back="Letalis Mantle",
  55.                             feet="Manibozho Boots",
  56.                             legs="Manibozho Brais"})
  57.             sets.TP.HighACC = set_combine(sets.TP.MidACC,{
  58.                             head="Whirlpool Mask",
  59.                             neck="Peacock amulet",
  60.                             body="Manibozho Jerkin",
  61.                             ring1="Patricius Ring",
  62.                             ring2="Mars's Ring",
  63.                             waist="Hurch'lan Sash",
  64.                             feet="Manibozho Boots"})
  65.      
  66.             -- (Impetus Up) TP Sets --
  67.             sets.TP.Impetus = set_combine(sets.TP,{})
  68.             sets.TP.MidACC.Impetus = set_combine(sets.TP.MidACC,{})
  69.             sets.TP.HighACC.Impetus = set_combine(sets.TP.HighACC,{})
  70.      
  71.             -- Perfect Counter Set --
  72.             sets.PerfectCounter = {head="Tantra Crown +2"}
  73.      
  74.             -- PDT/MDT Sets --
  75.             sets.PDT = {
  76.                             ammo="Honed Tathlum",
  77.                             head="Otronif Mask",
  78.                             neck="Twilight Torque",
  79.                             ear1="Black Earring",
  80.                             ear2="Merman's Earring",
  81.                             body="Otronif Harness",
  82.                             hands="Otronif Gloves",
  83.                             ring1="Dark Ring",
  84.                             ring2="Defending Ring",
  85.                             back="Mollusca Mantle",
  86.                             waist="Black Belt",
  87.                             legs="Otronif Brais",
  88.                             feet="Otronif Boots"}
  89.      
  90.             sets.MDT = set_combine(sets.PDT,{
  91.                             back="Engulfer cape",
  92.                             ring1="Shadow Ring",})
  93.      
  94.             -- Hybrid/HP Sets --
  95.             sets.TP.Hybrid = set_combine(sets.PDT,{
  96.                             ring1="Patricius Ring",
  97.                             ear1="Steelflash Earring",
  98.                             ear2="Bladeborn Earring"})
  99.             sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid.LowACC,{
  100.                              head="Whirlpool Mask",})
  101.             sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{
  102.                              back="Letalis Mantle"})
  103.      
  104.             sets.HP = set_combine(sets.PDT,{
  105.                             neck="Dualism Collar",
  106.                             lear="Bloodgem Earring",
  107.                             rear="Cassie Earring",
  108.                             lring="Meridian Ring",
  109.                             back="Gigant Mantle"})
  110.      
  111.             -- WS Base Set --
  112.             sets.WS = {}
  113.      
  114.             -- WS Sets --
  115.             sets.WS["Victory Smite"] = {
  116.                             ammo="Thew Bomblet",
  117.                             head="Uk'uxkaj Cap",
  118.                             neck="Rancor Collar",
  119.                             ear1="steelflash Earring",
  120.                             ear2="Bladeborn Earring",
  121.                             body="Manibozho jerkin",
  122.                             hands="Anch. Gloves +1",
  123.                             ring1="Epona's Ring",
  124.                             ring2="Pyrosoul Ring",
  125.                             back="Buquwik Cape",
  126.                             waist="Wanion Belt",
  127.                             legs="Otronif Brais",
  128.                             feet="Otronif Boots"}
  129.             sets.WS["Victory Smite"].MidACC = set_combine(sets.WS["Victory Smite"],{
  130.                             legs="Manibozho Brais"})
  131.             sets.WS["Victory Smite"].HighACC = set_combine(sets.WS["Victory Smite"].MidACC,{
  132.                             ammo="Honed Tathlum",
  133.                             head="Whirlpool Mask",
  134.                             neck="Light Gorget",
  135.                             back="Anchoret's Mantle",
  136.                             waist="Light Belt",
  137.                             feet="Manibozho Boots"})
  138.      
  139.             sets.WS["Shijin Spiral"] = {
  140.                             ammo="Jukukik Feather",
  141.                             head="Felistris Mask",
  142.                             neck="Moepapa Medal",
  143.                             lear="Steelflash Earring",
  144.                             rear="Bladeborn Earring",
  145.                             body="Anch. Cyclas +1",
  146.                             hands="Anch. Gloves +1",
  147.                             lring="Epona's Ring",
  148.                             rring="Rajas Ring",
  149.                             back="Kayapa Cape",
  150.                             waist="Wanion Belt",
  151.                             legs="Manibozho Brais",
  152.                             feet="Otronif Boots",}
  153.             sets.WS["Shijin Spiral"].MidACC = set_combine(sets.WS["Shijin Spiral"],{
  154.                             ammo="Honed Tathlum",
  155.                             head="Whirlpool Mask"})
  156.             sets.WS["Shijin Spiral"].HighACC = set_combine(sets.WS["Shijin Spiral"].MidACC,{
  157.                             ring2="Zilant Ring",
  158.                             back="Letalis Mantle"})
  159.      
  160.             sets.WS["Asuran Fists"] = {}
  161.             sets.WS["Final Heaven"] = {}
  162.             sets.WS["Ascetic's Fury"] = {}
  163.            
  164.             -- JA Sets --
  165.             sets.JA = {}
  166.             sets.JA.Focus = {head="Anchorite's Crown"}
  167.             sets.JA.FormlessStrikes = {body="Mel. Cyclas +2"}
  168.             sets.JA.HundredFists = {legs="Mel. Hose +2"}
  169.             sets.JA.Mantra = {feet="Melee Gaiters +2"}
  170.             sets.JA.Counterstance = {feet="Melee Gaiters +2"}
  171.             sets.JA.Dodge = {feet="Anch. Gaiters"}
  172.             sets.JA.Chakra = {
  173.                             head="Uk'uxkaj Cap",
  174.                             body="Anch. Cyclas",
  175.                             back="Anchoret's Mantle",
  176.                             hands="Mel. Gloves +2",
  177.                             legs="Nahtirah Trousers",
  178.                             feet="Otronif Boots"}
  179.      
  180.             sets.Waltz = {}
  181.      
  182.             -- Magic Sets --
  183.             sets.Precast = {}
  184.             sets.Precast.FastCast = {
  185.                             ammo="Impatiens",
  186.                             head="Athos's Chapeau",
  187.                             neck="Orunmila's Torque",
  188.                             ear1="Loquac. Earring",
  189.                             hands="Thaumas Gloves",
  190.                             ring1="Prolix Ring",
  191.                             ring2="Veneficium Ring"}
  192.             sets.Precast.Utsusemi = set_combine(sets.Precast.FastCast,{neck="Magoraga Beads"})
  193.      
  194.             sets.Midcast = {}
  195.             sets.Midcast.Haste = set_combine(sets.PDT)
  196.     end
  197.      
  198.     function pretarget(spell,action)
  199.             if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.Silence then
  200.                     cancel_spell()
  201.                     send_command('input /item "Echo Drops" <me>')
  202.             elseif spell.english == 'Impetus' and buffactive.Impetus then
  203.                     cancel_spell()
  204.                     send_command('Focus')
  205.             elseif spell.english == "Berserk" and buffactive.Berserk then
  206.                     cancel_spell()
  207.                     send_command('Aggressor')
  208.             end
  209.     end
  210.      
  211.     function precast(spell,action)
  212.             if spell.type == "WeaponSkill" then
  213.                     if player.status ~= 'Engaged' then -- Cancel WS If Not Engaged. Can Delete It If You Don't Need It --
  214.                             cancel_spell()
  215.                             add_to_chat(8,'Unable To Use WeaponSkill: [Disengaged]')
  216.                             return
  217.                     else
  218.                             equipSet = sets.WS
  219.                             if equipSet[spell.english] then
  220.                                     equipSet = equipSet[spell.english]
  221.                             end
  222.                             if equipSet[AccArray[AccIndex]] then
  223.                                     equipSet = equipSet[AccArray[AccIndex]]
  224.                             end
  225.                             if spell.english == "Victory Smite" or spell.english == "Ascetic's Fury" then
  226.                                     if buffactive.Impetus then
  227.                                             equipSet = set_combine(equipSet,{body="Tantra Cyclas +2"})
  228.                                     elseif player.tp > 299 then
  229.                                             equipSet = set_combine(equipSet,{ear1="Vulcan's Pearl"})
  230.                                     end
  231.                             end
  232.                             equip(equipSet)
  233.                     end
  234.             elseif spell.type == "JobAbility" then
  235.                     if sets.JA[spell.english] then
  236.                             equip(sets.JA[spell.english])
  237.                     end
  238.             elseif spell.type == "Ninjutsu" then
  239.                     if string.find(spell.english,'Utsusemi') then
  240.                             if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  241.                                     cancel_spell()
  242.                                     add_to_chat(8, spell.english .. ' Canceled: [3+ Images]')
  243.                                     return
  244.                             else
  245.                                     equip(sets.Precast.Utsusemi)
  246.                             end
  247.                     else
  248.                             equip(sets.Precast.FastCast)
  249.                     end
  250.             elseif spell.type == "Waltz" then
  251.                     equip(sets.Waltz)
  252.             elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  253.                     cast_delay(0.2)
  254.                     send_command('cancel Sneak')
  255.             end
  256.             if HPIndex == 1 then
  257.                     equip(sets.HP)
  258.             end
  259.     end
  260.      
  261.     function midcast(spell,action)
  262.             if spell.type == "Ninjutsu" then
  263.                     if string.find(spell.english,'Utsusemi') then
  264.                             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  265.                                     send_command('@wait 1.7; cancel Copy Image*')
  266.                             end
  267.                             equip(sets.Midcast.Haste)
  268.                     elseif spell.english == 'Monomi: Ichi' then
  269.                             if buffactive.Sneak then
  270.                                     send_command('@wait 1.7; cancel Sneak')
  271.                             end
  272.                             equip(sets.Midcast.Haste)
  273.                     else
  274.                             equip(sets.Midcast.Haste)
  275.                     end
  276.             end
  277.     end
  278.      
  279.     function aftercast(spell,action)
  280.             if spell.type == "WeaponSkill" then
  281.                     add_to_chat(158,'TP Return: [' .. player.tp .. ']')
  282.             elseif spell.english == "Mantra" then
  283.                     send_command('wait 170;input /echo '..spell.english..' Effect: [WEARING OFF IN 10 SEC.];wait 10;input /p '..spell.english..' Effect: [OFF]')
  284.             end
  285.             status_change(player.status)
  286.     end
  287.      
  288.     function status_change(new,old)
  289.             if Armor == 'PDT' then
  290.                     equip(sets.PDT)
  291.             elseif Armor == 'MDT' then
  292.                     equip(sets.MDT)
  293.             elseif new == 'Engaged' then
  294.                     equipSet = sets.TP
  295.                     if Armor == 'Hybrid' and equipSet["Hybrid"] then
  296.                             equipSet = equipSet["Hybrid"]
  297.                     end
  298.                     if equipSet[AccArray[AccIndex]] then
  299.                             equipSet = equipSet[AccArray[AccIndex]]
  300.                     end
  301.                     if buffactive.Impetus and equipSet["Impetus"] then
  302.                             equipSet = equipSet["Impetus"]
  303.                     end
  304.                     if buffactive['Perfect Counter'] then
  305.                             equip(set_combine(equipSet,sets.PerfectCounter))
  306.                     else
  307.                             equip(equipSet)
  308.                     end
  309.             else
  310.                     equip(sets.Idle[IdleArray[IdleIndex]])
  311.             end
  312.             if HPIndex == 1 then
  313.                     equip(sets.HP)
  314.             end
  315.     end
  316.      
  317.     function buff_change(buff,gain)
  318.             buff = string.lower(buff)
  319.             if buff == "aftermath: lv.3" and gain then -- AM3 Timer Bar --
  320.                     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.]')
  321.             elseif buff == "aftermath: lv.3" then
  322.                     send_command('timers delete "Aftermath: Lv.3"')
  323.                     add_to_chat(8,'AM3: [OFF]')
  324.             end
  325.             status_change(player.status)
  326.     end
  327.      
  328.     -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  329.     function self_command(command)
  330.             if command == 'C1' then -- Accuracy Level Toggle --
  331.                     AccIndex = (AccIndex % #AccArray) + 1
  332.                     add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
  333.                     status_change(player.status)
  334.             elseif command == 'C5' then -- Auto Update Toggle --
  335.                     status_change(player.status)
  336.                     add_to_chat(158,'Status Update')
  337.             elseif command == 'C2' then -- Hybrid Toggle --
  338.                     if Armor == 'Hybrid' then
  339.                             Armor = 'None'
  340.                             add_to_chat(8,'Hybrid Set: [Unlocked]')
  341.                     else
  342.                             Armor = 'Hybrid'
  343.                             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  344.                     end
  345.                     status_change(player.status)
  346.             elseif command == 'C7' then -- PDT Toggle --
  347.                     if Armor == 'PDT' then
  348.                             Armor = 'None'
  349.                             add_to_chat(8,'PDT Set: [Unlocked]')
  350.                     else
  351.                             Armor = 'PDT'
  352.                             add_to_chat(158,'PDT Set: [Locked]')
  353.                     end
  354.                     status_change(player.status)
  355.             elseif command == 'C15' then -- MDT Toggle --
  356.                     if Armor == 'MDT' then
  357.                             Armor = 'None'
  358.                             add_to_chat(8,'MDT Set: [Unlocked]')
  359.                     else
  360.                             Armor = 'MDT'
  361.                             add_to_chat(158,'MDT Set: [Locked]')
  362.                     end
  363.                     status_change(player.status)
  364.             elseif command == 'C3' then -- HP Toggle --
  365.                     if HPIndex == 1 then
  366.                             HPIndex = 0
  367.                             add_to_chat(8,'HP Set: [Unlocked]')
  368.                     else
  369.                             HPIndex = 1
  370.                             add_to_chat(158,'HP Set: [locked]')
  371.                     end
  372.                     status_change(player.status)
  373.             elseif command == 'C6' then -- Idle Toggle --
  374.                     IdleIndex = (IdleIndex % #IdleArray) + 1
  375.                     add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
  376.                     status_change(player.status)
  377.             elseif command:match('^SC%d$') then
  378.                     send_command('//' .. sc_map[command])
  379.             end
  380.     end
Advertisement
Add Comment
Please, Sign In to add comment