Advertisement
Sokku

War.lua

Aug 28th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 41.44 KB | None | 0 0
  1. -- *** Credit goes to Flippant for helping me with Gearswap *** --
  2. function get_sets()
  3.     include('organizer-lib')
  4.  
  5. --KeyBinds
  6.     send_command('bind ^f1 gs c C7')
  7.     send_command('bind ^f2 gs c C15')
  8.     send_command('bind ^f3 gs c C16')
  9.     send_command('bind !f1 gs c C2')
  10.     send_command('bind !f2 gs c C10')
  11.     send_command('bind !f3 gs c C5')
  12.  
  13.     AccIndex = 1
  14.     AccArray = {"LowACC","MidACC","HighACC","MaxACC"} -- 4 Levels Of Accuracy Sets For TP/WS/Hybrid. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below. Most of These Sets Are Empty So You Need To Edit Them On Your Own. Remember To Check What The Combined Set Is For Each Sets. --
  15.     WeaponIndex = 1
  16.     WeaponArray = {"Conqueror","Ukonvasara","Ragnarok","Montante","Chango","Bravura"} --"Quint Spear",,"Fencer" ,"Fencer"Default Main Weapon Is Ukonvasara. Can Delete Any Weapons/Sets That You Don't Need Or Replace/Add The New Weapons That You Want To Use. --
  17.     IdleIndex = 1
  18.     IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
  19.     Armor = 'None'
  20.     Twilight = 'None'
  21.     Attack = 'OFF' -- Set Default WS Attack Set ON or OFF Here --
  22.     Retaliation = 'OFF' -- Set Default Retaliation ON or OFF Here --
  23.     select_default_macro_book() -- Change Default Macro Book At The End --
  24.  
  25.     -- Gavialis Helm --
  26.     elements = {}
  27.     elements.equip = {head="Gavialis Helm"}
  28.     elements["Ukko's Fury"] = S{"Light","Lightning","Wind"}
  29.     elements.Resolution = S{"Lightning","Wind","Earth"}
  30.  
  31.     sets.Idle = {}
  32.     -- Idle/Town Sets --
  33.     sets.Idle.Regen = {
  34.         ammo="Oneiros Pebble",
  35.     head="Twilight Helm",
  36.     body={ name="Valk. Breastplate", augments={'"Triple Atk."+3','Accuracy+9','"Resist Sleep"+4',}},
  37.     hands="Sulev. Gauntlets +2",
  38.     legs="Sulevi. Cuisses +1",
  39.     feet="Hermes' Sandals",
  40.     neck="Wiglen Gorget",
  41.     waist="Nierenschutz",
  42.     left_ear={ name="Black Earring", augments={'Phys. dmg. taken -2%','"Resist Poison"+2',}},
  43.     right_ear={ name="Black Earring", augments={'Phys. dmg. taken -2%','"Resist Poison"+1',}},
  44.     left_ring="Paguroidea Ring",
  45.     right_ring="Sheltered Ring",
  46.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  47.     }
  48.    
  49.     sets.Idle.Regen.Conqueror = set_combine(sets.Idle.Regen,{
  50.         main="Conqueror",
  51.         sub="Utu Grip"})   
  52.     sets.Idle.Regen.Ukonvasara = set_combine(sets.Idle.Regen,{
  53.             main="Ukonvasara",
  54.             sub="Utu Grip"})
  55.     sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
  56.             main="Ragnarok",
  57.             sub="Utu Grip"})
  58.     sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
  59.             main="Ragnarok",
  60.             sub="Utu Grip"})
  61.     sets.Idle.Regen.Montante = set_combine(sets.Idle.Regen,{
  62.             main="Montante +1",
  63.             sub="Utu Grip"})       
  64.     sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
  65.             main="Ragnarok",
  66.             sub="Utu Grip"})   
  67.     sets.Idle.Regen.Bravura = set_combine(sets.Idle.Regen,{
  68.             main="Bravura",
  69.             sub="Utu Grip"})
  70.     sets.Idle.Regen.Chango = set_combine(sets.Idle.Regen,{
  71.             main="Chango",
  72.             sub="Utu Grip"})
  73.     sets.Idle.Regen.Quint = set_combine(sets.Idle.Regen,{
  74.             main="Quint Spear",
  75.             sub="Utu Grip"})
  76.     sets.Idle.Regen.Fencer = set_combine(sets.Idle.Regen,{
  77.         main="Reikiko",
  78.         sub="Blurred Shield",
  79.         ammo="Ginsen",
  80.         head={ name="Valorous Mask", augments={'Accuracy+27','"Dbl.Atk."+3','AGI+8','Attack+12',}},
  81.         body={ name="Valorous Mail", augments={'Accuracy+22','"Store TP"+6','DEX+5','Attack+3',}},
  82.         hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
  83.         legs={ name="Odyssean Cuisses", augments={'Accuracy+28','"Store TP"+5','Attack+12',}},
  84.         feet={ name="Valorous Greaves", augments={'Accuracy+29','"Store TP"+6','STR+6','Attack+7',}},
  85.         neck="Ainia Collar",
  86.         waist="Reiki Yotai",
  87.         left_ear="Telos Earring",
  88.         right_ear="Dedition Earring",
  89.         left_ring="Flamma Ring",
  90.         right_ring="Petrov Ring",
  91.         back="Moonbeam Cape",
  92.  
  93.     })
  94.     --sets.Idle.Regen.Chango = set_combine(sets.Idle.Regen,{})
  95.  
  96.     sets.Idle.Movement = set_combine(sets.Idle.Regen,{})
  97.     sets.Idle.Movement.Conqueror = set_combine(sets.Idle.Movement,{
  98.         main="Conqueror",
  99.         sub="Utu Grip"})
  100.     sets.Idle.Movement.Ukonvasara = set_combine(sets.Idle.Movement,{
  101.             main="Ukonvasara",
  102.             sub="Utu Grip"})
  103.     sets.Idle.Movement.Ragnarok = set_combine(sets.Idle.Movement,{
  104.             main="Ragnarok",
  105.             sub="Utu Grip"})
  106.     sets.Idle.Movement.Montante = set_combine(sets.Idle.Regen,{
  107.             main="Montante +1",
  108.             sub="Utu Grip"})
  109.     sets.Idle.Movement.Bravura = set_combine(sets.Idle.Movement,{
  110.             main="Bravura",
  111.             sub="Utu Grip"})
  112.     sets.Idle.Movement.Chango = set_combine(sets.Idle.Movement,{
  113.             main="Chango",
  114.             sub="Utu Grip"})
  115.     sets.Idle.Movement.Quint = set_combine(sets.Idle.Movement,{
  116.             main="Quint Spear",
  117.             sub="Utu Grip"})
  118.     sets.Idle.Movement.Fencer = set_combine(sets.Idle.Movement,{
  119.         main="Reikiko",
  120.         sub="Blurred Shield",
  121.         ammo="Ginsen",
  122.         head={ name="Valorous Mask", augments={'Accuracy+27','"Dbl.Atk."+3','AGI+8','Attack+12',}},
  123.         body={ name="Valorous Mail", augments={'Accuracy+22','"Store TP"+6','DEX+5','Attack+3',}},
  124.         hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
  125.         legs={ name="Odyssean Cuisses", augments={'Accuracy+28','"Store TP"+5','Attack+12',}},
  126.         feet={ name="Valorous Greaves", augments={'Accuracy+29','"Store TP"+6','STR+6','Attack+7',}},
  127.         neck="Ainia Collar",
  128.         waist="Reiki Yotai",
  129.         left_ear="Telos Earring",
  130.         right_ear="Dedition Earring",
  131.         left_ring="Flamma Ring",
  132.         right_ring="Petrov Ring",
  133.         back="Moonbeam Cape",
  134.    
  135.     })
  136.     --sets.Idle.Movement.Chango = set_combine(sets.Idle.Movement,{})
  137.  
  138.     sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  139.  
  140.     -- TP Base Set --
  141.     sets.TP = {}
  142.  
  143.     -- Ukonvasara TP Sets --
  144.     sets.TP.Ukonvasara = {
  145.         main="Ukonvasara",
  146.         sub="Utu Grip",
  147.         ammo="Yetshila",
  148.         head="Flam. Zucchetto +2",
  149.         body={ name="Valorous Mail", augments={'Accuracy+26','"Dbl.Atk."+5','DEX+6','Attack+15',}},
  150.         hands="Sulev. Gauntlets +2",
  151.         legs="Pumm. Cuisses +3",
  152.         feet="Pumm. Calligae +3",
  153.         neck="Lissome Necklace",
  154.         waist="Ioskeha Belt",
  155.         left_ear="Brutal Earring",
  156.         right_ear="Cessance Earring",
  157.         left_ring="Regal Ring",
  158.         right_ring="Niqmaddu Ring",
  159.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  160.         }
  161.     sets.TP.Ukonvasara.MidACC = set_combine(sets.TP.Ukonvasara,{})
  162.     sets.TP.Ukonvasara.HighACC = set_combine(sets.TP.Ukonvasara.MidACC,{})
  163.     sets.TP.Ukonvasara.MaxACC = set_combine(sets.TP.Ukonvasara.HighACC,{})
  164.  
  165.     -- Ragnarok TP Sets --
  166.     sets.TP.Ragnarok = {
  167.         main="Ragnarok",
  168.         sub="Utu Grip",
  169.         ammo="Ginsen",
  170.         head={ name="Valorous Mask", augments={'Accuracy+24 Attack+24','"Store TP"+5',}},
  171.         body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  172.         hands="Sulev. Gauntlets +2",
  173.         legs="Flamma Dirs +1",
  174.         feet="Flam. Gambieras +1",
  175.         neck="Defiant Collar",
  176.         waist="Ioskeha Belt",
  177.         left_ear="Telos Earring",
  178.         right_ear="Brutal Earring",
  179.         left_ring="Chirich Ring",
  180.         right_ring="Rajas Ring",
  181.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  182.     }
  183.     sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{})
  184.     sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{})
  185.     sets.TP.Ragnarok.MaxACC = set_combine(sets.TP.Ragnarok.HighACC,{})
  186.  
  187.  
  188. --Montante TP
  189. sets.TP.Montante = {
  190.     main="Montante +1",
  191.     sub="Utu Grip",
  192.     ammo="Ginsen",
  193.     head="Flam. Zucchetto +2",
  194.     body={ name="Valorous Mail", augments={'Accuracy+26','"Dbl.Atk."+5','DEX+6','Attack+15',}},
  195.     hands="Flam. Manopolas +2",
  196.     legs="Pumm. Cuisses +3",
  197.     feet="Pumm. Calligae +3",
  198.     neck="Lissome Necklace",
  199.     waist="Ioskeha Belt",
  200.     left_ear="Brutal Earring",
  201.     right_ear="Cessance Earring",
  202.     left_ring="Flamma Ring",
  203.     right_ring="Niqmaddu Ring",
  204.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  205. }
  206. sets.TP.Montante.MidACC = set_combine(sets.TP.Montante,{})
  207. sets.TP.Montante.HighACC = set_combine(sets.TP.Montante.MidACC,{})
  208. sets.TP.Montante.MaxACC = set_combine(sets.TP.Montante.HighACC,{})
  209.  
  210.     -- Bravura TP Sets --
  211.     sets.TP.Bravura = {
  212.         main="Bravura",
  213.         sub="Utu Grip",
  214.         ammo="Ginsen",
  215.         head={ name="Valorous Mask", augments={'Accuracy+24 Attack+24','"Store TP"+5',}},
  216.         body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  217.         hands="Sulev. Gauntlets +2",
  218.         legs="Flamma Dirs +1",
  219.         feet="Flam. Gambieras +1",
  220.         neck="Defiant Collar",
  221.         waist="Ioskeha Belt",
  222.         left_ear="Telos Earring",
  223.         right_ear="Brutal Earring",
  224.         left_ring="Chirich Ring",
  225.         right_ring="Rajas Ring",
  226.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  227.     }
  228.     sets.TP.Bravura.MidACC = set_combine(sets.TP.Bravura,{})
  229.     sets.TP.Bravura.HighACC = set_combine(sets.TP.Bravura.MidACC,{})
  230.     sets.TP.Bravura.MaxACC = set_combine(sets.TP.Bravura.HighACC,{})   
  231.    
  232.     --Chango Set
  233.     sets.TP.Chango = {
  234.         main="Chango",
  235.         sub="Utu Grip",
  236.         ammo="Yetshila",
  237.         head="Flam. Zucchetto +2",
  238.         body={ name="Valorous Mail", augments={'Accuracy+26','"Dbl.Atk."+5','DEX+6','Attack+15',}},
  239.         hands="Sulev. Gauntlets +2",
  240.         legs="Pumm. Cuisses +3",
  241.         feet="Pumm. Calligae +3",
  242.         neck="Lissome Necklace",
  243.         waist="Ioskeha Belt",
  244.         left_ear="Brutal Earring",
  245.         right_ear="Cessance Earring",
  246.         left_ring="Regal Ring",
  247.         right_ring="Niqmaddu Ring",
  248.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  249.             }
  250.     sets.TP.Chango.MidACC = set_combine(sets.TP.Chango,{
  251. })
  252.     sets.TP.Chango.HighACC = set_combine(sets.TP.Chango.MidACC,{
  253.     })
  254.     sets.TP.Chango.MaxACC = set_combine(sets.TP.Chango.HighACC,{})
  255.    
  256.     -- Kinship A (Omen) TP Sets --
  257.     sets.TP.Quint = {
  258.         main="Quint Spear",
  259.         sub="Utu Grip",
  260.         ammo="Ginsen",
  261.         head="Flam. Zucchetto +2",
  262.         body={ name="Valorous Mail", augments={'Accuracy+22','"Store TP"+6','DEX+5','Attack+3',}},
  263.         hands={ name="Emicho Gauntlets", augments={'HP+50','DEX+10','Accuracy+15',}},
  264.         legs={ name="Odyssean Cuisses", augments={'Accuracy+28','"Store TP"+5','Attack+12',}},
  265.         feet={ name="Valorous Greaves", augments={'Accuracy+29','"Store TP"+6','STR+6','Attack+7',}},
  266.         neck="Combatant's Torque",
  267.         waist="Ioskeha Belt",
  268.         left_ear="Telos Earring",
  269.         right_ear="Dedition Earring",
  270.         left_ring="Flamma Ring",
  271.         right_ring="Regal Ring",
  272.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  273.         }
  274.         sets.TP.Quint.MidACC = set_combine(sets.TP.Quint,{
  275. })
  276.     sets.TP.Quint.HighACC = set_combine(sets.TP.Quint.MidACC,{
  277.     })
  278.     sets.TP.Quint.MaxACC = set_combine(sets.TP.Quint.HighACC,{})
  279.  
  280.     --Duel Wield Set
  281.     sets.TP.Fencer = {
  282.         main="Reikiko",
  283.         sub="Blurred Shield",
  284.         ammo="Ginsen",
  285.         head={ name="Valorous Mask", augments={'Accuracy+27','"Dbl.Atk."+3','AGI+8','Attack+12',}},
  286.         body={ name="Valorous Mail", augments={'Accuracy+22','"Store TP"+6','DEX+5','Attack+3',}},
  287.         hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
  288.         legs={ name="Odyssean Cuisses", augments={'Accuracy+28','"Store TP"+5','Attack+12',}},
  289.         feet={ name="Valorous Greaves", augments={'Accuracy+29','"Store TP"+6','STR+6','Attack+7',}},
  290.         neck="Ainia Collar",
  291.         waist="Reiki Yotai",
  292.         left_ear="Telos Earring",
  293.         right_ear="Dedition Earring",
  294.         left_ring="Flamma Ring",
  295.         right_ring="Petrov Ring",
  296.         back="Moonbeam Cape",
  297.    
  298.         }
  299.     sets.TP.Fencer.MidACC = set_combine(sets.TP.Fencer,{
  300. })
  301.     sets.TP.Fencer.HighACC = set_combine(sets.TP.Fencer.MidACC,{
  302.     })
  303.     sets.TP.Fencer.MaxACC = set_combine(sets.TP.Fencer.HighACC,{})
  304.  
  305.    
  306.     --Conqueror Set
  307.     sets.TP.Conqueror = {
  308.         main="Conqueror",
  309.         ammo="Yetshila",
  310.         head="Flam. Zucchetto +2",
  311.         body={ name="Valorous Mail", augments={'Accuracy+26','"Dbl.Atk."+5','DEX+6','Attack+15',}},
  312.         hands="Sulev. Gauntlets +2",
  313.         legs="Pumm. Cuisses +3",
  314.         feet="Pumm. Calligae +3",
  315.         neck="Lissome Necklace",
  316.         waist="Ioskeha Belt",
  317.         left_ear="Brutal Earring",
  318.         right_ear="Cessance Earring",
  319.         left_ring="Regal Ring",
  320.         right_ring="Niqmaddu Ring",
  321.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  322.        
  323.         }
  324.     sets.TP.Conqueror.MidACC = set_combine(sets.TP.Conqueror,{
  325. })
  326.     sets.TP.Conqueror.HighACC = set_combine(sets.TP.Conqueror.MidACC,{
  327.     })
  328.     sets.TP.Conqueror.MaxACC = set_combine(sets.TP.Conqueror.HighACC,{})
  329.  
  330.     -- Conqueror(AM3 Up) TP Sets --
  331.     sets.TP.Conqueror.AM3 = set_combine(sets.TP.Conqueror,{
  332.         main="Conqueror",
  333.         ammo="Yetshila",
  334.         head="Flam. Zucchetto +2",
  335.         body={ name="Valorous Mail", augments={'Accuracy+22','"Store TP"+6','DEX+5','Attack+3',}},
  336.         hands="Flam. Manopolas +2",
  337.         legs={ name="Odyssean Cuisses", augments={'Accuracy+28','"Store TP"+5','Attack+12',}},
  338.         feet={ name="Valorous Greaves", augments={'Accuracy+29','"Store TP"+6','STR+6','Attack+7',}},
  339.         neck="Ainia Collar",
  340.         waist="Sailfi Belt +1",
  341.         left_ear="Telos Earring",
  342.         right_ear="Dedition Earring",
  343.         left_ring="Flamma Ring",
  344.         right_ring="Niqmaddu Ring",
  345.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','"Store TP"+10',}},
  346.     })
  347.     sets.TP.Conqueror.MidACC.AM3 = set_combine(sets.TP.Conqueror.MidACC,{})
  348.     sets.TP.Conqueror.HighACC.AM3 = set_combine(sets.TP.Conqueror.HighACC,{})
  349.     sets.TP.Conqueror.MaxACC.AM3 = set_combine(sets.TP.Conqueror.MaxACC,{})
  350.  
  351.     -- Mighty Strikes TP Set --
  352.     sets.TP.MS = {}
  353.  
  354.     -- Retaliation Set --
  355.     --sets.TP.Retaliation = {hands="Pumm. Mufflers +1",feet="Boii Calligae +1"}
  356.  
  357.     -- AM3 Rancor ON Mantle --
  358.     sets.TP.Rancor = {back=""}
  359.  
  360.     -- PDT/MDT Sets --
  361.     sets.PDT = {
  362. ammo="Ginsen",
  363.     head="Sulevia's Mask +1",
  364.     body="Sulevia's Plate. +1",
  365.     hands="Sulev. Gauntlets +2",
  366.     legs="Sulevi. Cuisses +1",
  367.     feet="Sulev. Leggings +1",
  368.     neck="Defiant Collar",
  369.     waist="Ioskeha Belt",
  370.     left_ear="Telos Earring",
  371.     right_ear="Brutal Earring",
  372.     left_ring="Chirich Ring",
  373.     right_ring="Rajas Ring",
  374.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  375. }
  376.    
  377.    
  378.     sets.MDT = set_combine(sets.PDT,{
  379.         ammo="Staunch Tathlum",
  380.         head={ name="Souv. Schaller +1", augments={'HP+105','VIT+12','Phys. dmg. taken -4',}},
  381.         body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  382.         hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
  383.         legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  384.         feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  385.         neck="Loricate Torque +1",
  386.         waist="Ioskeha Belt",
  387.         left_ear="Telos Earring",
  388.         right_ear="Odnowa Earring",
  389.         left_ring="Moonbeam Ring",
  390.         right_ring="Defending Ring",
  391.         back="Moonbeam Cape",
  392.     })
  393.  
  394.     -- Hybrid/Kiting Sets for me personally this is my Bravura AM set when expecting to take dmg --
  395.     sets.TP.Hybrid = {
  396.         main="Bravura",
  397.         sub="Utu Grip",
  398.         ammo="Seeth. Bomblet +1",
  399.         head="Flam. Zucchetto +2",
  400.         body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  401.         hands="Sulev. Gauntlets +2",
  402.         legs="Sulev. Cuisses +2",
  403.         feet="Pumm. Calligae +3",
  404.         neck="Loricate Torque +1",
  405.         waist="Ioskeha Belt",
  406.         left_ear="Telos Earring",
  407.         right_ear="Cessance Earring",
  408.         left_ring="Moonbeam Ring",
  409.         right_ring="Flamma Ring",
  410.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  411.        
  412.     }
  413.     sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  414.     sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  415.     sets.TP.Hybrid.MaxACC = set_combine(sets.TP.Hybrid.HighACC,{})
  416.  
  417.     sets.Kiting = set_combine(sets.PDT,{feet="Hermes' Sandals"})
  418.  
  419.     -- CP Mantle --
  420.     sets.CP = {back="Mecisto. Mantle"}
  421.  
  422.     -- WS Base Set --
  423.     sets.WS = {
  424.         ammo="Seething Bomblet +1",
  425.         head="Sulevia's Mask +2",
  426.         body="Sulevia's Plate. +2",
  427.         hands="Sulev. Gauntlets +2",
  428.         legs="Sulev. Cuisses +2",
  429.         feet="Sulev. Leggings +2",
  430.         neck="Fotia Gorget",
  431.         waist="Fotia Belt",
  432.         left_ear="Telos Earring",
  433.         right_ear="Moonshade Earring",
  434.         left_ring="Regal Ring",
  435.         right_ring="Niqmaddu Ring",
  436.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  437.         }
  438.  
  439.     -- Upheaval Sets --
  440.     sets.WS.Upheaval = {
  441.         ammo="Oneiros Pebble",
  442.     head="Sulevia's Mask +1",
  443.     body="Sulevia's Plate. +1",
  444.     hands="Sulev. Gauntlets +2",
  445.     legs="Sulevi. Cuisses +1",
  446.     feet="Sulev. Leggings +1",
  447.     neck="Fotia Gorget",
  448.     waist="Fotia Belt",
  449.     left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
  450.     right_ear="Brutal Earring",
  451.     left_ring="Titan Ring +1",
  452.     right_ring="Titan Ring +1",
  453.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  454.                 }
  455.     sets.WS.Upheaval.MidACC = set_combine(sets.WS.Upheaval,{
  456.         right_ring="Chirich Ring"})
  457.     sets.WS.Upheaval.HighACC = set_combine(sets.WS.Upheaval.MidACC,{})
  458.     sets.WS.Upheaval.MaxACC = set_combine(sets.WS.Upheaval.HighACC,{})
  459.  
  460.     -- Upheaval(Attack) Set --
  461.     sets.WS.Upheaval.ATT = set_combine(sets.WS.Upheaval,{})
  462.  
  463.     -- Ukko's Fury Sets --
  464.     sets.WS["Ukko's Fury"] = {
  465.         ammo="Yetshila +1",
  466.     head="Flam. Zucchetto +1",
  467.     body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  468.     hands="Sulev. Gauntlets +2",
  469.     legs="Flamma Dirs +1",
  470.     feet="Flam. Gambieras +1",
  471.     neck="Fotia Gorget",
  472.     waist="Fotia Belt",
  473.     left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
  474.     right_ear="Brutal Earring",
  475.     left_ring="Ifrit Ring +1",
  476.     right_ring="Karieyh Ring",
  477.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  478. }
  479.     sets.WS["Ukko's Fury"].MidACC = set_combine(sets.WS["Ukko's Fury"],{
  480.  
  481.     })
  482.     sets.WS["Ukko's Fury"].HighACC = set_combine(sets.WS["Ukko's Fury"].MidACC,{})
  483.     sets.WS["Ukko's Fury"].MaxACC = set_combine(sets.WS["Ukko's Fury"].HighACC,{})
  484.  
  485.     -- Ukko's Fury(Attack) Set --
  486.     sets.WS["Ukko's Fury"].ATT = set_combine(sets.WS["Ukko's Fury"],{})
  487.  
  488.     -- King's Justice Sets --
  489.     sets.WS["King's Justice"] = {
  490.         ammo="Ravager's Orb",
  491.     head="Flam. Zucchetto +1",
  492.     body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  493.     hands="Flam. Manopolas +1",
  494.     legs="Flamma Dirs +1",
  495.     feet="Flam. Gambieras +1",
  496.     neck="Fotia Gorget",
  497.     waist="Fotia Belt",
  498.     left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
  499.     right_ear="Brutal Earring",
  500.     left_ring="Karieyh Ring",
  501.     right_ring="Ifrit Ring +1",
  502.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  503.     }
  504.         sets.WS["King's Justice"].MidACC  = set_combine(sets.WS["King's Justice"],{
  505.         left_ear="Telos Earring",
  506.         right_ring="Chirich Ring"
  507.     })
  508.     sets.WS["King's Justice"].HighACC = set_combine(sets.WS["King's Justice"].MidACC,{})
  509.     sets.WS["King's Justice"].MaxACC = set_combine(sets.WS["King's Justice"].HighACC,{})
  510.  
  511.     -- Metatron Torment Sets --
  512.     sets.WS["Metatron Torment"] = {
  513.         ammo="Ravager's Orb",
  514.     head="Flam. Zucchetto +1",
  515.     body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  516.     hands="Flam. Manopolas +1",
  517.     legs="Flamma Dirs +1",
  518.     feet="Flam. Gambieras +1",
  519.     neck="Fotia Gorget",
  520.     waist="Fotia Belt",
  521.     left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
  522.     right_ear="Brutal Earring",
  523.     left_ring="Karieyh Ring",
  524.     right_ring="Ifrit Ring +1",
  525.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  526.     }
  527.     sets.WS["Metatron Torment"].MidACC  = set_combine(sets.WS["Metatron Torment"],{
  528.     })
  529.     sets.WS["Metatron Torment"].HighACC = set_combine(sets.WS["Metatron Torment"].MidACC,{})
  530.     sets.WS["Metatron Torment"].MaxACC = set_combine(sets.WS["Metatron Torment"].HighACC,{})
  531.  
  532.     -- Fell Cleave Set --
  533.     sets.WS["Fell Cleave"] = {
  534.         ammo="Ravager's Orb",
  535.     head="Flam. Zucchetto +1",
  536.     body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  537.     hands="Flam. Manopolas +1",
  538.     legs="Flamma Dirs +1",
  539.     feet="Flam. Gambieras +1",
  540.     neck="Fotia Gorget",
  541.     waist="Fotia Belt",
  542.     left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +250',}},
  543.     right_ear="Brutal Earring",
  544.     left_ring="Karieyh Ring",
  545.     right_ring="Ifrit Ring +1",
  546.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}}}
  547.  
  548.     -- Resolution --
  549.     sets.WS.Resolution = {
  550.         ammo="Ravager's Orb",
  551.     head="Flam. Zucchetto +1",
  552.     body={ name="Argosy Hauberk", augments={'STR+10','Attack+15','"Store TP"+5',}},
  553.     hands="Flam. Manopolas +1",
  554.     legs="Flamma Dirs +1",
  555.     feet="Flam. Gambieras +1",
  556.     neck="Fotia Gorget",
  557.     waist="Fotia Belt",
  558.     left_ear="Telos Earring",
  559.     right_ear="Moonshade Earring",
  560.     left_ring="Karieyh Ring",
  561.     right_ring="Ifrit Ring +1",
  562.     back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
  563.     }
  564.     sets.WS.Resolution.MidACC  = set_combine(sets.WS.Resolution,{})
  565.  
  566.     sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{})
  567.     sets.WS.Resolution.MaxACC = set_combine(sets.WS.Resolution.HighACC,{})
  568.  
  569.     -- Scourge --
  570.     sets.WS.Scourge = {
  571.         ammo="Seething Bomblet +1",
  572.         head="Sulevia's Mask +2",
  573.         body="Pumm. Lorica +3",
  574.         hands="Sulev. Gauntlets +2",
  575.         legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
  576.         feet="Sulev. Leggings +2",
  577.         neck="Fotia Gorget",
  578.         waist="Grunfeld Rope",
  579.         left_ear="Brutal Earring",
  580.         right_ear="Moonshade Earring",
  581.         left_ring="Regal Ring",
  582.         right_ring="Niqmaddu Ring",
  583.         back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
  584.     sets.WS.Scourge.MidACC  = set_combine(sets.WS.Scourge,{
  585.         left_ear="Telos Earring",
  586.         left_ring="Cacoethic Ring +1",
  587.         right_ring="Chirich Ring"
  588.     })
  589.     sets.WS.Scourge.HighACC = set_combine(sets.WS.Scourge.MidACC,{})
  590.     sets.WS.Scourge.MaxACC = set_combine(sets.WS.Scourge.HighACC,{})
  591.  
  592.     sets.WS["Savage Blade"] = {
  593.         ammo="Knobkierrie",
  594.         head={ name="Argosy Celata +1", augments={'STR+12','DEX+12','Attack+20',}},
  595.         body="Pumm. Lorica +3",
  596.         hands={ name="Odyssean Gauntlets", augments={'Weapon skill damage +4%','STR+4','Accuracy+12','Attack+5',}},
  597.         legs={ name="Argosy Breeches +1", augments={'STR+12','Attack+25','"Store TP"+6',}},
  598.         feet="Sulev. Leggings +2",
  599.         neck="Fotia Gorget",
  600.         waist="Fotia Belt",
  601.         left_ear="Ishvara Earring",
  602.         right_ear="Brutal Earring",
  603.         left_ring="Regal Ring",
  604.         right_ring="Niqmaddu Ring",
  605.         back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}},
  606.    
  607.     }
  608.     -- Magic Based WS --
  609.     sets.WS.Cloudsplitter = {
  610.         ammo="Seething Bomblet +1",
  611.         head="Jumalik Helm",
  612.         body={ name="Found. Breastplate", augments={'Accuracy+14','Mag. Acc.+13','Attack+14','"Mag.Atk.Bns."+14',}},
  613.         hands={ name="Founder's Gauntlets", augments={'STR+8','Attack+15','"Mag.Atk.Bns."+13','Phys. dmg. taken -3%',}},
  614.         legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  615.         feet={ name="Odyssean Greaves", augments={'Mag. Acc.+14 "Mag.Atk.Bns."+14','Weapon Skill Acc.+6','STR+4','"Mag.Atk.Bns."+15',}},
  616.         neck="Sanctity Necklace",
  617.         waist="Eschan Stone",
  618.         left_ear="Friomisi Earring",
  619.         right_ear="Hecate's Earring",
  620.         left_ring="Acumen Ring",
  621.         right_ring="Rufescent Ring",
  622.         back={ name="Cichol's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
  623.     }
  624.  
  625.     sets.WS['Sanguine Blade'] = {
  626.         ammo="Seething Bomblet +1",
  627.         head="Jumalik Helm",
  628.         body={ name="Found. Breastplate", augments={'Accuracy+14','Mag. Acc.+13','Attack+14','"Mag.Atk.Bns."+14',}},
  629.         hands={ name="Founder's Gauntlets", augments={'STR+8','Attack+15','"Mag.Atk.Bns."+13','Phys. dmg. taken -3%',}},
  630.         legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  631.         feet={ name="Odyssean Greaves", augments={'Mag. Acc.+14 "Mag.Atk.Bns."+14','Weapon Skill Acc.+6','STR+4','"Mag.Atk.Bns."+15',}},
  632.         neck="Sanctity Necklace",
  633.         waist="Eschan Stone",
  634.         left_ear="Friomisi Earring",
  635.         right_ear="Hecate's Earring",
  636.         left_ring="Acumen Ring",
  637.         right_ring="Rufescent Ring",
  638.         back={ name="Cichol's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
  639.     }
  640.  
  641. sets.WS.Cataclysm = {
  642.     ammo="Knobkierrie",
  643.     head="Pixie Hairpin +1",
  644.     body="Pumm. Lorica +3",
  645.     hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
  646.     legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  647.     feet="Sulev. Leggings +2",
  648.     neck="Sanctity Necklace",
  649.     waist="Hachirin-no-Obi",
  650.     left_ear="Friomisi Earring",
  651.     right_ear="Hecate's Earring",
  652.     left_ring="Shiva Ring +1",
  653.     right_ring="Archon Ring",
  654.     back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}},
  655. }
  656.  
  657.     -- Mighty Strikes WS Set --
  658.     sets.MS_WS = {ammo="Yetshila", feet="Boii Calligae +1"}
  659.  
  660.     -- JA Sets --
  661.     sets.JA = {}
  662.     sets.JA.Berserk = {feet="Agoge Calligae +1", body="Pumm. Lorica +3", back="Cichol's Mantle"}
  663.     sets.JA.Aggressor = {head="Pumm. Mask +1",body="Agoge Lorica"}
  664.     sets.JA["Blood Rage"] = {body="Boii Lorica +1"}
  665.     sets.JA.Warcry = {head="Agoge Mask +1"}
  666.     sets.JA.Tomahawk = {ammo="Thr. Tomahawk",feet="Agoge Calligae +1"}
  667.     sets.JA["Mighty Strikes"] = {hands="Agoge Mufflers +1"}
  668.     sets.JA.Provoke = {
  669.         ammo="Iron Gobbet",
  670.         head="Halitus Helm",
  671.         body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  672.         hands="Pumm. Mufflers +2",
  673.         legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  674.         feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
  675.         neck="Unmoving Collar",
  676.         waist="Goading Belt",
  677.         left_ring="Moonbeam Ring",
  678.         right_ring="Petrov Ring",
  679.         back="Reiki Cloak",
  680.    
  681.     }
  682.  
  683.     -- Waltz Set --
  684.     sets.Waltz = {}
  685.  
  686.     sets.Precast = {}
  687.     -- Fastcast Set --
  688.     sets.Precast.FastCast = {
  689.         ammo="Sapience Orb",
  690.         body={ name="Odyss. Chestplate", augments={'Accuracy+17','"Fast Cast"+5','Attack+6',}},
  691.         hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
  692.         legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  693.         feet={ name="Odyssean Greaves", augments={'Mag. Acc.+12','"Fast Cast"+5','"Mag.Atk.Bns."+4',}},
  694.         neck="Baetyl Pendant",
  695.         left_ear="Loquac. Earring",
  696.         right_ear="Etiolation Earring",
  697.         left_ring="Prolix Ring"}
  698.  
  699.     sets.Midcast = {}
  700.     -- Magic Haste Set --
  701.     sets.Midcast.Haste = set_combine(sets.PDT,{})
  702.  
  703.     sets.organizer = {
  704.         ammo="Sublime Sushi +1",
  705.         sub="Sublime Sushi",
  706.         sub="Echo Drops",
  707.         ammo="Thr. Tomahawk",
  708.     }
  709. end
  710.  
  711. function pretarget(spell,action)
  712.     if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  713.         cancel_spell()
  714.         send_command('input /item "Echo Drops" <me>')
  715.     elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  716.         cancel_spell()
  717.         send_command('ThirdEye')
  718.     elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 2900 --
  719.         cancel_spell()
  720.         add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  721.     elseif spell.type == 'WeaponSkill' and player.status == 'Engaged' then
  722.         if spell.english ~= 'Bora Axe' and spell.name ~= 'Mistral Axe' and spell.target.distance > target_distance then -- Cancel WS If You Are Out Of Range --
  723.             cancel_spell()
  724.             add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  725.             return
  726.         end
  727.     end
  728. end
  729.  
  730. function precast(spell,action)
  731.     if spell.type == "WeaponSkill" then
  732.         --if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  733.             --cancel_spell()
  734.             --add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  735.             --return
  736.         --else
  737.             equipSet = sets.WS
  738.             if equipSet[spell.english] then
  739.                 equipSet = equipSet[spell.english]
  740.             end
  741.             if Attack == 'ON' then
  742.                 equipSet = equipSet["ATT"]
  743.             end
  744.             if equipSet[AccArray[AccIndex]] then
  745.                 equipSet = equipSet[AccArray[AccIndex]]
  746.             end
  747.             if elements[spell.name] and elements[spell.name]:contains(world.day_element) then
  748.                 equipSet = set_combine(equipSet,elements.equip)
  749.             end
  750.             if buffactive["Mighty Strikes"] then -- Equip MS_WS Set When You Have Mighty Strikes On --
  751.                 equipSet = set_combine(equipSet,sets.MS_WS)
  752.             end
  753.             if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  754.                 equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  755.             end
  756.             if spell.english == "Ukko's Fury" or spell.english == "King's Justice" then
  757.                 if world.time <= (7*60) or world.time >= (17*60) then -- Equip Lugra Earring +1 From Dusk To Dawn --
  758.                     equipSet = set_combine(equipSet,{left_ear="Lugra Earring +1"})
  759.                 end
  760.             end
  761.             if spell.english == "Upheaval" or spell.english == "Metatron Torment" then
  762.                     if world.time <= (7*60) or world.time >= (17*60) then -- Equip Lugra Earring +1 From Dusk To Dawn --
  763.                         equipSet = set_combine(equipSet,{left_ear="Lugra Earring +1"})
  764.                     end
  765.                 end
  766.             --end
  767.             equip(equipSet)
  768.     elseif spell.type == "JobAbility" then
  769.         if sets.JA[spell.english] then
  770.             equip(sets.JA[spell.english])
  771.         end
  772.     elseif spell.action_type == 'Magic' then
  773.         if spell.english == 'Utsusemi: Ni' then
  774.             if buffactive['Copy Image (3)'] then
  775.                 cancel_spell()
  776.                 add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
  777.                 return
  778.             else
  779.                 equip(sets.Precast.FastCast)
  780.             end
  781.         else
  782.             equip(sets.Precast.FastCast)
  783.         end
  784.     elseif spell.type == "Waltz" then
  785.         refine_waltz(spell,action)
  786.         equip(sets.Waltz)
  787.     elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  788.         cast_delay(0.2)
  789.         send_command('cancel Sneak')
  790.     end
  791.     if Twilight == 'Twilight' then
  792.         equip(sets.Twilight)
  793.     end
  794. end
  795.  
  796. function midcast(spell,action)
  797.     if spell.action_type == 'Magic' then
  798.         if spell.english:startswith('Utsusemi') then
  799.             if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then -- Cancel Copy Image 1, 2 & 3 For Utsusemi: Ichi --
  800.                 send_command('@wait 1.7;cancel Copy Image*')
  801.             end
  802.             equip(sets.Midcast.Haste)
  803.         elseif spell.english == 'Monomi: Ichi' then -- Cancel Sneak --
  804.             if buffactive['Sneak'] then
  805.                 send_command('@wait 1.7;cancel sneak')
  806.             end
  807.             equip(sets.Midcast.Haste)
  808.         else
  809.             equip(sets.Midcast.Haste)
  810.         end
  811.     end
  812. end
  813.  
  814. function aftercast(spell,action)
  815.     if not spell.interrupted then
  816.         if spell.type == "WeaponSkill" then
  817.             send_command('wait 0.2;gs c TP')
  818.         elseif spell.english == "Blood Rage" then -- Blood Rage Timer/Countdown --
  819.             timer_blood_rage()
  820.             send_command('wait 50;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
  821.         elseif spell.english == "Tomahawk" then -- Tomahawk Timer/Countdown --
  822.             timer_tomahawk()
  823.             send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Tomahawk";input /echo '..spell.name..': [OFF]')
  824.         end
  825.     end
  826.     status_change(player.status)
  827. end
  828.  
  829. function status_change(new,old)
  830.     check_equip_lock()
  831.     if Armor == 'PDT' then
  832.         equip(sets.PDT)
  833.     elseif Armor == 'MDT' then
  834.         equip(sets.MDT)
  835.     elseif Armor == 'Kiting' then
  836.         equip(sets.Kiting)
  837. --[[    elseif Armor == 'CP' then
  838.         send_command('gs disable back')]]--
  839.     elseif new == 'Engaged' then
  840.         equipSet = sets.TP
  841.         if Armor == 'Hybrid' and equipSet["Hybrid"] then
  842.             equipSet = equipSet["Hybrid"]
  843.         end
  844.         if equipSet[WeaponArray[WeaponIndex]] then
  845.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  846.         end
  847.         if equipSet[AccArray[AccIndex]] then
  848.             equipSet = equipSet[AccArray[AccIndex]]
  849.         end
  850.         if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
  851.             if Rancor == 'ON' then -- Default Rancor Toggle Is Rancorous Mantle --
  852.                 equipSet = set_combine(equipSet["AM3"],sets.TP.Rancor)
  853.             else -- Use Rancor Toggle For Atheling Mantle --
  854.                 equipSet = equipSet["AM3"]
  855.             end
  856.         end
  857.         if buffactive.Aftermath and equipSet["AM"] then
  858.             equipSet = equipSet["AM"]
  859.         end
  860.         if buffactive["Mighty Strikes"] then -- Mighty Strikes TP Set --
  861.             equipSet = set_combine(equipSet,sets.TP.MS)
  862.         end
  863.         equip(equipSet)
  864.     else
  865.         equipSet = sets.Idle
  866.         if equipSet[IdleArray[IdleIndex]] then
  867.             equipSet = equipSet[IdleArray[IdleIndex]]
  868.         end
  869.         if equipSet[WeaponArray[WeaponIndex]] then
  870.             equipSet = equipSet[WeaponArray[WeaponIndex]]
  871.         end
  872.         if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  873.             equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  874.         end
  875.         equip(equipSet)
  876.     end
  877.     if Twilight == 'Twilight' then
  878.         equip(sets.Twilight)
  879.     end
  880. end
  881.  
  882. function buff_change(buff,gain)
  883.     buff = string.lower(buff)
  884.     if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  885.         if gain then
  886.             send_command('timers create "Aftermath: Lv.3" 180 down;wait 150;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 15;input /echo Aftermath: Lv.3 [WEARING OFF IN 15 SEC.];wait 5;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
  887.         else
  888.             send_command('timers delete "Aftermath: Lv.3"')
  889.             add_to_chat(123,'AM3: [OFF]')
  890.         end
  891.     elseif buff == "blood rage" and not gain then
  892.         send_command('timers delete "Blood Rage"')
  893.     elseif buff == 'weakness' then -- Weakness Timer --
  894.         if gain then
  895.             send_command('timers create "Weakness" 300 up')
  896.         else
  897.             send_command('timers delete "Weakness"')
  898.         end
  899.     end
  900.     if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
  901.         equip({neck="Berserker's Torque"})
  902.     else
  903.         if not midaction() then
  904.             status_change(player.status)
  905.         end
  906.     end
  907. end
  908.  
  909. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  910. function self_command(command)
  911.     if command == 'C1' then -- Accuracy Toggle --
  912.         AccIndex = (AccIndex % #AccArray) + 1
  913.         add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
  914.         status_change(player.status)
  915.     elseif command == 'C2' then -- Main Weapon Toggle --
  916.         WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  917.         add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
  918.         status_change(player.status)
  919.     elseif command == 'C5' then -- Auto Update Gear Toggle --
  920.         status_change(player.status)
  921.         add_to_chat(158,'Auto Update Gear')
  922.     elseif command == 'C16' then -- Hybrid Toggle --
  923.         if Armor == 'Hybrid' then
  924.             Armor = 'None'
  925.             add_to_chat(123,'Hybrid Set: [Unlocked]')
  926.         else
  927.             Armor = 'Hybrid'
  928.             add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  929.         end
  930.         status_change(player.status)
  931.     elseif command == 'C7' then -- PDT Toggle --
  932.         if Armor == 'PDT' then
  933.             Armor = 'None'
  934.             add_to_chat(123,'PDT Set: [Unlocked]')
  935.         else
  936.             Armor = 'PDT'
  937.             add_to_chat(158,'PDT Set: [Locked]')
  938.         end
  939.         status_change(player.status)
  940.     elseif command == 'C15' then -- MDT Toggle --
  941.         if Armor == 'MDT' then
  942.             Armor = 'None'
  943.             add_to_chat(123,'MDT Set: [Unlocked]')
  944.         else
  945.             Armor = 'MDT'
  946.             add_to_chat(158,'MDT Set: [Locked]')
  947.         end
  948.         status_change(player.status)
  949.     elseif command == 'C12' then -- Kiting Toggle --
  950.         if Armor == 'Kiting' then
  951.             Armor = 'None'
  952.             add_to_chat(123,'Kiting Set: [Unlocked]')
  953.         else
  954.             Armor = 'Kiting'
  955.             add_to_chat(158,'Kiting Set: [Locked]')
  956.         end
  957.         status_change(player.status)
  958.     --[[elseif command == 'C17' then -- CP Back Toggle --
  959.         if Armor == 'CP' then
  960.             Armor = 'None'
  961.             add_to_chat(123,'CP Back Set: [Unlocked]')
  962.             send_command('gs enable back')
  963.         else
  964.             Armor = 'CP'
  965.             equipSet = set_combine(equipSet,{back="Mecisto. Mantle"})
  966.             add_to_chat(158,'CP Back Set: [Locked]')
  967.         end
  968.         status_change(player.status)]]--
  969.     elseif command == 'C10' then -- Retaliation Toggle --
  970.         if Retaliation == 'ON' then
  971.             Retaliation = 'OFF'
  972.             add_to_chat(123,'Retaliation Set: [Unlocked]')
  973.         else
  974.             Retaliation = 'ON'
  975.             add_to_chat(158,'Retaliation Set: [Locked]')
  976.         end
  977.         status_change(player.status)
  978.     elseif command == 'C9' then -- Attack Toggle --
  979.         if Attack == 'ON' then
  980.             Attack = 'OFF'
  981.             add_to_chat(123,'Attack: [OFF]')
  982.         else
  983.             Attack = 'ON'
  984.             add_to_chat(158,'Attack: [ON]')
  985.         end
  986.         status_change(player.status)
  987.     elseif command == 'C3' then -- Twilight Toggle --
  988.         if Twilight == 'Twilight' then
  989.             Twilight = 'None'
  990.             add_to_chat(123,'Twilight Set: [Unlocked]')
  991.         else
  992.             Twilight = 'Twilight'
  993.             add_to_chat(158,'Twilight Set: [locked]')
  994.         end
  995.         status_change(player.status)
  996.     elseif command == 'C6' then -- Idle Toggle --
  997.         IdleIndex = (IdleIndex % #IdleArray) + 1
  998.         add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
  999.         status_change(player.status)
  1000.     elseif command == 'TP' then
  1001.         add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
  1002.     elseif command:match('^SC%d$') then
  1003.         send_command('//' .. sc_map[command])
  1004.     end
  1005. end
  1006.  
  1007.  
  1008. function check_equip_lock() -- Lock Equipment Here --
  1009.         if player.equipment.left_ring == "Warp Ring" or player.equipment.left_ring == "Capacity Ring" or player.equipment.right_ring == "Warp Ring" or player.equipment.right_ring == "Capacity Ring" then
  1010.                disable('ring1','ring2')
  1011.         elseif player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Aptitude Mantle +1" or player.equipment.back == "Aptitude Mantle" then
  1012.                 disable('back')
  1013.         else
  1014.                 enable('ring1','ring2','back')
  1015.         end
  1016. end
  1017.  
  1018.  
  1019. function timer_blood_rage()
  1020.     local duration = 60
  1021.     send_command('timers create "Blood Rage" '..tostring(duration)..' down')
  1022. end
  1023.  
  1024. function timer_tomahawk()
  1025.     local duration = 90
  1026.     send_command('timers create "Tomahawk" '..tostring(duration)..' down')
  1027. end
  1028.  
  1029. function refine_waltz(spell,action)
  1030.     if spell.type ~= 'Waltz' then
  1031.         return
  1032.     end
  1033.  
  1034.     if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
  1035.         return
  1036.     end
  1037.  
  1038.     local newWaltz = spell.english
  1039.     local waltzID
  1040.  
  1041.     local missingHP
  1042.  
  1043.     if spell.target.type == "SELF" then
  1044.         missingHP = player.max_hp - player.hp
  1045.     elseif spell.target.isallymember then
  1046.         local target = find_player_in_alliance(spell.target.name)
  1047.         local est_max_hp = target.hp / (target.hpp/100)
  1048.         missingHP = math.floor(est_max_hp - target.hp)
  1049.     end
  1050.  
  1051.     if missingHP ~= nil then
  1052.         if player.sub_job == 'DNC' then
  1053.             if missingHP < 40 and spell.target.name == player.name then
  1054.                 add_to_chat(8,'Full HP!')
  1055.                 cancel_spell()
  1056.                 return
  1057.             elseif missingHP < 150 then
  1058.                 newWaltz = 'Curing Waltz'
  1059.                 waltzID = 190
  1060.             elseif missingHP < 300 then
  1061.                 newWaltz = 'Curing Waltz II'
  1062.                 waltzID = 191
  1063.             else
  1064.                 newWaltz = 'Curing Waltz III'
  1065.                 waltzID = 192
  1066.             end
  1067.         else
  1068.             return
  1069.         end
  1070.     end
  1071.  
  1072.     local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50}
  1073.     local tpCost = waltzTPCost[newWaltz]
  1074.  
  1075.     local downgrade
  1076.  
  1077.     if player.tp < tpCost and not buffactive.trance then
  1078.  
  1079.         if player.tp < 20 then
  1080.             add_to_chat(8, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
  1081.             cancel_spell()
  1082.             return
  1083.         elseif player.tp < 35 then
  1084.             newWaltz = 'Curing Waltz'
  1085.         elseif player.tp < 50 then
  1086.             newWaltz = 'Curing Waltz II'
  1087.         end
  1088.  
  1089.         downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
  1090.     end
  1091.  
  1092.     if newWaltz ~= spell.english then
  1093.         send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
  1094.         if downgrade then
  1095.             add_to_chat(158, downgrade)
  1096.         end
  1097.         cancel_spell()
  1098.         return
  1099.     end
  1100.  
  1101.     if missingHP > 0 then
  1102.         add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
  1103.     end
  1104. end
  1105.  
  1106. function find_player_in_alliance(name)
  1107.     for i,v in ipairs(alliance) do
  1108.         for k,p in ipairs(v) do
  1109.             if p.name == name then
  1110.                 return p
  1111.             end
  1112.         end
  1113.     end
  1114. end
  1115.  
  1116. function sub_job_change(newSubjob, oldSubjob)
  1117.     select_default_macro_book()
  1118. end
  1119.  
  1120. function set_macro_page(set,book)
  1121.     if not tonumber(set) then
  1122.         add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  1123.         return
  1124.     end
  1125.     if set < 1 or set > 10 then
  1126.         add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  1127.         return
  1128.     end
  1129.  
  1130.     if book then
  1131.         if not tonumber(book) then
  1132.             add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  1133.             return
  1134.         end
  1135.         if book < 1 or book > 20 then
  1136.             add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  1137.             return
  1138.         end
  1139.         send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  1140.     else
  1141.         send_command('@input /macro set '..tostring(set))
  1142.     end
  1143. end
  1144.  
  1145. function select_default_macro_book()
  1146.     -- Default macro set/book
  1147.     if player.sub_job == 'SAM' then
  1148.         set_macro_page(1, 1)
  1149.     elseif player.sub_job == 'NIN' then
  1150.         set_macro_page(1, 1)
  1151.     elseif player.sub_job == 'BLU' then
  1152.         set_macro_page(1, 1)
  1153.     elseif player.sub_job == 'DNC' then
  1154.         set_macro_page(4, 5)
  1155.     else
  1156.         set_macro_page(5, 5)
  1157.     end
  1158. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement