Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 49.19 KB | None | 0 0
  1. toau_zones = S{"Leujaoam Sanctum","Mamool Ja Training Grounds","Lebros Cavern","Periqia","Ilrusi Atoll",
  2.         "Nyzul Isle","Bhaflau Remnants","Arrapago Remnants","Silver Sea Remnants","Zhayolm Remnants"}
  3.  
  4. function get_sets()
  5. fixed_pos = ''
  6. fixed_ts = os.time()
  7.  
  8. include('organizer-lib')
  9.  
  10.  
  11. -- THIS IS THE SECTION FOR ELEMENTS ON F KEYS
  12. --aliases
  13.     send_command('alias VI input /ma "Blizzard VI" <t>')
  14.     send_command('alias V input /ma "Blizzard V" <t>')
  15.     send_command('alias IV input /ma "Blizzard IV" <t>')
  16.     send_command('alias III input /ma "Blizzard III" <t>')
  17.     send_command('alias II input /ma "Blizzard II" <t>')
  18.     send_command('alias I input /ma "Blizzard" <t>')
  19.     send_command('alias aja input /ma "Blizzaja" <t>')
  20.     send_command('alias agaIII input /ma "Blizzaga III" <t>')
  21.     send_command('alias agaII input /ma "Blizzaga II" <t>')
  22.     send_command('alias aga input /ma "Blizzaga" <t>')
  23.     send_command('alias AM input /ma "Freeze" <t>')
  24.     send_command('alias AM2 input /ma "Freeze II" <t>')
  25. --
  26.     nuke_element="Ice"
  27.     sets.nuke_element= T{}
  28. --
  29. windower.prim.create('NUKE_ELEMENT')
  30.     windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/icenukesedit2.png')
  31.     windower.prim.set_size('NUKE_ELEMENT',200,30)
  32.     windower.prim.set_position('NUKE_ELEMENT',750,50)
  33.     windower.prim.set_color('NUKE_ELEMENT', 150, 255, 255, 255)
  34.     windower.prim.set_visibility('NUKE_ELEMENT',true)
  35. --keybinds
  36.     send_command('bind #f1 gs c thunder')
  37.     send_command('bind #f2 gs c fire')
  38.     send_command('bind #f3 gs c wind')
  39.     send_command('bind #f4 gs c ice')
  40.     send_command('bind #f5 gs c water')
  41.     send_command('bind #f6 gs c earth')
  42. --keybinds
  43. -- F KEY SECTION END
  44. melee_mode="off" --ingame change mode: /console gs c meleemode
  45. sets.melee_mode=T{}
  46.  
  47. windower.raw_register_event('outgoing chunk',function(id,original,modified,injected,blocked)
  48.     if not blocked then
  49.         if id == 0x15 then
  50.             if (gearswap.cued_packet or midaction()) and fixed_pos ~= '' and os.time()-fixed_ts < 10 then
  51.                 return original:sub(1,4)..fixed_pos..original:sub(17)
  52.             else
  53.                 fixed_pos = original:sub(5,16)
  54.                 fixed_ts = os.time()
  55.             end
  56.         end
  57.     end
  58. end)
  59.         AccIndex = 1
  60.         AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For Magic. Default ACC Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
  61.         IdleIndex = 1
  62.         IdleArray = {"Movement","Refresh","HighMP"} -- Default Idle Set Is Movement --
  63.         Armor = 'None'
  64.         MagicBurstIndex = 0 -- Turn Magic Bursting Mode On/Off
  65.         EcoNukeIndex = 1 -- Nuking in Spae Coat +1 (Unlimited MP nuking)
  66.         Obi = 'OFF' -- Turn Default Obi ON or OFF Here --
  67.         target_distance = 5 -- Set Default Distance Here --
  68.         select_default_macro_book() -- Change Default Macro Book At The End --
  69.  
  70.         Non_Obi_Spells = S{
  71.                         'Burn','Choke','Drown','Frost','Rasp','Shock','Impact','Anemohelix','Cryohelix',
  72.                         'Geohelix','Hydrohelix','Ionohelix','Luminohelix','Noctohelix','Pyrohelix'}
  73.  
  74.         Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
  75.         Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
  76.         sc_map = {SC1 = "Stun", SC2 = "ThunderV", SC3 = "BlizzardV"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  77.     --send_command('bind ` gs c C2')
  78.    
  79.     -- Organiser items etc --
  80.     organizer_items = {
  81.     echos="Echo Drops",
  82.     food="Pear Crepe",}
  83.         -- Idle Sets --
  84.         sets.Idle = {}
  85.         sets.Idle.Refresh = {
  86.             main="Lathi",
  87.             sub="Niobid Strap",
  88.             ammo="Witchstone",
  89.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  90.             body="Wicce Coat",
  91.             hands="Serpentes Cuffs",
  92.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  93.             feet="Serpentes Sabots",
  94.             neck="Eddy Necklace",
  95.             waist="Eschan Stone",
  96.             left_ear="Barkaro. Earring",
  97.             right_ear="Friomisi Earring",
  98.             left_ring="Sangoma Ring",
  99.             right_ring="Acumen Ring",
  100.             back="Toro Cape",}
  101.         sets.Idle.HighMP = {
  102.             main="Lathi",
  103.             sub="Niobid Strap",
  104.             ammo="Witchstone",
  105.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  106.             body="Wicce Coat",
  107.             hands="Serpentes Cuffs",
  108.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  109.             feet="Serpentes Sabots",
  110.             neck="Eddy Necklace",
  111.             waist="Eschan Stone",
  112.             left_ear="Barkaro. Earring",
  113.             right_ear="Friomisi Earring",
  114.             left_ring="Sangoma Ring",
  115.             right_ring="Acumen Ring",
  116.             back="Toro Cape",}
  117.            
  118.  
  119.         sets.Idle.Movement = set_combine(sets.Idle.Refresh,{
  120.             feet="Herald's Gaiters"})
  121.         sets.Resting = set_combine(sets.Idle.Movement,{})
  122.  
  123.         -- PDT Set --
  124.         sets.PDT = {
  125.             main="Terra's Staff",
  126.             ammo="Brigantia Pebble",
  127.             head="Hagondes Hat +1",
  128.             neck="Twilight Torque",
  129.             ear1="Black Earring",
  130.             ear2="Darkness Earring",
  131.             body="Hagondes Coat +1",
  132.             hands="Hagondes Cuffs +1",
  133.             ring1="Dark Ring",
  134.             ring2="Defending Ring",
  135.             back="Umbra Cape",
  136.             waist="Slipor Sash",
  137.             legs={ name="Artsieq Hose", augments={'"Mag.Atk.Bns." +25', "Mag. Evasion+10", "Phys. dmg. taken -5%"}},
  138.             feet="Hagondes Sabots +1"}
  139.  
  140.         sets.Sublimation = {
  141.             ammo="Brigantia Pebble",
  142.             head="Spurrina Coif",
  143.             neck="Twilight Torque",
  144.             ear1="Black Earring",
  145.             ear2="Loquac. Earring",
  146.             body="Hagondes Coat +1",
  147.             hands="Serpentes Cuffs",
  148.             ring1="Dark Ring",
  149.             ring2="Defending Ring",
  150.             back="Umbra Cape",
  151.             waist="Fucho-no-Obi",
  152.             legs="Lengo pants",
  153.             feet="Serpentes Sabots"}
  154.  
  155.         sets.Precast = {}
  156.  
  157.         -- Fastcast Set --
  158.         sets.Precast.FastCast = {
  159.             head="Nahtirah Hat",
  160.             body="Wicce Coat",
  161.             hands="Serpentes Cuffs",
  162.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  163.             feet="Rostrum Pumps",
  164.             neck="Eddy Necklace",
  165.             waist="Channeler's Stone",
  166.             left_ear="Barkaro. Earring",
  167.             right_ear="Loquac. Earring",
  168.             left_ring="Sangoma Ring",
  169.             right_ring="Prolix Ring",
  170.             back="Toro Cape",}
  171.            
  172.         sets.Precast.FastCast.HighMP = {
  173.             head="Nahtirah Hat",
  174.             body="Wicce Coat",
  175.             hands="Serpentes Cuffs",
  176.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  177.             feet="Rostrum Pumps",
  178.             neck="Eddy Necklace",
  179.             waist="Channeler's Stone",
  180.             left_ear="Barkaro. Earring",
  181.             right_ear="Loquac. Earring",
  182.             left_ring="Sangoma Ring",
  183.             right_ring="Prolix Ring",
  184.             back="Toro Cape",} 
  185.  
  186.         sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{--main="Serenity",
  187.             waist="Siegel Sash"})
  188.         sets.Precast['Stoneskin'] = set_combine(sets.Precast.FastCast,{--main="Serenity",]]
  189.             waist="Siegel Sash"}, {head="Umuthi Hat"} --[[{legs="Doyen Pants"}--]])
  190.         sets.Precast['Elemental Magic'] = set_combine(sets.Precast.FastCast--[[{ear2="Barkarole Earring"}]])
  191.         sets.Precast['Dark Magic'] = set_combine(sets.Precast.FastCast, {
  192.             --[[body="Shango Robe"}, {back="Ogapepo Cape +1"}, {ring1="Lebeche Ring"}--]]})
  193.        
  194.         -- Precast Cure Set --
  195.         sets.Precast.Cure = {
  196.             main="Tamaxchi",
  197.             head="Nahtirah Hat",
  198.             body="Spaekona's Coat +1",
  199.             hands="Augur's Gloves",
  200.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  201.             feet="Vanya Clogs",
  202.             neck="Phalaina Locket",
  203.             waist="Channeler's Stone",
  204.             left_ear="Loquac. Earring",
  205.             right_ear="Lifestorm Earring",
  206.             left_ring="Aqua Ring",
  207.             right_ring="Aqua Ring",
  208.             back="Disperser's Cape",}
  209.  
  210.         -- Midcast Base Set --
  211.         sets.Midcast = {}
  212.  
  213.         -- Haste Set --
  214.         sets.Midcast.Haste = {                        
  215.             head="Nahtirah Hat",
  216.             body="Wicce Coat",
  217.             hands="Amalric Gages",
  218.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  219.             feet="Rostrum Pumps",
  220.             waist="Channeler's Stone",
  221.             right_ear="Loquac. Earring",}
  222.  
  223.         -- Cure Set --
  224.         sets.Midcast.Cure = {
  225.             main="Tamaxchi",
  226.             head="Nahtirah Hat",
  227.             body="Wicce Coat",
  228.             hands="Augur's Gloves",
  229.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  230.             feet="Vanya Clogs",
  231.             neck="Phalaina Locket",
  232.             waist="Channeler's Stone",
  233.             left_ear="Lifestorm Earring",
  234.             right_ear="Loquac. Earring",
  235.             left_ring="Aqua Ring",
  236.             right_ring="Aqua Ring",
  237.             back="Aurist's Cape",}
  238.  
  239.         -- Curaga Set --
  240.         sets.Midcast.Curaga = {
  241.             main="Tamaxchi",
  242.             head="Nahtirah Hat",
  243.             body="Wicce Coat",
  244.             hands="Augur's Gloves",
  245.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  246.             feet="Vanya Clogs",
  247.             neck="Phalaina Locket",
  248.             waist="Channeler's Stone",
  249.             left_ear="Lifestorm Earring",
  250.             right_ear="Loquac. Earring",
  251.             left_ring="Aqua Ring",
  252.             right_ring="Aqua Ring",
  253.             back="Aurist's Cape",}
  254.  
  255.         -- Enhancing Magic Set --
  256.         sets.Midcast['Enhancing Magic'] = {
  257.             main="Lathi",
  258.             sub="Fulcio Grip",
  259.             ammo="Witchstone",
  260.             head="Umuthi Hat",
  261.             body="Spaekona's Coat +1",
  262.             hands="Augur's Gloves",
  263.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  264.             feet="Rostrum Pumps",
  265.             neck="Phalaina Locket",
  266.             waist="Siegel Sash",
  267.             left_ear="Andoaa Earring",
  268.             right_ear="Loquac. Earring",
  269.             left_ring="Aqua Ring",
  270.             right_ring="Aqua Ring",
  271.             back="Aurist's Cape",}
  272.  
  273.         -- Stoneskin Set --
  274.         sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{
  275.             --[[neck="Stone Gorget",legs="Doyen Pants",
  276.             ear1="Earthcry Earring"}]]})
  277.         sets.Midcast.Aquaveil = set_combine(sets.Midcast['Enhancing Magic'],{
  278.             --[[waist="Emphatikos Rope"}]]})
  279.         -- Stun Sets --
  280.         sets.Midcast.Stun = {
  281.             main="Lathi",
  282.             sub="Niobid Strap",
  283.             ammo="Witchstone",
  284.             head="Nahtirah Hat",
  285.             body="Wicce Coat",
  286.             hands="Amalric Gages",
  287.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  288.             feet="Rostrum Pumps",
  289.             neck="Eddy Necklace",
  290.             waist="Eschan Stone",
  291.             left_ear="Hermetic Earring",
  292.             right_ear="Loquac. Earring",
  293.             left_ring="Sangoma Ring",
  294.             right_ring="Perception Ring",
  295.             back="Aurist's Cape",} --Helios augment fastcast 5, int macc best--
  296.  
  297.         sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{})
  298.  
  299.         sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})
  300.  
  301.         -- Dark Magic Sets --
  302.         sets.Midcast['Dark Magic'] = set_combine(sets.Midcast.Stun,{main="Lathi",
  303.             sub="Niobid Strap",
  304.             ammo="Witchstone",
  305.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  306.             body="Wicce Coat",
  307.             hands="Amalric Gages",
  308.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  309.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  310.             neck="Eddy Necklace",
  311.             waist="Eschan Stone",
  312.             left_ear="Psystorm Earring",
  313.             right_ear="Lifestorm Earring",
  314.             left_ring="Sangoma Ring",
  315.             right_ring="Perception Ring",
  316.             back="Aurist's Cape",})
  317.  
  318.         sets.Midcast['Dark Magic'].MidACC = set_combine(sets.Midcast['Dark Magic'],{
  319.             main="Lathi",
  320.             sub="Niobid Strap",
  321.             ammo="Witchstone",
  322.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  323.             body="Wicce Coat",
  324.             hands="Amalric Gages",
  325.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  326.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  327.             neck="Eddy Necklace",
  328.             waist="Eschan Stone",
  329.             left_ear="Psystorm Earring",
  330.             right_ear="Lifestorm Earring",
  331.             left_ring="Sangoma Ring",
  332.             right_ring="Perception Ring",
  333.             back="Aurist's Cape",})
  334.  
  335.         sets.Midcast['Dark Magic'].HighACC = set_combine(sets.Midcast['Dark Magic'].MidACC,{
  336.             main="Lathi",
  337.             sub="Niobid Strap",
  338.             ammo="Witchstone",
  339.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  340.             body="Wicce Coat",
  341.             hands="Amalric Gages",
  342.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  343.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  344.             neck="Eddy Necklace",
  345.             waist="Eschan Stone",
  346.             left_ear="Psystorm Earring",
  347.             right_ear="Lifestorm Earring",
  348.             left_ring="Sangoma Ring",
  349.             right_ring="Perception Ring",
  350.             back="Aurist's Cape",})
  351.  
  352.         sets.Midcast.Drain = {
  353.             main="Lathi",
  354.             sub="Niobid Strap",
  355.             ammo="Witchstone",
  356.             head={ name="Merlinic Hood", augments={'"Drain" and "Aspir" potency +8','MND+8',}},
  357.             body="Wicce Coat",
  358.             hands="Amalric Gages",
  359.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  360.             feet="Merlinic Crackows",
  361.             neck="Eddy Necklace",
  362.             waist="Fucho-no-Obi",
  363.             left_ear="Psystorm Earring",
  364.             right_ear="Lifestorm Earring",
  365.             left_ring="Sangoma Ring",
  366.             right_ring="Excelsis Ring",
  367.             back="Aurist's Cape",}
  368.  
  369.         sets.Midcast.Aspir = {
  370.             main="Lathi",
  371.             sub="Niobid Strap",
  372.             ammo="Witchstone",
  373.             head={ name="Merlinic Hood", augments={'"Drain" and "Aspir" potency +8','MND+8',}},
  374.             body="Wicce Coat",
  375.             hands="Amalric Gages",
  376.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  377.             feet="Merlinic Crackows",
  378.             neck="Eddy Necklace",
  379.             waist="Fucho-no-Obi",
  380.             left_ear="Psystorm Earring",
  381.             right_ear="Lifestorm Earring",
  382.             left_ring="Sangoma Ring",
  383.             right_ring="Excelsis Ring",
  384.             back="Aurist's Cape",}
  385.        
  386.  
  387.  
  388.         -- Elemental Sets --
  389.         sets.Midcast['Elemental Magic'] = {
  390.             main="Lathi",
  391.             sub="Niobid Strap",
  392.             ammo="Witchstone",
  393.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  394.             body="Wicce Coat",
  395.             hands="Amalric Gages",
  396.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  397.             feet="Merlinic Crackows",
  398.             neck="Eddy Necklace",
  399.             waist="Eschan Stone",
  400.             left_ear="Barkaro. Earring",
  401.             right_ear="Friomisi Earring",
  402.             left_ring="Sangoma Ring",
  403.             right_ring="Acumen Ring",
  404.             back="Toro Cape",}
  405.  
  406.         sets.Midcast['Elemental Magic'].MidACC = set_combine(sets.Midcast['Elemental Magic'],{
  407.             main="Lathi",
  408.             sub="Niobid Strap",
  409.             ammo="Witchstone",
  410.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  411.             body="Wicce Coat",
  412.             hands="Amalric Gages",
  413.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  414.             feet="Merlinic Crackows",
  415.             neck="Eddy Necklace",
  416.             waist="Eschan Stone",
  417.             left_ear="Barkaro. Earring",
  418.             right_ear="Friomisi Earring",
  419.             left_ring="Sangoma Ring",
  420.             right_ring="Perception Ring",
  421.             back="Disperser's Cape",})
  422.  
  423.         sets.Midcast['Elemental Magic'].HighACC = set_combine(sets.Midcast['Elemental Magic'].MidACC,{
  424.             main="Lathi",
  425.             sub="Niobid Strap",
  426.             ammo="Witchstone",
  427.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  428.             body="Wicce Coat",
  429.             hands="Amalric Gages",
  430.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  431.             feet="Merlinic Crackows",
  432.             neck="Eddy Necklace",
  433.             waist="Eschan Stone",
  434.             left_ear="Psystorm Earring",
  435.             right_ear="Lifestorm Earring",
  436.             left_ring="Sangoma Ring",
  437.             right_ring="Perception Ring",
  438.             back="Aurist's Cape",})
  439.        
  440.         -- Enfeebling Sets --
  441.         sets.Midcast['Enfeebling Magic'] = {
  442.             main="Lathi",
  443.             sub="Niobid Strap",
  444.             ammo="Witchstone",
  445.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  446.             body="Spaekona's Coat +1",
  447.             hands="Amalric Gages",
  448.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  449.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  450.             neck="Eddy Necklace",
  451.             waist="Eschan Stone",
  452.             left_ear="Psystorm Earring",
  453.             right_ear="Lifestorm Earring",
  454.             left_ring="Globidonta Ring",
  455.             right_ring="Sangoma Ring",
  456.             back="Aurist's Cape",}
  457.  
  458.  
  459.         sets.Midcast['Enfeebling Magic'].MidACC =  set_combine(sets.Midcast['Enfeebling Magic'],{
  460.             main="Lathi",
  461.             sub="Niobid Strap",
  462.             ammo="Witchstone",
  463.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  464.             body="Spaekona's Coat +1",
  465.             hands="Amalric Gages",
  466.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  467.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  468.             neck="Eddy Necklace",
  469.             waist="Eschan Stone",
  470.             left_ear="Psystorm Earring",
  471.             right_ear="Lifestorm Earring",
  472.             left_ring="Globidonta Ring",
  473.             right_ring="Sangoma Ring",
  474.             back="Aurist's Cape",})
  475.         sets.Midcast['Enfeebling Magic'].HighACC = set_combine(sets.Midcast['Enfeebling Magic'].MidACC,{
  476.             main="Lathi",
  477.             sub="Niobid Strap",
  478.             ammo="Witchstone",
  479.             head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic dmg. taken -2%','CHR+4','"Mag.Atk.Bns."+8',}},
  480.             body="Spaekona's Coat +1",
  481.             hands="Amalric Gages",
  482.             legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  483.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  484.             neck="Eddy Necklace",
  485.             waist="Eschan Stone",
  486.             left_ear="Psystorm Earring",
  487.             right_ear="Lifestorm Earring",
  488.             left_ring="Globidonta Ring",
  489.             right_ring="Sangoma Ring",
  490.             back="Aurist's Cape",})                    
  491.         sets.Midcast['Ninjutsu'] = {
  492.             --[[main="Laevateinn",
  493.             sub="Zuuxowu Grip",
  494.             ammo="Dosis Tathlum",
  495.             head="Hagondes Hat",
  496.             neck="Eddy Necklace",
  497.             ear1="Friomisi Earring",
  498.             ear2="Crematio Earring",
  499.             body="Count's Garb",
  500.             hands="Wicce Gloves +1",
  501.             ring1="Shiva Ring +1",
  502.             ring2="Shiva Ring +1",
  503.             back="Toro Cape",
  504.             waist="Sekhmet Corset",
  505.             legs={ name="Hagondes Pants +1", augments={'"Mag.Atk.Bns." +27', "Phys. dmg. taken -3%"}},
  506.             feet={ name="Helios Boots", augments={'INT +10'}}]]}               
  507.         -- Impact Set --
  508.         sets.Midcast.Impact = {
  509.             main="Laevateinn",
  510.             neck="Eddy Necklace",
  511.             ear1="Lifestorm Earring",
  512.             ear2="Psystorm Earring",
  513.             body="Twilight Cloak",
  514.             hands="Wicce Gloves +1",
  515.             ring1="Shiva Ring +1",
  516.             ring2="Shiva Ring +1",
  517.             back={ name="Bane Cape", augments={'"Mag. Atk. Bns." +1', "Elem. magic skill +10", "Dark magic skill +6"}},
  518.             waist="Wanion Belt",
  519.             legs="Amalric Slops",
  520.             feet="Amalric nails +1"}
  521.  
  522.         -- Meteor Set --
  523.         sets.Midcast.Meteor =  set_combine(sets.Midcast['Elemental Magic'],{
  524.             main="Lathi",
  525.             sub="Niobid Strap",
  526.             ammo="Witchstone",
  527.             head={ name="Arch. Petasos", augments={'Increases Ancient Magic II damage',}},
  528.             body="Wicce Coat",
  529.             hands="Amalric Gages",
  530.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+9 "Mag.Atk.Bns."+9','Magic dmg. taken -2%','INT+7','Mag. Acc.+12','"Mag.Atk.Bns."+11',}},
  531.             feet={ name="Arch. Sabots", augments={'Reduces Ancient Magic II MP cost',}},
  532.             neck="Eddy Necklace",
  533.             waist="Eschan Stone",
  534.             left_ear="Barkaro. Earring",
  535.             right_ear="Friomisi Earring",
  536.             left_ring="Globidonta Ring",
  537.             right_ring="Acumen Ring",
  538.             back="Toro Cape",})
  539.  
  540.         -- Death Set-- Dont forget to toggle on Death Idle for MP  
  541.         sets.Midcast.Death = {main="Lathi",
  542.             ammo="Ghastle Tathlum +1",
  543.             head="Pixie Hairpin +1",
  544.             neck="Mizu. Kubikazari",
  545.             ear1="Friomisi Earring",
  546.             ear2="Barkarole earring",
  547.             body="Helios Jacket",
  548.             hands="Amalric Gages",
  549.             ring1="Locus ring",
  550.             ring2="Archon Ring",
  551.             back=="Bane Cape",
  552.             waist="Fucho-no-obi",
  553.             legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+9%','INT+4','Mag. Acc.+10',}},
  554.             feet="amalric nails +1"}           
  555.         sets.Midcast.Helix =  set_combine(sets.Midcast['Elemental Magic'],{
  556.         })
  557.        
  558.         sets.Midcast.Dia = {
  559.             waist="Chaac Belt"}
  560.         sets.Midcast.DiaII = {
  561.             waist="Chaac Belt"}
  562.         sets.Midcast.Diaga = {
  563.             waist="Chaac Belt"}
  564.  
  565.         -- Elemental Obi/Twilight Cape --
  566.         sets.Obi = {}
  567.         sets.Obi.Lightning = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  568.         sets.Obi.Water = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  569.         sets.Obi.Fire = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  570.         sets.Obi.Ice = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  571.         sets.Obi.Wind = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  572.         sets.Obi.Earth = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  573.         sets.Obi.Light = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  574.         sets.Obi.Dark = {back="Twilight Cape",waist='Hachirin-no-Obi'}
  575.        
  576.         sets.dayObi = {}
  577.         sets.dayObi.Lightning = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  578.         sets.dayObi.Water = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  579.         sets.dayObi.Fire = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  580.         sets.dayObi.Ice = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  581.         sets.dayObi.Wind = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  582.         sets.dayObi.Earth = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  583.         sets.dayObi.Light = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  584.         sets.dayObi.Dark = {back="Twilight Cape",waist='Hachirin-no-Obi', ring1="Zodiac Ring"}
  585.  
  586.         -- JA Sets --
  587.         sets.JA = {}
  588.         sets.JA.Manafont = {--[[body="Arch. Coat +1"]]}
  589.         sets.JA['Enmity Douse'] = {}
  590.         sets.JA['Mana Wall'] = {feet="Goetia Sabots +2"}
  591.  
  592.         -- Melee Set --
  593.         sets.Melee = set_combine(sets.Midcast.Haste,{
  594.             --[[ammo="Brigantia Pebble",
  595.             head={ name="Telchine Cap", augments={'"Store TP" +6'}},
  596.             neck="Asperity Necklace",
  597.             ear1="Bladeborn Earring",
  598.             ear2="Steelflash Earring",
  599.             body={ name="Telchine Chasuble", augments={'"Store TP" +5'}},
  600.             hands={ name="Telchine Gloves", augments={'"Store TP" +4'}},
  601.             ring1="K'ayres Ring",
  602.             ring2="Rajas Ring",
  603.             back="Kayapa Cape",
  604.             waist="Goading Belt",
  605.             legs={name="Telchine Braconi", augments={'"Store TP" +6'}},
  606.             feet="Battlecast Gaiters"]]})
  607.  
  608.         -- WS Base Set --
  609.         sets.WS = {}
  610.         sets.WS.Shattersoul = {
  611.             ammo="Hasty Pinion +1",
  612.             head="Telchine Cap",
  613.             neck="Fotia Gorget",
  614.             ear1="Steelflash Earring",
  615.             ear2="Bladeborn Earring",
  616.             body="Archmage's Coat +1",
  617.             hands="Spaekona's Gloves +1",
  618.             ring1="Shiva Ring +1",
  619.             ring2="Shiva Ring +1",
  620.             back="Kayapa Cape",
  621.             waist="Famine Sash",
  622.             legs="Telchine Braconi",
  623.             feet="Battlecast Gaiters"}
  624.         sets.WS.Myrkr = {
  625.             ammo="Witchstone",
  626.             head={ name="Arch. Petasos", augments={'Increases Ancient Magic II damage',}},
  627.             body="Wicce Coat",
  628.             hands="Amalric Gages",
  629.             legs="Wicce Chausses",
  630.             feet="Rostrum Pumps",
  631.             neck="Eddy Necklace",
  632.             waist="Eschan Stone",
  633.             left_ear="Andoaa Earring",
  634.             right_ear="Loquac. Earring",
  635.             left_ring="Sangoma Ring",
  636.             right_ring="Globidonta Ring",
  637.             back="Aurist's Cape",}
  638.         sets.WS.Vidohunir = {
  639.             main="Laevateinn",
  640.             ammo="Erlene's Notebook",
  641.             head="Pixie Hairpin +1",
  642.             neck="Fotia Gorget",
  643.             ear1="Moonshade Earring",
  644.             ear2="Friomisi Earring",
  645.             body="Count's Garb",
  646.             hands="Wicce Gloves +1",
  647.             ring1="Shiva Ring +1",
  648.             ring2="Archon Ring",
  649.             back="Toro Cape",
  650.             waist="Thunder Belt",
  651.             legs={ name="Hagondes Pants +1", augments={'"Mag.Atk.Bns." +27', "Phys. dmg. taken -3%"}},
  652.             feet={ name="Helios Boots", augments={'INT +10'}}}
  653.         sets.WS["Gate of Tartarus"] = {}
  654. end
  655.  
  656. function pretarget(spell,action)
  657.     if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  658.                 cancel_spell()
  659.                 send_command('input /item "Echo Drops" <me>')
  660.         elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
  661.                 degrade_spell(spell,Cure_Spells)
  662.         elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
  663.                 degrade_spell(spell,Curaga_Spells)
  664.         elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
  665.                 if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
  666.                         cancel_spell()
  667.                         send_command('input /ja Addendum: White <me>')
  668.                 elseif spell.english == "Manifestation" then
  669.                         cancel_spell()
  670.                         send_command('input /ja Accession <me>')
  671.                 elseif spell.english == "Alacrity" then
  672.                         cancel_spell()
  673.                         send_command('input /ja Celerity <me>')
  674.                 elseif spell.english == "Parsimony" then
  675.                         cancel_spell()
  676.                         send_command('input /ja Penury <me>')
  677.                 end
  678.         elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
  679.                 if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
  680.                         cancel_spell()
  681.                         send_command('input /ja Addendum: Black <me>')
  682.                 elseif spell.english == "Accession" then
  683.                         cancel_spell()
  684.                         send_command('input /ja Manifestation <me>')
  685.                 elseif spell.english == "Celerity" then
  686.                         cancel_spell()
  687.                         send_command('input /ja Alacrity <me>')
  688.                 elseif spell.english == "Penury" then
  689.                         cancel_spell()
  690.                         send_command('input /ja Parsimony <me>')
  691.                 end
  692.         end
  693. end
  694.  
  695. function precast(spell,action)
  696.     if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
  697.         if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  698.             cancel_spell()
  699.             add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  700.             return
  701.             else
  702.             if Idle_Index == 3 then
  703.                 equip(set_combine(sets.Precast.FastCast.HighMP))
  704.             elseif string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
  705.                 equip(sets.Precast.Cure)
  706.             elseif spell.english == "Impact" then
  707.                 equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
  708.                
  709.                 elseif string.find(spell.english,'Utsusemi') then
  710.                 if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  711.                     cancel_spell()
  712.                     add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
  713.                 return
  714.             else
  715.                 equip(sets.Precast.FastCast)
  716.             end
  717.             elseif sets.Precast[spell.english] then
  718.                 equip(sets.Precast[spell.english])
  719.             elseif sets.Precast[spell.skill] then
  720.                 equip(sets.Precast[spell.skill])
  721.             else
  722.                 equip(sets.Precast.FastCast)
  723.             end
  724.         end
  725.         elseif spell.type == "WeaponSkill" then
  726.             if sets.WS[spell.english] then
  727.                 equip(sets.WS[spell.english])
  728.             end
  729.         elseif spell.type == "JobAbility" then
  730.             if sets.JA[spell.english] then
  731.                 equip(sets.JA[spell.english])
  732.             end
  733.         elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  734.             cast_delay(0.2)
  735.             send_command('cancel Sneak')
  736.     end
  737.     if sets.Precast[spell.element] then
  738.         equip(sets.Precast[spell.element])
  739.     end
  740. end
  741.  
  742. function midcast(spell,action)
  743.     equipSet = {}
  744.             if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' or spell.type == 'BardSong' then
  745.                 equipSet = sets.Midcast
  746.             if string.find(spell.english,'Cure') then
  747.                 equipSet = equipSet.Cure
  748.             elseif string.find(spell.english,'Cura') then
  749.                 equipSet = equipSet.Curaga
  750.             elseif string.find(spell.english,'Death') then
  751.                 equipSet = equipSet.Death
  752.             elseif string.find(spell.english,'Banish') then
  753.                 equipSet = set_combine(equipSet.Haste,{ring1="Fenian Ring"})
  754.             elseif spell.english == "Stoneskin" then
  755.                 if buffactive.Stoneskin then
  756.                     send_command('cancel stoneskin')
  757.                 end
  758.                 equipSet = equipSet.Stoneskin
  759.             elseif spell.english == "Sneak" then
  760.                 if spell.target.name == player.name and buffactive['Sneak'] then
  761.                     send_command('cancel sneak')
  762.                 end
  763.                 equipSet = equipSet.Haste
  764.             elseif string.find(spell.english,'Utsusemi') then
  765.                 if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  766.                     send_command('@wait 1.7;cancel Copy Image*')
  767.                 end
  768.                 equipSet = equipSet.Haste
  769.             elseif spell.english == 'Monomi: Ichi' then
  770.                 if buffactive['Sneak'] then
  771.                     send_command('@wait 1.7;cancel sneak')
  772.                 end
  773.                 equipSet = equipSet.Haste
  774.             else
  775.             if equipSet[spell.english] then
  776.                 equipSet = equipSet[spell.english]
  777.             end
  778.             if equipSet[spell.skill] then
  779.                 equipSet = equipSet[spell.skill]
  780.             end
  781.             if equipSet[AccArray[AccIndex]] then
  782.                 equipSet = equipSet[AccArray[AccIndex]]
  783.             end
  784.             if equipSet[spell.type] then
  785.                 equipSet = equipSet[spell.type]
  786.             end
  787.             if ((spell.skill == 'Elemental Magic') and (world.day_element == spell.element)) then
  788.                 equipSet = set_combine(equipSet,sets.dayObi[spell.element])
  789.                 if string.find(spell.english,'helix') then
  790.                     equip(sets.Midcast.Helix)
  791.                 end
  792.             end
  793.             if ((spell.skill == 'Elemental Magic') and (world.weather_element == spell.element)) then
  794.                 equipSet = set_combine(equipSet,sets.Obi[spell.element])
  795.                 if string.find(spell.english,'helix') then
  796.                     equip(sets.Midcast.Helix)
  797.                 end
  798.             end
  799.             if string.find(spell.english,'Cure')  and (world.weather_element == spell.element) or  (world.day_element == spell.element) then
  800.                 equipSet = set_combine(equipSet,sets.Obi[spell.element])
  801.             end
  802.             if ((spell.english == 'Drain') or (spell.english == 'Aspir')) and ((world.day_element == spell.element) or (world.weather_element == spell.element)) then
  803.                 equipSet = set_combine(equipSet,sets.Obi[spell.element])
  804.             end
  805.             if spell.skill == 'Elemental Magic' and (string.find(spell.english,'ga') or string.find(spell.english,'ja') or string.find(spell.english,'ra')) then
  806.                 equipSet = set_combine(equipSet,{body="Spae. Coat +1"})
  807.             end
  808.             if spell.skill =='Elemental Magic' and buffactive['Reive Mark'] then
  809.                 equipSet = set_combine(equipSet,{neck="Arciela's Grace +1"})
  810.             end
  811.             if spell.skill =='Elemental Magic' and MagicBurstIndex==1 and spell.english ~= "Meteor" and spell.english ~= "Impact" then
  812.                 equipSet = set_combine(equipSet,{
  813.                     neck="Mizu. Kubikazari",
  814.                     ring1="Locus Ring",
  815.                     ring2="Mujin Band",
  816.                     --head={ name="Merlinic Hood", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic burst mdg.+11%','CHR+1','"Mag.Atk.Bns."+15',}},
  817.                     --legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+9%','INT+4','Mag. Acc.+10',}},
  818.                     back="Seshaw Cape",
  819.                     --right_ear="Static Earring"
  820.                     })
  821.             end
  822.             if spell.skill =='Elemental Magic' and EcoNukeIndex==1 then
  823.                 equipSet = set_combine(equipSet,{
  824.                     body="Spaekona's Coat +1"})
  825.             end
  826.             if spell.skill == 'Elemental Magic' and (string.find(spell.english,'helix')) then
  827.                 equipSet = set_combine(equipSet,{waist="Sekhmet Corset"})
  828.             end
  829.             if (string.find(spell.english,'Kaustra')) then
  830.                 equipSet = set_combine(equipSet,{waist="Sekhmet Corset"})
  831.             end
  832.     end
  833.     elseif equipSet[spell.english] then
  834.         equipSet = equipSet[spell.english]
  835.     end
  836.     equip(equipSet)
  837. end
  838.  
  839. function aftercast(spell,action)
  840. if not spell.interrupted and spell.english == 'Mana Wall' and player.equipment.feet == "Wicce Sabots +1" then
  841. disable('feet')
  842. end
  843.         if not spell.interrupted then
  844.                 if spell.english == "Sleep II" then -- Sleep II Countdown --
  845.                         send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  846.                 elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
  847.                         send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  848.                 elseif spell.english == "Break" then -- Break Countdown --
  849.                         send_command('wait 25;input /echo Break Effect: [WEARING OFF IN 5 SEC.]')
  850.                 elseif spell.english == "Paralyze" then -- Paralyze Countdown --
  851.                         send_command('wait 115;input /echo Paralyze Effect: [WEARING OFF IN 5 SEC.]')
  852.                 elseif spell.english == "Slow" then -- Slow Countdown --
  853.                         send_command('wait 115;input /echo Slow Effect: [WEARING OFF IN 5 SEC.]')
  854.                 elseif spell.english == "Banish II" then -- Banish II Countdown --
  855.                         send_command('wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
  856.                 end
  857.         end
  858.         status_change(player.status)
  859.         --[[if buffactive['Reive Mark'] then
  860.             equip({neck="Arciela's Grace +1"})
  861.         end]]
  862. end
  863.  
  864. function status_change(new,old)
  865.         if Armor == 'PDT' then
  866.                 equip(sets.PDT)
  867.         elseif new=='Engaged' then
  868.                 equip(sets.Melee)
  869.         elseif buffactive["Sublimation: Activated"] then
  870.                 equip(sets.Sublimation)
  871.         elseif new == 'Idle' and buffactive['Reive Mark'] then
  872.                 equip(sets.Idle[IdleArray[IdleIndex]],{neck="Arciela's Grace +1"})     
  873.         elseif new == 'Idle' and toau_zones:contains(zone) then
  874.                 equip(sets.Idle[IdleArray[IdleIndex]],{ring1="Balrahn's Ring"})                
  875.         elseif new == 'Idle' then
  876.                 equip(sets.Idle[IdleArray[IdleIndex]])
  877.         elseif new == 'Resting' then
  878.                 equip(sets.Resting)
  879.         end
  880. end
  881.  
  882. function buff_change(buff,gain)
  883.         buff = string.lower(buff)
  884.         if buff == "mana wall" and not gain then
  885.                 enable('feet')
  886.         elseif buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  887.                 if gain then
  888.                         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.]')
  889.                 else
  890.                         send_command('timers delete "Aftermath: Lv.3"')
  891.                         add_to_chat(123,'AM3: [OFF]')
  892.                 end
  893.         elseif buff == "aftermath: lv.2" then -- AM2 Timer/Countdown --
  894.                 if gain then
  895.                         send_command('timers create "Aftermath: Lv.2" 270 down;wait 210;input /echo Aftermath: Lv.2 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.2 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.2 [WEARING OFF IN 10 SEC.]')
  896.                 else
  897.                         send_command('timers delete "Aftermath: Lv.2"')
  898.                         add_to_chat(123,'AM2: [OFF]')
  899.                 end
  900.         elseif buff == "aftermath: lv.1" then -- AM1 Timer/Countdown --
  901.                 if gain then
  902.                         send_command('timers create "Aftermath: Lv.1" 270 down;wait 210;input /echo Aftermath: Lv.1 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.1 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.1 [WEARING OFF IN 10 SEC.]')
  903.                 else
  904.                         send_command('timers delete "Aftermath: Lv.1"')
  905.                         add_to_chat(123,'AM1: [OFF]')
  906.                 end    
  907.         elseif buff == 'weakness' then -- Weakness Timer --
  908.                 if gain then
  909.                         send_command('timers create "Weakness" 300 up')
  910.                 else
  911.                         send_command('timers delete "Weakness"')
  912.                 end
  913.         end
  914.         if not midaction() then
  915.                 status_change(player.status)
  916.         end
  917. end
  918.  
  919. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  920. function self_command(command)
  921.         if command == 'C1' then -- Magic Accuracy Toggle --
  922.                 AccIndex = (AccIndex % #AccArray) + 1
  923.                 add_to_chat(206,'Magic Accuracy Level: ' .. AccArray[AccIndex])
  924.                 status_change(player.status)
  925.         elseif command == 'C5' then -- Auto Update Gear Toggle --
  926.                 status_change(player.status)
  927.                 add_to_chat(206,'Auto Update Gear')
  928.         elseif command == 'C2' then -- MB Toggle --
  929.                 if MagicBurstIndex == 1 then
  930.                         MagicBurstIndex = 0
  931.                         add_to_chat(123,'Magic Burst Gear: [Off]')
  932.                 else
  933.                         MagicBurstIndex = 1
  934.                         add_to_chat(206,'Magic Burst Gear: [On]')
  935.                 end
  936.                 status_change(player.status)
  937.                 elseif command == 'C4' then -- Economy Nuke Toggle --
  938.                 if EcoNukeIndex == 1 then
  939.                         EcoNukeIndex = 0
  940.                         add_to_chat(123,'Economy Nuke: [Off]')
  941.                 else
  942.                         EcoNukeIndex = 1
  943.                         add_to_chat(206,'Economy Nuke: [On]')
  944.                 end
  945.                 status_change(player.status)
  946.         elseif command == 'C3' then -- Obi Toggle --
  947.                 if Obi == 'ON' then
  948.                         Obi = 'OFF'
  949.                         add_to_chat(123,'Obi: [OFF]')
  950.                 else
  951.                         Obi = 'ON'
  952.                         add_to_chat(206,'Obi: [ON]')
  953.                 end
  954.                 status_change(player.status)
  955.         elseif command == 'C7' then -- PDT Toggle --
  956.                 if Armor == 'PDT' then
  957.                         Armor = 'None'
  958.                         add_to_chat(123,'PDT Set: [Unlocked]')
  959.                 else
  960.                         Armor = 'PDT'
  961.                         add_to_chat(158,'PDT Set: [Locked]')
  962.                 end
  963.                 status_change(player.status)
  964.         elseif command == 'C8' then -- Distance Toggle --
  965.                 if player.target.distance then
  966.                         target_distance = math.floor(player.target.distance*10)/10
  967.                         add_to_chat(158,'Distance: '..target_distance)
  968.                 else
  969.                         add_to_chat(123,'No Target Selected')
  970.                 end
  971.         elseif command == 'C6' then -- Idle Toggle --
  972.                 IdleIndex = (IdleIndex % #IdleArray) + 1
  973.                 add_to_chat(206,'Idle Set: '..IdleArray[IdleIndex])
  974.                 status_change(player.status)
  975.         elseif command:match('^SC%d$') then
  976.                 send_command('//' .. sc_map[command])
  977.         elseif command=='meleemode' then
  978.             if melee_mode=="off" then
  979.                 melee_mode="on"
  980.                 equipSet = set_combine(equipSet,{
  981.                     main="Lathi",
  982.                     sub="Niobid Strap"})
  983.                 disable('main','sub','ammo')
  984.                 add_to_chat(206, 'Melee Mode: ON')
  985.             else
  986.                 melee_mode="off"
  987.                 enable('main','sub','ammo')
  988.                 add_to_chat(206, 'Melee Mode: OFF')
  989.                 status_change(player.status)
  990.         end
  991.     end
  992.     if command=="ice" then
  993.         nuke_element="Ice"
  994.         send_command('alias VI input /ma "Blizzard VI" <t>')
  995.         send_command('alias V input /ma "Blizzard V" <t>')
  996.         send_command('alias IV input /ma "Blizzard IV" <t>')
  997.         send_command('alias III input /ma "Blizzard III" <t>')
  998.         send_command('alias II input /ma "Blizzard II" <t>')
  999.         send_command('alias I input /ma "Blizzard" <t>')
  1000.         send_command('alias aja input /ma "Blizzaja" <t>')
  1001.         send_command('alias agaIII input /ma "Blizzaga III" <t>')
  1002.         send_command('alias agaII input /ma "Blizzaga II" <t>')
  1003.         send_command('alias aga input /ma "Blizzaga" <t>')
  1004.         send_command('alias AM input /ma "Freeze" <t>')
  1005.         send_command('alias AM2 input /ma "Freeze II" <t>')
  1006.         windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/icenukesedit2.png')
  1007.         --send_command('text tpvariable text "ICE NUKES";text tpvariable color 0 255 255')
  1008.     end
  1009.     if command=="fire" then
  1010.         nuke_element="Fire"
  1011.         send_command('alias VI input /ma "Fire VI" <t>')
  1012.         send_command('alias V input /ma "Fire V" <t>')
  1013.         send_command('alias IV input /ma "Fire IV" <t>')
  1014.         send_command('alias III input /ma "Fire III" <t>')
  1015.         send_command('alias II input /ma "Fire II" <t>')
  1016.         send_command('alias I input /ma "Fire" <t>')
  1017.         send_command('alias aja input /ma "Firaja" <t>')
  1018.         send_command('alias agaIII input /ma "Firaga III" <t>')
  1019.         send_command('alias agaII input /ma "Firaga II" <t>')
  1020.         send_command('alias aga input /ma "Firaga" <t>')
  1021.         send_command('alias AM input /ma "Flare" <t>')
  1022.         send_command('alias AM2 input /ma "Flare II" <t>')
  1023.         windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/firenukesedit2.png')
  1024.         --send_command('text tpvariable text "FIRE NUKES";text tpvariable color 255 0 0')
  1025.     end
  1026.     if command=="earth" then
  1027.         nuke_element="Earth"
  1028.         send_command('alias VI input /ma "Stone VI" <t>')
  1029.         send_command('alias V input /ma "Stone V" <t>')
  1030.         send_command('alias IV input /ma "Stone IV" <t>')
  1031.         send_command('alias III input /ma "Stone III" <t>')
  1032.         send_command('alias II input /ma "Stone II" <t>')
  1033.         send_command('alias I input /ma "Stone" <t>')
  1034.         send_command('alias aja input /ma "Stoneja" <t>')
  1035.         send_command('alias agaIII input /ma "Stonega III" <t>')
  1036.         send_command('alias agaII input /ma "Stonega II" <t>')
  1037.         send_command('alias aga input /ma "Stonega" <t>')
  1038.         send_command('alias AM input /ma "Quake" <t>')
  1039.         send_command('alias AM2 input /ma "Quake II" <t>')
  1040.         windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/earthnukesedit2.png')
  1041.         --send_command('text tpvariable text "EARTH NUKES";text tpvariable color 140 100 0')
  1042.     end
  1043.     if command=="wind" then
  1044.         nuke_element="Wind"
  1045.         send_command('alias VI input /ma "Aero VI" <t>')
  1046.         send_command('alias V input /ma "Aero V" <t>')
  1047.         send_command('alias IV input /ma "Aero IV" <t>')
  1048.         send_command('alias III input /ma "Aero III" <t>')
  1049.         send_command('alias II input /ma "Aero II" <t>')
  1050.         send_command('alias I input /ma "Aero" <t>')
  1051.         send_command('alias aja input /ma "Aeroja" <t>')
  1052.         send_command('alias agaIII input /ma "Aeroga III" <t>')
  1053.         send_command('alias agaII input /ma "Aeroga II" <t>')
  1054.         send_command('alias aga input /ma "Aeroga" <t>')
  1055.         send_command('alias AM input /ma "Tornado" <t>')
  1056.         send_command('alias AM2 input /ma "Tornado II" <t>')
  1057.         windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/windnukes.png')
  1058.         --send_command('text tpvariable text "WIND NUKES";text tpvariable color 0 255 0')
  1059.     end
  1060.     if command=="water" then
  1061.         nuke_element="Water"
  1062.         send_command('alias VI input /ma "Water VI" <t>')
  1063.         send_command('alias V input /ma "Water V" <t>')
  1064.         send_command('alias IV input /ma "Water IV" <t>')
  1065.         send_command('alias III input /ma "Water III" <t>')
  1066.         send_command('alias II input /ma "Water II" <t>')
  1067.         send_command('alias I input /ma "Water" <t>')
  1068.         send_command('alias aja input /ma "Waterja" <t>')
  1069.         send_command('alias agaIII input /ma "Waterga III" <t>')
  1070.         send_command('alias agaII input /ma "Waterga II" <t>')
  1071.         send_command('alias aga input /ma "Waterga" <t>')
  1072.         send_command('alias AM input /ma "Flood" <t>')
  1073.         send_command('alias AM2 input /ma "Flood II" <t>')
  1074.         windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/waternukesedit2.png')
  1075.         --send_command('text tpvariable text "WATER NUKES";text tpvariable color 0 0 200')
  1076.     end
  1077.     if command=="thunder" then
  1078.         nuke_element="Thunder"
  1079.         send_command('alias VI input /ma "Thunder VI" <t>')
  1080.         send_command('alias V input /ma "Thunder V" <t>')
  1081.         send_command('alias IV input /ma "Thunder IV" <t>')
  1082.         send_command('alias III input /ma "Thunder III" <t>')
  1083.         send_command('alias II input /ma "Thunder II" <t>')
  1084.         send_command('alias I input /ma "Thunder" <t>')
  1085.         send_command('alias aja input /ma "Thundaja" <t>')
  1086.         send_command('alias agaIII input /ma "Thundaga III" <t>')
  1087.         send_command('alias agaII input /ma "Thundaga II" <t>')
  1088.         send_command('alias aga input /ma "Thundaga" <t>')
  1089.         send_command('alias AM input /ma "Burst" <t>')
  1090.         send_command('alias AM2 input /ma "Burst II" <t>')
  1091.         --send_command('text tpvariable text "THUNDER NUKES";text tpvariable color 255 255 0')
  1092.         windower.prim.set_texture('NUKE_ELEMENT',''..windower.windower_path..'addons/gearswap/data/'..player.name..'/images/thundernukesedit2.png')
  1093.     end
  1094.     if command=='primfix' then
  1095.         windower.prim.set_size('NUKE_ELEMENT',200,30)
  1096.     end
  1097. end
  1098.  
  1099. function actualCost(originalCost)
  1100.         if buffactive["Penury"] then
  1101.                 return originalCost*.5
  1102.         elseif buffactive["Light Arts"] then
  1103.                 return originalCost*.9
  1104.         else
  1105.                 return originalCost
  1106.         end
  1107. end
  1108.  
  1109. function degrade_spell(spell,degrade_array)
  1110.         spell_index = table.find(degrade_array,spell.name)
  1111.         if spell_index > 1 then
  1112.                 new_spell = degrade_array[spell_index - 1]
  1113.                 change_spell(new_spell,spell.target.raw)
  1114.                 add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
  1115.         end
  1116. end
  1117.  
  1118. function change_spell(spell_name,target)
  1119.         cancel_spell()
  1120.         send_command('//'..spell_name..' '..target)
  1121. end
  1122.  
  1123. function sub_job_change(newSubjob, oldSubjob)
  1124.         select_default_macro_book()
  1125. end
  1126.  
  1127. function set_macro_page(set,book)
  1128.         if not tonumber(set) then
  1129.                 add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  1130.                 return
  1131.         end
  1132.         if set < 1 or set > 10 then
  1133.                 add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  1134.                 return
  1135.         end
  1136.  
  1137.         if book then
  1138.                 if not tonumber(book) then
  1139.                         add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  1140.                         return
  1141.                 end
  1142.                 if book < 1 or book > 20 then
  1143.                         add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  1144.                         return
  1145.                 end
  1146.                 send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  1147.         else
  1148.                 send_command('@input /macro set '..tostring(set))
  1149.         end
  1150. end
  1151.  
  1152. function select_default_macro_book()
  1153.         -- Default macro set/book
  1154.         if player.sub_job == 'WHM' then
  1155.                 set_macro_page(1, 5)
  1156.         elseif player.sub_job == 'RDM' then
  1157.                 set_macro_page(1, 5 )
  1158.         elseif player.sub_job == 'SCH' then
  1159.                 set_macro_page(1, 5)
  1160.         elseif player.sub_job == 'DNC' then
  1161.                 set_macro_page(1, 5)
  1162.         elseif player.sub_job == 'NIN' then
  1163.                 set_macro_page(1, 5)
  1164.         elseif player.sub_job == 'SAM' then
  1165.                 set_macro_page(1, 5)
  1166.         else
  1167.                 set_macro_page(1, 5)
  1168.         end
  1169. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement