Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2014
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 22.90 KB | None | 0 0
  1. -- *** 0 fucks are given about dragoon *** --
  2. -- ** I Use Some of Motenten's Functions ** --
  3. -- Last Updated: 9/23/14 Fuck Geno *Changed HB Rule* --
  4. -------------------------------------------------------------------------------------------------------------------
  5.     -- Initialization function that defines sets and variables to be used.
  6.     -------------------------------------------------------------------------------------------------------------------
  7.      
  8.     -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
  9.      
  10.     -- Initialization function for this job file.
  11.     function get_sets()
  12.             -- Load and initialize the include file.
  13.             include('Mote-Include.lua')
  14.     end
  15.      
  16.      
  17.     -- Setup vars that are user-independent.
  18.     function job_setup()
  19.                     state.Buff['Aftermath'] = buffactive['Aftermath: Lv.1'] or
  20.                     buffactive['Aftermath: Lv.2'] or
  21.                     buffactive['Aftermath: Lv.3']
  22.                     or false
  23.     end
  24.      
  25.      
  26.     -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  27.     function user_setup()
  28.             -- Options: Override default values
  29.             options.OffenseModes = {'Normal', 'Acc', 'Multi'}
  30.             options.DefenseModes = {'Normal', 'PDT', 'Reraise'}
  31.             options.WeaponskillModes = {'Normal', 'Acc', 'Att', 'Mod'}
  32.             options.CastingModes = {'Normal'}
  33.             options.IdleModes = {'Normal'}
  34.             options.RestingModes = {'Normal'}
  35.             options.PhysicalDefenseModes = {'PDT', 'Reraise'}
  36.             options.MagicalDefenseModes = {'MDT'}
  37.      
  38.                        
  39.             adjust_engaged_sets()
  40.      
  41.             -- Additional local binds
  42.             send_command('bind ^` input /ja "Hasso" <me>')
  43.             send_command('bind !` input /ja "Seigan" <me>')
  44.      
  45.            
  46.             end
  47.      
  48.     -- Called when this job file is unloaded (eg: job change)
  49.     function file_unload()
  50.             if binds_on_unload then
  51.                     binds_on_unload()
  52.             end
  53.      
  54.             send_command('unbind ^`')
  55.             send_command('unbind !-')
  56.     end
  57.      
  58.            
  59.     -- Define sets and vars used by this job file.
  60.     function init_gear_sets()
  61.             --------------------------------------
  62.             -- Start defining the sets
  63.             --------------------------------------
  64.             -- Precast Sets
  65.             sets['Restoring Breath'] =
  66.             {
  67.             head="Ptero. Armet +1",
  68.             neck="Lancer's Torque",
  69.             body="Vishap mail +1",
  70.             ring1="",
  71.             ring2="",
  72.             back="Updraft Mantle",
  73.             waist="Glassblower's Belt",
  74.             legs="Vishap Brais",
  75.             feet="Ptero. Greaves"}
  76.  
  77.            
  78.             -- Precast sets to enhance JAs
  79.             sets.precast.JA['Jump'] = {
  80.             main="Ryunohige",
  81.             sub="Bloodrain strap",
  82.             ammo="Ginsen",
  83.             head="Yaoyotl Helm",
  84.             neck="Asperity necklace",
  85.             ear1="Tripudio Earring",
  86.             ear2="Brutal Earring",
  87.             body="Vishap mail +1",
  88.             hands="Vishap F. G. +1",
  89.             ring1="Oneiros Ring",
  90.             ring2="Rajas Ring",
  91.             back="Updraft mantle",
  92.             waist="Windbuffet belt",
  93.             legs="Xaddi cuisses",
  94.             feet="Vishap Greaves +1"}
  95.            
  96.             sets.precast.JA['High Jump'] = set_combine(sets.precast.JA["Jump"],{legs="Vishap brais +1"
  97.            
  98.             })
  99.                  
  100.             sets.precast.JA["Spirit Jump"] = set_combine(sets.precast.JA["Jump"],{
  101.             feet="Lncr. Schynbld. +2"})  
  102.                    
  103.             sets.precast.JA["Soul Jump"] = set_combine(sets.precast.JA["Jump"],{
  104.             })
  105.  
  106.             sets.precast.JA.Angon = {ammo="Angon",ear1="Dragoon's Earring",hands="Ptero. Fin. Gaunt."}
  107.     sets.precast.JA['Ancient Circle'] = {legs="Vishap brais"}
  108.     sets.precast.JA['Call Wyvern'] = {body="Pteroslaver mail"}
  109.  
  110.     sets.precast.Pet = {}
  111.     sets.precast.Pet.WyvernHP = {
  112.             head="Ptero. Armet +1",
  113.             neck="Lancer's Torque",
  114.             body="Vishap mail +1",
  115.             ring1="",
  116.             ring2="",
  117.             back="Updraft Mantle",
  118.             waist="Glassblower's Belt",
  119.             legs="Vishap Brais",
  120.             feet="Ptero. Greaves"}
  121.  
  122.     sets.precast.JA["Spirit Link"] = set_combine(sets.precast.Pet.WyvernHP,{head="Vishap Armet",hands="Lncr. Vmbrc. +2",feet="Ptero. Greaves"})
  123.     sets.precast.Pet["Smiting Breath"] = set_combine(sets.precast.Pet.WyvernHP)
  124.     sets.precast.Pet["Steady Wing"] = set_combine(sets.precast.Pet.WyvernHP)
  125.    
  126.             -- Waltz set (chr and vit)
  127.             sets.precast.Waltz = {ammo="Sonia's Plectrum",
  128.                     head="Yaoyotl Helm",
  129.                     body="Mikinaak Breastplate",hands="Buremte Gloves",
  130.                     legs="Cizin Breeches",feet="Karieyh Sollerets +1"}
  131.                    
  132.            
  133.             -- Weaponskill sets
  134.             -- Default set for any weaponskill that isn't any more specifically defined
  135.             sets.precast.WS = {
  136.             main="Ryunohige",
  137.             sub="Bloodrain strap",
  138.             ammo="Ginsen",
  139.             head="Yaoyotl Helm",
  140.             neck="Rancor collar",
  141.             ear1="Tripudio Earring",
  142.             ear2="Moonshade Earring",
  143.             body="Xaddi mail",
  144.             hands="Xaddi gauntlets",
  145.             ring1="Oneiros Ring",
  146.             ring2="Rajas Ring",
  147.             back="Updraft mantle",
  148.             waist="Windbuffet belt",
  149.             legs="Xaddi cuisses",
  150.             feet="Ejekamal boots"}
  151.            
  152.             sets.precast.WS.Acc = set_combine(sets.precast.WS, {head="Yaoyotl Helm",           
  153.             body="Xaddi Mail",         
  154.             legs="Xaddi Cuisses"})
  155.              
  156.             -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
  157.             sets.precast.WS['Drakesbane'] = set_combine(sets.precast.WS, {})
  158.             sets.precast.WS['Drakesbane'].Acc = set_combine(sets.precast.WS.Acc, {})
  159.             sets.precast.WS['Drakesbane'].Mod = set_combine(sets.precast.WS['Drakesbane'], {waist="Windbuffet belt"})
  160.      
  161.             sets.precast.WS['Stardiver'] = set_combine(sets.precast.WS, {neck="Soil Gorget",waist="Soil Belt", legs="Xaddi cuisses"})
  162.             sets.precast.WS['Stardiver'].Acc = set_combine(sets.precast.WS.Acc, {neck="Soil Gorget",waist="Soil Belt",legs="Xaddi cuisses"})
  163.             sets.precast.WS['Stardiver'].Mod = set_combine(sets.precast.WS['Stardiver'], {waist="Soil Belt",legs="Xaddi cuisses"})
  164.      
  165.             sets.precast.WS["Camlann's Torment"] = set_combine(sets.precast.WS, {neck="Thunder Gorget",ring2="Oneiros ring",waist="Thunder belt"})
  166.             sets.precast.WS["Camlann's Torment"].Acc = set_combine(sets.precast.WS.Acc, {neck="Thunder Gorget",ring1="Oneiros Ring", waist="Thunder belt"})
  167.             sets.precast.WS["Camlann's Torment"].Mod = set_combine(sets.precast.WS['Resolution'], {waist="Thunder Belt",ring2="Candent Ring"})
  168.      
  169.      
  170.            
  171.             -- Sets to return to when not performing an action.
  172.            
  173.             -- Resting sets
  174.             sets.resting = {head="Yaoyotl Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  175.                     body="Ares' cuirass +1",hands="Cizin Mufflers",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  176.                     back="Letalis Mantle",waist="Goading Belt",legs="Blood Cuisses",feet="Ejekamal Boots"}
  177.            
  178.      
  179.             -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  180.             sets.idle.Town = {
  181.             main="Ryunohige",
  182.             sub="Bloodrain strap",
  183.             ammo="Ginsen",
  184.             head="Yaoyotl Helm",
  185.             neck="Rancor collar",
  186.             ear1="Tripudio Earring",
  187.             ear2="Brutal Earring",
  188.             body="Xaddi mail",
  189.             hands="Xaddi gauntlets",
  190.             ring1="Oneiros Ring",
  191.             ring2="Rajas Ring",
  192.             back="Updraft mantle",
  193.             waist="Windbuffet belt",
  194.             legs="Xaddi cuisses",
  195.             feet="Ejekamal boots"}
  196.              
  197.            
  198.             sets.idle.Field = {
  199.             main="Ryunohige",
  200.             sub="Bloodrain strap",
  201.             ammo="Ginsen",
  202.             head="Yaoyotl Helm",
  203.             neck="Rancor collar",
  204.             ear1="Tripudio Earring",
  205.             ear2="Brutal Earring",
  206.             body="Xaddi mail",
  207.             hands="Xaddi gauntlets",
  208.             ring1="Oneiros Ring",
  209.             ring2="Rajas Ring",
  210.             back="Updraft mantle",
  211.             waist="Windbuffet belt",
  212.             legs="Xaddi cuisses",
  213.             feet="Ejekamal boots"}
  214.      
  215.             sets.idle.Weak = {
  216.                     head="Twilight Helm",neck="Bale Choker",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  217.                     body="Twilight Mail",hands="Buremte Gloves",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  218.                     back="Letalis Mantle",waist="Goading Belt",legs="Cizin Breeches",feet="Ejekamal Boots"}
  219.            
  220.             -- Defense sets
  221.             sets.defense.PDT = {ammo="Ginsen",
  222.                     head="Cizin Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  223.                     body="Cizin Mail",hands="Umuthi gloves",ring1="Dark Ring",ring2="Dark Ring",
  224.                     back="Mollusca Mantle",waist="Windbuffet Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  225.      
  226.             sets.defense.Reraise = {
  227.                     head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  228.                     body="Twilight Mail",hands="Cizin Mufflers",ring1="Dark Ring",ring2="Paguroidea Ring",
  229.                     back="Mollusca Mantle",waist="Dynamic belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  230.      
  231.             sets.defense.MDT = {
  232.                     head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  233.                     body="Cizin Mail",hands="Cizin Mufflers",ring1="Dark Ring",ring2="Dark Ring",
  234.                     back="Engulfer Cape",waist="Dynamic Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  235.                      
  236.             sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
  237.      
  238.             -- Engaged sets
  239.      sets.engaged = {
  240.             main="Ryunohige",
  241.             sub="Bloodrain strap",
  242.             ammo="Ginsen",
  243.             head="Yaoyotl Helm",
  244.             neck="Rancor collar",
  245.             ear1="Tripudio Earring",
  246.             ear2="Brutal Earring",
  247.             body="Xaddi mail",
  248.             hands="Xaddi gauntlets",
  249.             ring1="Oneiros Ring",
  250.             ring2="Rajas Ring",
  251.             back="Updraft mantle",
  252.             waist="Windbuffet belt",
  253.             legs="Xaddi cuisses",
  254.             feet="Ejekamal boots"}
  255.     sets.engaged.Acc = set_combine(sets.engaged,{
  256.             head="Yaoyotl Helm",
  257.             neck="Asperity necklace",
  258.             body="Xaddi Mail",
  259.             ring1="K'ayres Ring",
  260.             hands="Xaddi Gauntlets",
  261.             back="Updraft Mantle",
  262.             waist="Patentia sash",
  263.             legs="Xaddi Cuisses"})
  264.     sets.engaged.mod = {ammo="Ginsen",
  265.                     head="Yaoyotl Helm",neck="",ear1="Brutal Earring",ear2="Moonshade Earring",
  266.                     body="Xaddi mail",hands="Xaddi gauntlets",ring1="Rajas Ring",ring2="Spiral Ring",
  267.                     back="Atheling Mantle",waist="Windbuffet Belt",legs="Xaddi cuisses",feet="Ejekamal boots"}
  268.     sets.engaged.Multi = {ammo="Hagneia Stone",
  269.         head="Otomi Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  270.         body="Pak Corselet",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
  271.         back="Letalis Mantle",waist="Cetl Belt",legs="Cizin Breeches",feet="Ejekamal Boots"}
  272.     sets.engaged.Reraise = {ammo="Fire Bomblet",
  273.         head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  274.         body="Twilight Mail",hands="Cizin Muffler",ring1="Dark Ring",ring2="Dark Ring",
  275.         back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  276.    
  277.      
  278.             -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  279.             -- sets if more refined versions aren't defined.
  280.             -- If you create a set with both offense and defense modes, the offense mode should be first.
  281.             -- EG: sets.engaged.Dagger.Accuracy.Evasion
  282.            
  283.             -- Normal melee group
  284.             sets.engaged.Apocalypse = {ammo="Ginsen",
  285.                     head="Yaoyotl Helm",neck="Asperity necklace",ear1="Bladeborn earring",ear2="Steelflash Earring",
  286.                     body="Xaddi mail",hands="Xaddi gauntlets",ring1="Rajas Ring",ring2="K'ayres Ring",
  287.                     back="Atheling Mantle",waist="Windbuffet Belt",legs="Xaddi cuisses",feet="Ejekamal boots"}
  288.             sets.engaged.Apocalypse.Acc = {ammo="Hagneia Stone",
  289.                     head="Yaoyotl Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  290.                     body="Pak Corselet",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
  291.                     back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Karieyh Sollerets +1"}
  292.             sets.engaged.Apocalypse.AM = {ammo="Ginsen",
  293.                     head="Yaoyotl Helm",neck="",ear1="Brutal Earring",ear2="Moonshade Earring",
  294.                     body="Xaddi mail",hands="Xaddi gauntlets",ring1="Rajas Ring",ring2="Spiral Ring",
  295.                     back="Atheling Mantle",waist="Windbuffet Belt",legs="Xaddi cuisses",feet="Ejekamal boots"}
  296.             sets.engaged.Apocalypse.Multi = {ammo="Hagneia Stone",
  297.                     head="Otomi Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  298.                     body="Pak Corselet",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
  299.                     back="Letalis Mantle",waist="Windbuffet Belt",legs="Cizin Breeches",feet="Ejekamal Boots"}
  300.             sets.engaged.Apocalypse.Multi.PDT = {ammo="Hagneia Stone",
  301.                     head="Yaoyotl Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  302.                     body="Cizin Mail",hands="Cizin Mufflers",ring1="Dark Ring",ring2="Dark Ring",
  303.                     back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Cizin Graves"}
  304.             sets.engaged.Apocalypse.Multi.Reraise = {ammo="Hagneia Stone",
  305.                     head="Twilight Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  306.                     body="Twilight Breastplate",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="Mars's Ring",
  307.                     back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Ejekamal Boots"}
  308.             sets.engaged.Apocalypse.PDT = {ammo="Fire Bomblet",
  309.                     head="Cizin Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  310.                     body="Cizin Mail",hands="Cizin Mufflers",ring1="Dark Ring",ring2="Dark Ring",
  311.                     back="Mollusca Mantle",waist="Nierenschutz",legs="Cizin Breeches",feet="Cizin Greaves"}
  312.             sets.engaged.Apocalypse.Acc.PDT = {ammo="Fire Bomblet",
  313.                     head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  314.                     body="Cizin Mail",hands="Cizin Mufflers",ring1="Dark Ring",ring2="Dark Ring",
  315.                     back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  316.             sets.engaged.Apocalypse.Reraise = {ammo="Fire Bomblet",
  317.                     head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  318.                     body="Twilight Mail",hands="Cizin Muffler",ring1="Dark Ring",ring2="Dark Ring",
  319.                     back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  320.             sets.engaged.Apocalypse.Acc.Reraise = {ammo="Fire Bomblet",
  321.                     head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  322.                     body="Twilight Mail",hands="Cizin Muffler",ring1="Dark Ring",ring2="DarkRing",
  323.                     back="Letalis Mantle",waist="Dynamic Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
  324.                            
  325.     end
  326.      
  327.     -------------------------------------------------------------------------------------------------------------------
  328.     -- Job-specific hooks that are called to process player actions at specific points in time.
  329.     -------------------------------------------------------------------------------------------------------------------
  330.  
  331.     function pretarget(spell,action)
  332.     if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  333.         cancel_spell()
  334.         send_command('input /item "Echo Drops" <me>')
  335.     elseif spell.english == "Spirit Jump" and not pet.isvalid then -- Change Spirit Jump To Jump If Wyvern Is Not Present --
  336.         cancel_spell()
  337.         send_command('Jump')
  338.     elseif spell.english == "Soul Jump" and not pet.isvalid then -- Change Soul Jump To High Jump If Wyvern Is Not Present --
  339.         cancel_spell()
  340.         send_command('HighJump')
  341.     elseif spell.english == "Dismiss" and pet.hpp < 100 then -- Cancel Dismiss If Wyvern's HP Is Under 100% --
  342.         cancel_spell()
  343.         add_to_chat(123, spell.english .. ' Canceled: [' .. pet.hpp .. ']')
  344.         return
  345.     elseif spell.english == "Call Wyvern" and pet.isvalid then -- Change Call Wyvern To Dismiss If Wyvern Is Present --
  346.         cancel_spell()
  347.         send_command('Dismiss')
  348.     elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  349.         cancel_spell()
  350.         send_command('Aggressor')
  351.     elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  352.         cancel_spell()
  353.         send_command('ThirdEye')
  354.     elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 290 --
  355.         cancel_spell()
  356.         add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  357.     elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
  358.         cancel_spell()
  359.         add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  360.         return
  361.     end
  362. end
  363.  
  364.        
  365.  
  366.     function job_precast(spell, action, spellMap, eventArgs)
  367.             if not (spell.english == 'Restoring Breath') then
  368.                     equip(sets[spell.english])
  369.                     add_to_chat(158,tostring(spell.english))
  370.             end
  371.     end
  372.      
  373. function job_pet_midcast(spell, action)
  374.     if string.find(spell.name,'Healing') then
  375.         equip(sets['Restoring Breath'])
  376.         add_to_chat(158, "pet mid restore equipped")
  377.     end
  378. end
  379.      
  380.     function job_pet_aftercast(spell, action)
  381.             if string.find(spell.english, 'Healing') then
  382.                     status_change(player.status)
  383.                     add_to_chat(158, "pet after status change equipped")
  384.             end
  385.     end
  386.      
  387.     function job_aftercast(spell,action)
  388.             if not (spell.english == 'Restoring Breath') then
  389.                     status_change(player.status)
  390.             end
  391.     end
  392.  
  393.  
  394.     -- Run after the default midcast() is done.
  395.     -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  396.     function job_post_midcast(spell, action, spellMap, eventArgs)
  397.             if state.DefenseMode == 'Reraise' or
  398.                     (state.Defense.Active and state.Defense.Type == 'Physical' and state.Defense.PhysicalMode == 'Reraise') then
  399.                     equip(sets.Reraise)
  400.             end
  401.     end
  402.      
  403.      function buff_change(buff,gain)
  404.         buff = string.lower(buff)
  405.         if buff == "aftermath: lv.3" then -- AM3 Timer --
  406.                 if gain then
  407.                         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.]')
  408.                 else
  409.                         send_command('timers delete "Aftermath: Lv.3"')
  410.                         add_to_chat(123,'AM3: [OFF]')
  411.                 end
  412.         elseif buff == 'weakness' then -- Weakness Timer --
  413.                 if gain then
  414.                         send_command('timers create "Weakness" 300 up')
  415.                 else
  416.                         send_command('timers delete "Weakness"')
  417.                 end
  418.         end
  419.         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 --
  420.                 equip({neck="Berserker's Torque"})
  421.         else
  422.                 if not midaction() and not pet_midaction() then
  423.                         status_change(player.status)
  424.                 end
  425.         end
  426. end
  427.     -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  428.   --  function job_aftercast(spell, action, spellMap, eventArgs)
  429.   --      if not spell.interrupted then
  430.   --              if state.Buff[spell.english] ~= nil then
  431.   --                      state.Buff[spell.english] = true
  432.   --              end
  433.   --       end
  434.   --  end
  435.      
  436.     -------------------------------------------------------------------------------------------------------------------
  437.     -- Customization hooks for idle and melee sets, after they've been automatically constructed.
  438.     -------------------------------------------------------------------------------------------------------------------
  439.     -- Modify the default idle set after it was constructed.
  440.     function customize_idle_set(idleSet)
  441.             return idleSet
  442.     end
  443.      
  444.     -- Modify the default melee set after it was constructed.
  445.     function customize_melee_set(meleeSet)
  446.             return meleeSet
  447.     end
  448.      
  449.     -------------------------------------------------------------------------------------------------------------------
  450.     -- General hooks for other events.
  451.     -------------------------------------------------------------------------------------------------------------------
  452.      
  453.     -- Called when the player's status changes.
  454.     function job_status_change(newStatus, oldStatus, eventArgs)
  455.      
  456.     end
  457.      
  458.     -- Called when a player gains or loses a buff.
  459.     -- buff == buff gained or lost
  460.     -- gain == true if the buff was gained, false if it was lost.
  461.     function job_buff_change(buff, gain)
  462.             if buff:startswith('Aftermath') then
  463.                 state.Buff.Aftermath = gain
  464.                 adjust_melee_groups()
  465.                 handle_equipping_gear(player.status)
  466.         end
  467.     end
  468.      
  469.      
  470.     -------------------------------------------------------------------------------------------------------------------
  471.     -- User code that supplements self-commands.
  472.     -------------------------------------------------------------------------------------------------------------------
  473.      
  474.     -- Called by the 'update' self-command, for common needs.
  475.     -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  476. function job_update(cmdParams, eventArgs)
  477.     adjust_engaged_sets()
  478. end
  479.  
  480. -------------------------------------------------------------------------------------------------------------------
  481. -- Utility functions specific to this job.
  482. -------------------------------------------------------------------------------------------------------------------
  483.  
  484. function adjust_engaged_sets()
  485.     state.CombatWeapon = player.equipment.main
  486.     adjust_melee_groups()
  487. end
  488.  
  489. function adjust_melee_groups()
  490.     classes.CustomMeleeGroups:clear()
  491.     if state.Buff.Aftermath then
  492.         classes.CustomMeleeGroups:append('AM')
  493.     end
  494. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement