SHARE
TWEET

DRK 060417

motox11jmc Jul 27th, 2016 (edited) 2,023 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[ Info
  2. Commands
  3.     //gs debugmode
  4.     //gs showswaps
  5.     //gs validate - looks for gear in your sets that isnt in inventory.
  6.  
  7. -- Scythe Light:
  8.     Insurgency > Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency
  9.     Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency
  10.     Entropy > Guillotine > Entropy > Insurgency
  11.     Guillotine > Entropy > Insurgency
  12.    
  13. -- Scythe Darkness:
  14.     Insurgency (M) > Vorpal Scythe > Vorpal Scythe > Insurgency (M) > Entropy (MM) > Cross Reaper
  15.     Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
  16.     Cross Reaper > Insurgency (M) > Entropy (MM) > Cross Reaper
  17.     Insurgency (M) > Entropy (MM) > Cross Reaper
  18.     Cross Reaper > Entropy (MM)
  19.     Entropy (MM) > Cross Reaper
  20.  
  21. -- Apoc Darkness
  22.     Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM) > Catastrophe (R)
  23.     Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
  24.     Insurgency (M) > Entropy (MM) > Cross Reaper > Catastrophe (R)
  25.     Insurgency (M) > Catastrophe (R) > Cross Reaper > Catastrophe (R)
  26.     Cross Reaper > Insurgency (M) > Catastrophe (R) > Cross Reaper
  27.     Catastrophe (R) > Cross Reaper > Catastrophe (R)
  28.     Insurgency (M) > Catastrophe (R) > Cross Reaper
  29.     Cross Reaper > Catastrophe (R) > Catastrophe (R)
  30.     Cross Reaper > Entropy (MM) > Catastrophe (R)
  31.     Entropy (MM) > Cross Reaper > Catastrophe (R)
  32.     Catastrophe (R) > Catastrophe (R)
  33.     Catastrophe (R) > Cross Reaper
  34.     Cross Reaper > Catastrophe (R)
  35.  
  36. -- Other Light
  37.     Catastrophe (R) > Savage Blade (Q) > Insurgency (M)
  38.     Entropy (MM) > Savage Blade (Q) > Insurgency (M)
  39.     Savage Blade (Q) > Insurgency (M)
  40.     Chant du Cygne (E) > Torcleaver (E)
  41.  
  42. -- Other Dark
  43.     Atonement (M) > Entropy (MM) > Cross Reaper
  44.     Savage Blade (Q) > Cross Reaper > Entropy (MM)
  45.     Chant du Cygne (E) > Catastrophe (R)
  46.     Chant du Cygne (E) > Entropy (MM)
  47.     Requiescat (MM) > Cross Reaper
  48.     Requiescat (MM) > Torcleaver (E)
  49.  
  50. -- GreatSword
  51.     Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM) > Torcleaver (E)
  52.     Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM)
  53.     Resolution (MM) > Scourge (R) > Torcleaver (E)
  54.     Scourge (R) > Resolution (MM) > Torcleaver (E)
  55.     Torcleaver (E) > Torcleaver (E)
  56.     Scourge (R) > Resolution (MM)
  57. --]]
  58.  
  59. -- Initialization function for this job file.
  60. function get_sets()
  61.     mote_include_version = 2
  62.      -- Load and initialize the include file.
  63.     include('Mote-Include.lua')
  64. end
  65.  
  66. function binds_on_load()
  67. -- F9-F12
  68.     send_command('bind f9 gs c cycle OffenseMode')
  69.     send_command('bind f10 gs c cycle HybridMode')
  70.     send_command('bind f11 gs c cycle CastingMode')
  71.     send_command('bind f12 gs c cycle IdleMode')
  72. -- ALT F9-12
  73.     send_command('bind !f9 gs c update user')
  74.     send_command('bind !f10 gs c cycle RangedMode')
  75.     send_command('bind !f11 gs c cycle WeaponskillMode')
  76.     send_command('bind !f12 gs c cycle Kiting')
  77. end
  78.  
  79. -- Setup vars that are user-independent.
  80. function job_setup()
  81.     state.Buff.Aftermath = buffactive.Aftermath or false
  82.     state.Buff.Souleater = buffactive.Souleater or false
  83.     state.Buff['Dark Seal'] = buffactive['Dark Seal'] or false
  84.     state.Buff['Last Resort'] = buffactive['Last Resort'] or false
  85.     state.Buff['Doom'] = buffactive['Doom'] or false
  86.     state.Buff['Curse'] = buffactive['Curse'] or false
  87.  
  88.     Apoc_weapons = S{'Apocalypse'}
  89.     GS_weapons = S{'Ragnarok', 'Montante +1', 'Caladbolg'}
  90.     Anguta_weapons = S{'Anguta'}
  91.     Lib_weapons = S{'Liberator'}
  92.  
  93.     get_combat_form()
  94.     get_combat_weapon()
  95.  
  96.     LowTierNuke = S{
  97.         'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
  98.         'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
  99.         'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
  100.         'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
  101.         'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
  102.        
  103.     Absorbs = S{'Absorb-STR', 'Absorb-DEX', 'Absorb-VIT', 'Absorb-AGI', 'Absorb-INT', 'Absorb-MND', 'Absorb-CHR', 'Absorb-Attri', 'Absorb-ACC', 'Absorb-TP'}
  104.        
  105. end
  106.  
  107. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  108. function user_setup()
  109.     -- Options: Override default values
  110.     state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc')
  111.     state.WeaponskillMode:options('Normal', 'Acc', 'Fotia')
  112.     state.HybridMode:options('Normal', 'DamageTaken')
  113.     state.CastingMode:options('Normal', 'Resistant')
  114.     state.IdleMode:options('Normal','DamageTaken')
  115.  
  116.     select_default_macro_book()
  117. end
  118.  
  119. -- Called when this job file is unloaded (eg: job change)
  120. function file_unload()
  121.     if binds_on_unload then
  122.         binds_on_unload()
  123.     end
  124. end
  125.  
  126. -- Define sets and vars used by this job file.
  127. function init_gear_sets()
  128. -- Precast sets
  129.     sets.precast.JA['Diabolic Eye'] = {hands="Fallen's Finger Gauntlets"}
  130.     sets.precast.JA['Arcane Circle'] = {feet="Ignominy Sollerets +3"}
  131.     sets.precast.JA['Nether Void'] = {legs="Heathen's Flanchard +1"}
  132.     sets.precast.JA['Souleater'] = {head="Ignominy Burgonet +3"}
  133.     sets.precast.JA['Last Resort'] = {feet="Fallen's Sollerets +1", back=Ank_STP}
  134.     sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets +2"}
  135.     sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass +1"}
  136.     sets.precast.JA['Dark Seal']    = {head="Fallen's Burgeonet +1"}
  137.  
  138. -- Waltz set (chr and vit)
  139.     sets.precast.Waltz = {
  140.         ammo="Seething Bomblet +1",
  141.         head="Loess Barbuta +1", body="Sulevia's Platemail +2",
  142.         back="Moonbeam Cape", neck="Loricate Torque +1",
  143.         hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
  144.         legs="Sulevia's Cuisses +2", feet="Amm Greaves",
  145.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  146.         ear1="Odnowa Earring +1", ear2="Odnowa Earring"}
  147.  
  148. -- Fast cast sets for spells
  149.     sets.precast.FC = {
  150.         ammo="Impatiens",
  151.         head="Carmine Mask +1", body=Ody_FC_body,
  152.         back=Ank_FC, neck="Orunmila's Torque",
  153.         hands="Leyline Gloves", waist="Sailfi Belt +1",
  154.         legs="Eschite Cuisses", feet=Ody_FC_feet,
  155.         ring1="Lebeche Ring", ring2="Kishar Ring",
  156.         ear1="Enchanter Earring +1", ear2="Loquacious Earring"}
  157.  
  158.     sets.precast.FC.Impact = set_combine(sets.precast.FC, {
  159.         head=empty, body="Twilight Cloak"})
  160.  
  161. -- Midcast Sets
  162.     sets.midcast.FastRecast = {
  163.         ammo="Impatiens",
  164.         head="Carmine Mask +1", body=Ody_FC_body,
  165.         back=Ank_FC, neck="Orunmila's Torque",
  166.         hands="Leyline Gloves", waist="Sailfi Belt +1",
  167.         legs="Eschite Cuisses", feet=Ody_FC_feet,
  168.         ring1="Lebeche Ring", ring2="Kishar Ring",
  169.         ear1="Enchanter Earring +1", ear2="Loquacious Earring"}
  170.  
  171. -- Specific spells
  172.     sets.midcast['Dark Magic'] = {
  173.         ammo="Pemphredo Tathlum",
  174.         head="Ignominy Burgonet +3", body="Carmine Scale Mail",
  175.         back=Ank_FC, neck="Erra Pendant",
  176.         hands="Fallen's Finger Gauntlets", waist="Eschan Stone",
  177.         legs="Eschite Cuisses", feet="Ratri Sollerets",
  178.         ring1="Evanescence Ring", Ring2="Stikini Ring",
  179.         ear1="Enchanter Earring +1", ear2="Gwati Earring"}
  180.     sets.midcast['Dark Magic'].Resistant = set_combine(sets.midcast['Dark Magic'], {
  181.         head="Carmine Mask +1", body="Flamma Korazin +1",
  182.         hands="Flamma Manopolas +1", feet="Ignominy Sollerets +3",
  183.         legs="Flamma Dirs +1", ear1="Dignitary's Earring"})
  184.    
  185.     sets.midcast['Enfeebling Magic'] = {
  186.         ammo="Quartz Tathlum +1",
  187.         head="Befouled Crown", body="Flamma Korazin +1",
  188.         back=Ank_FC, neck="Incanter's Torque",
  189.         hands="Flamma Manopolas +1", waist="Eschan Stone",
  190.         legs="Flamma Dirs +1", feet="Ignominy Sollerets +3",
  191.         ring1="Stikini Ring", Ring2="Kishar Ring",
  192.         ear1="Enchanter Earring +1", ear2="Gwati Earring"}
  193.     sets.midcast['Enfeebling Magic'].Resistant = set_combine(sets.midcast['Enfeebling Magic'], {
  194.         ammo="Pemphredo Tathlum",
  195.         head="Carmine Mask +1", body="Flamma Korazin +1",
  196.         hands="Flamma Manopolas +1", ear1="Dignitary's Earring",
  197.         legs="Flamma Dirs +1"})
  198.  
  199. -- Based on HP when casted.
  200.     sets.midcast['Dread Spikes'] = {
  201.         ammo="Impatiens",
  202.         head=Ody_WSdmg_head, body="Heathen's Cuirass +1",
  203.         back="Moonbeam Cape", neck="Dualism Collar +1",
  204.         hands="Ignominy Gauntlets +2", waist="Oneiros Belt",
  205.         legs="Flamma Dirs +1", feet="Ratri Sollerets",
  206.         ring1="Eihwaz Ring", Ring2="Meridian Ring",
  207.         ear1="Odnowa Earring +1", ear2="Odnowa Earring"}
  208.  
  209. -- Absorbs
  210.     sets.midcast.Absorb = {
  211.         ammo="Pemphredo Tathlum",
  212.         head="Ignominy Burgonet +3", body="Carmine Scale Mail",
  213.         back="Chuparrosa Mantle", neck="Erra Pendant",
  214.         hands="Pavor Gauntlets", waist="Eschan Stone",
  215.         legs="Onyx Cuisses", feet="Ratri Sollerets",
  216.         Ring1="Evanescence Ring", Ring2="Kishar Ring",
  217.         ear1="Enchanter Earring +1", ear2="Gwati Earring"}
  218.     sets.midcast.Absorb.Resistant = set_combine(sets.midcast.Absorb, {
  219.         head="Carmine Mask +1", body="Flamma Korazin +1",
  220.         back=Ank_FC, hands="Flamma Manopolas +1",
  221.         legs="Flamma Dirs +1", feet="Ignominy Sollerets +3",
  222.         ear1="Dignitary's Earring"})
  223.  
  224.     sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb, {hands="Heathen's Gauntlets +1"})
  225.     sets.midcast['Absorb-TP'].Resistant = set_combine(sets.midcast.Absorb.Resistant, {hands="Heathen's Gauntlets +1"})
  226.  
  227.     sets.midcast.Stun = {
  228.         ammo="Impatiens",
  229.         head="Carmine Mask +1", body=Ody_FC_body,
  230.         back=Ank_FC, neck="Orunmila's Torque",
  231.         hands="Leyline Gloves", waist="Sailfi Belt +1",
  232.         legs="Eschite Cuisses", feet=Ody_FC_feet,
  233.         Ring1="Evanescence Ring", Ring2="Stikini Ring",
  234.         ear1="Enchanter Earring +1", ear2="Gwati Earring"}
  235.  
  236.     sets.midcast.Stun.Resistant =set_combine(sets.midcast.Stun, {
  237.         ammo="Pemphredo Tathlum", body="Flamma Korazin +1",
  238.         hands="Flamma Manopolas +1", feet="Ignominy Sollerets +3",
  239.         legs="Flamma Dirs +1", neck="Incanter's Torque",
  240.         ear1="Dignitary's Earring"})
  241.        
  242.     sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
  243.         head="Pixie Hairpin +1", ear1="Hirudinea Earring",
  244.         ring2="Archon Ring", neck="Erra Pendant",
  245.         hands="Fallen's Finger Gauntlets", feet="Ratri Sollerets",
  246.         back="Niht Mantle", waist="Austerity Belt +1"})
  247.    
  248.     sets.midcast.Drain.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {
  249.         head="Pixie Hairpin +1", ear1="Hirudinea Earring",
  250.         ring2="Archon Ring", neck="Erra Pendant",
  251.         hands="Fallen's Finger Gauntlets",
  252.         back="Niht Mantle", waist="Eschan Stone",
  253.         feet="Ignominy Sollerets +3"})
  254.  
  255.     sets.midcast['Drain III'] = sets.midcast.Drain
  256.     sets.midcast['Drain III'].Resistant = sets.midcast.Drain.Resistant
  257.        
  258.     sets.midcast.Aspir = sets.midcast.Drain
  259.     sets.midcast.Aspir.Resistant = sets.midcast.Drain.Resistant
  260.  
  261.     sets.midcast.Impact = set_combine(sets.midcast['Dark Magic'], {head=empty, body="Twilight Cloak"})
  262.     sets.midcast.Impact.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {head=empty, body="Twilight Cloak"})
  263.  
  264. -- Elemental Magic sets are default for handling low-tier nukes.
  265.     sets.midcast.LowTierNuke = {
  266.         ammo="Pemphredo Tathlum",
  267.         head="Carmine Mask +1", body="Carmine Scale Mail",
  268.         back="Izdubar Mantle", neck="Sanctity Necklace",
  269.         hands="Carmine Finger Gauntlets +1", waist="Eschan Stone",
  270.         legs="Eschite Cuisses",feet=Ody_MAB_feet,
  271.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  272.         ear1="Crematio Earring", ear2="Friomisi Earring"}
  273.  
  274.     sets.midcast.LowTierNuke.Resistant = {
  275.         ammo="Pemphredo Tathlum",
  276.         head="Carmine Mask +1", body="Carmine Scale Mail",
  277.         back=Ank_FC, neck="Sanctity Necklace",
  278.         hands="Leyline Gloves", waist="Eschan Stone",
  279.         legs="Eschite Cuisses",feet=Ody_MAB_feet,
  280.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  281.         ear1="Crematio Earring", ear2="Friomisi Earring"}
  282.  
  283.     -- Custom classes for high-tier nukes.
  284.     sets.midcast.HighTierNuke = sets.midcast.LowTierNuke
  285.     sets.midcast.HighTierNuke.Resistant = sets.midcast.LowTierNuke.Resistant
  286.  
  287. -- Resting sets
  288.     sets.resting = {
  289.         ammo="Ginsen",
  290.         head="", body="Lugra Cloak +1",
  291.         back="Moonbeam Cape", neck="Sanctity Necklace",
  292.         hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
  293.         legs="Carmine Cuisses +1",feet="Amm Greaves",
  294.         ring1="Sheltered Ring", ring2="Paguroidea Ring",
  295.         ear1="Infused Earring", ear2="Genmei Earring"}
  296.  
  297. -- Idle sets
  298.     sets.idle = {
  299.         ammo="Seething Bomblet +1",
  300.         head="", body="Lugra Cloak +1",
  301.         back="Moonbeam Cape", neck="Sanctity Necklace",
  302.         hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
  303.         legs="Carmine Cuisses +1", feet="Amm Greaves",
  304.         ring1="Sheltered Ring", ring2="Paguroidea Ring",
  305.         ear1="Odnowa Earring +1", ear2="Genmei Earring"}
  306.  
  307.     sets.idle.DamageTaken = {
  308.         ammo="Seething Bomblet +1",
  309.         head="Loess Barbuta +1", body="Sulevia's Platemail +2",
  310.         back="Moonbeam Cape", neck="Loricate Torque +1",
  311.         hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
  312.         legs="Sulevia's Cuisses +2", feet="Amm Greaves",
  313.         ring1="Defending Ring", ring2="Archon Ring",
  314.         ear1="Odnowa Earring +1", ear2="Odnowa Earring"}
  315.  
  316.     sets.idle.Town = {
  317.         ammo="Knobkierrie",
  318.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  319.         back=Ank_STP, neck="Erra Pendant",
  320.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  321.         legs="Carmine Cuisses +1", feet="Ignominy Sollerets +3",
  322.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  323.         ear1="Telos Earring", ear2="Lugra Earring +1"}
  324.  
  325.     sets.idle.Weak = {
  326.         ammo="Seething Bomblet +1",
  327.         head="Twilight Helm", body="Twilight Mail",
  328.         back="Moonbeam Cape", neck="Loricate Torque +1",
  329.         hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
  330.         legs="Sulevia's Cuisses +2", feet="Amm Greaves",
  331.         ring1="Defending Ring", ring2="Patricius Ring",
  332.         ear1="Odnowa Earring +1", ear2="Genmei Earring"}
  333.  
  334.     sets.Kiting = {legs="Carmine Cuisses +1"}
  335.  
  336. -- Custom buff sets
  337.     sets.Souleater = {head="Ignominy Burgonet +3"}
  338.     sets['Last Resort'] = {}
  339.     sets.Doom = {head="Twilight Helm", body="Twilight Mail", ring2="Purity Ring"}
  340.     sets['Dark Seal'] = {head="Fallen's Burgeonet +1"}
  341.     sets.Aftermath = {}
  342.  
  343. -- Earring considerations, given Lugra's day/night stats
  344.     sets.BrutalLugra = { ear1="Brutal Earring", ear2="Lugra Earring +1" }
  345.     sets.Lugra = { ear1="Lugra Earring +1" }
  346.  
  347. -- Engaged Sets
  348.     --1044acc
  349.     sets.engaged = {
  350.         ammo="Ginsen",
  351.         head="Flamma Zucchetto +1", body=Val_QA_body,
  352.         back=Ank_DA_TP, neck="Ganesha's Mala",
  353.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  354.         legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
  355.         ring1="Niqmaddu ring", ring2="Hetairoi Ring",
  356.         ear1="Brutal Earring", ear2="Cessance Earring"}
  357.     --1103acc
  358.     sets.engaged.LowAcc = {
  359.         ammo="Ginsen",
  360.         head="Flamma Zucchetto +1", body=Val_QA_body,
  361.         back=Ank_DA_TP, neck="Ganesha's Mala",
  362.         hands="Sulevia's Gauntlets +2", waist="Ioskeha Belt",
  363.         legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
  364.         ring1="Niqmaddu ring", ring2="Regal Ring",
  365.         ear1="Brutal Earring", ear2="Cessance Earring"}
  366.     --1165acc
  367.     sets.engaged.MidAcc = {
  368.         ammo="Ginsen",
  369.         head=Arg_HQ_head, body=Val_DA_body,
  370.         back=Ank_DA_TP, neck="Combatant's Torque",
  371.         hands="Sulevia's Gauntlets +2", waist="Ioskeha Belt",
  372.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  373.         ring1="Niqmaddu ring", ring2="Regal ring",
  374.         ear1="Telos Earring", ear2="Cessance Earring"}
  375.     --1225acc
  376.     sets.engaged.HighAcc = {
  377.         ammo="Seething Bomblet +1",
  378.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  379.         back=Ank_DA_TP, neck="Combatant's Torque",
  380.         hands="Ignominy Gauntlets +2", waist="Olseni Belt",
  381.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  382.         ring1="Ramuh ring +1", ring2="Regal ring",
  383.         ear1="Telos Earring", ear2="Mache Earring"}
  384.  
  385. -- Liberator - Need 29stp for 5 hit. 76stp for 4hit.
  386.     --1116acc 31stp 43da 8ta 8qa 22haste
  387.     sets.engaged.Liberator = {
  388.         ammo="Ginsen",
  389.         head="Flamma Zucchetto +1", body=Val_QA_body,
  390.         back=Ank_DA_TP, neck="Ganesha's Mala",
  391.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  392.         legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
  393.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  394.         ear1="Brutal Earring", ear2="Cessance Earring"}
  395.     --1157acc 32stp 44da 4ta 8qa 24haste
  396.     sets.engaged.Liberator.LowAcc = {
  397.         ammo="Ginsen",
  398.         head=Arg_HQ_head, body=Val_QA_body,
  399.         back=Ank_DA_TP, neck="Ganesha's Mala",
  400.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  401.         legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
  402.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  403.         ear1="Telos Earring", ear2="Cessance Earring"}
  404.     --1212acc 33stp 36da 4ta 5qa 21haste
  405.     sets.engaged.Liberator.MidAcc = {
  406.         ammo="Seething Bomblet +1",
  407.         head=Arg_HQ_head, body=Val_DA_body,
  408.         back=Ank_DA_TP, neck="Combatant's Torque",
  409.         hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
  410.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  411.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  412.         ear1="Telos Earring", ear2="Cessance Earring"}
  413.     --1297acc 33stp 12da 22haste
  414.     sets.engaged.Liberator.HighAcc = {
  415.         ammo="Seething Bomblet +1",
  416.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  417.         back=Ank_STP, neck="Combatant's Torque",
  418.         hands="Ignominy Gauntlets +2", waist="Olseni Belt",
  419.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  420.         ring1="Ramuh ring +1", ring2="Regal ring",
  421.         ear1="Telos Earring", ear2="Mache Earring"}
  422.  
  423. -- Anguta - Need 26stp for 5 hit. 72stp for 4 hit.
  424.     --1093acc 73stp 23da 8ta 6qa 22haste
  425.     sets.engaged.Anguta = {
  426.         ammo="Ginsen",
  427.         head="Flamma Zucchetto +1", body=Val_QA_body,
  428.         back=Ank_STP, neck="Ainia Collar",
  429.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  430.         legs=Ody_STP_legs, feet=Arg_HQ_feet,
  431.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  432.         ear1="Telos Earring", ear2="Brutal Earring"}   
  433.     --1155acc 73stp 27da 2ta 6qa 24haste
  434.     sets.engaged.Anguta.LowAcc = {
  435.         ammo="Ginsen",
  436.         head=Arg_HQ_head, body=Val_QA_body,
  437.         back=Ank_STP, neck="Combatant's Torque",
  438.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  439.         legs=Ody_STP_legs, feet="Flamma Gambieras +1",
  440.         ring1="Niqmaddu Ring", ring2="Petrov Ring",
  441.         ear1="Telos Earring", ear2="Cessance Earring"}
  442.     --1212acc 43stp 36da 4ta 5qa 21haste
  443.     sets.engaged.Anguta.MidAcc = {
  444.         ammo="Seething Bomblet +1",
  445.         head=Arg_HQ_head, body=Val_DA_body,
  446.         back=Ank_DA_TP, neck="Combatant's Torque",
  447.         hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
  448.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  449.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  450.         ear1="Telos Earring", ear2="Cessance Earring"}
  451.     --1297acc 43stp 12da 22haste
  452.     sets.engaged.Anguta.HighAcc = {
  453.         ammo="Seething Bomblet +1",
  454.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  455.         back=Ank_STP, neck="Combatant's Torque",
  456.         hands="Ignominy Gauntlets +2", waist="Olseni Belt",
  457.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  458.         ring1="Ramuh ring +1", ring2="Regal ring",
  459.         ear1="Telos Earring", ear2="Mache Earring"}
  460.  
  461. -- Apocalypse - Need 33stp for 5 hit. 82stp for 4hit.
  462.     --1180acc 33stp 41da 8ta 8qa 22haste
  463.     sets.engaged.Apocalypse = {
  464.         ammo="Ginsen",
  465.         head="Flamma Zucchetto +1", body=Val_QA_body,
  466.         back=Ank_DA_TP, neck="Ganesha's Mala",
  467.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  468.         legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
  469.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  470.         ear1="Telos Earring", ear2="Brutal Earring"}
  471.     --1217acc 37stp 44da 4ta 8qa 24haste
  472.     sets.engaged.Apocalypse.LowAcc = {
  473.         ammo="Ginsen",
  474.         head=Arg_HQ_head, body=Val_QA_body,
  475.         back=Ank_DA_TP, neck="Ganesha's Mala",
  476.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  477.         legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
  478.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  479.         ear1="Telos Earring", ear2="Cessance Earring"}
  480.     --1272acc 33stp 36da 4ta 5qa 21haste
  481.     sets.engaged.Apocalypse.MidAcc = {
  482.         ammo="Seething Bomblet +1",
  483.         head=Arg_HQ_head, body=Val_DA_body,
  484.         back=Ank_DA_TP, neck="Combatant's Torque",
  485.         hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
  486.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  487.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  488.         ear1="Telos Earring", ear2="Cessance Earring"}
  489.     --1357acc 33stp 12da 22haste
  490.     sets.engaged.Apocalypse.HighAcc = {
  491.         ammo="Seething Bomblet +1",
  492.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  493.         back=Ank_STP, neck="Combatant's Torque",
  494.         hands="Ignominy Gauntlets +2", waist="Olseni Belt",
  495.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  496.         ring1="Ramuh ring +1", ring2="Regal ring",
  497.         ear1="Telos Earring", ear2="Mache Earring"}
  498.  
  499. -- GreatSword - Need 26stp for 6 hit. 62stp for 5 hit.
  500.     --1109acc 31stp 43da 8ta 8qa 22haste
  501.     sets.engaged.GreatSword = {
  502.         ammo="Ginsen",
  503.         head="Flamma Zucchetto +1", body=Val_QA_body,
  504.         back=Ank_DA_TP, neck="Ganesha's Mala",
  505.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  506.         legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
  507.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  508.         ear1="Brutal Earring", ear2="Cessance Earring"}
  509.     --1150acc 32stp 44da 4ta 8qa 24haste   
  510.     sets.engaged.GreatSword.LowAcc = {
  511.         ammo="Ginsen",
  512.         head=Arg_HQ_head, body=Val_QA_body,
  513.         back=Ank_DA_TP, neck="Ganesha's Mala",
  514.         hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
  515.         legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
  516.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  517.         ear1="Telos Earring", ear2="Cessance Earring"}
  518.     --1206acc 33stp 36da 4ta 5qa 21haste
  519.     sets.engaged.GreatSword.MidAcc = {
  520.         ammo="Seething Bomblet +1",
  521.         head=Arg_HQ_head, body=Val_DA_body,
  522.         back=Ank_DA_TP, neck="Combatant's Torque",
  523.         hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
  524.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  525.         ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
  526.         ear1="Telos Earring", ear2="Cessance Earring"}
  527.     --1291acc 33stp 12da 22haste
  528.     sets.engaged.GreatSword.HighAcc = {
  529.         ammo="Seething Bomblet +1",
  530.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  531.         back=Ank_STP, neck="Combatant's Torque",
  532.         hands="Ignominy Gauntlets +2", waist="Olseni Belt",
  533.         legs="Ignominy Flanchard +3", feet=Val_STP_feet,
  534.         ring1="Ramuh ring +1", ring2="Regal ring",
  535.         ear1="Telos Earring", ear2="Mache Earring"}
  536.  
  537. -- Engaged DamageTaken
  538.     sets.engaged.DamageTaken = {
  539.         ammo="Seething Bomblet +1",
  540.         head="Sulevia's Mask +1", body="Sulevia's Platemail +2",
  541.         back="Moonbeam Cape", neck="Loricate Torque +1",
  542.         hands="Sulevia's Gauntlets +2", waist="Tempus Fugit",
  543.         legs="Sulevia's Cuisses +2",feet="Amm Greaves",
  544.         ring1="Defending Ring", ring2="Regal Ring",
  545.         ear1="Telos Earring", ear2="Mache Earring"}
  546.     sets.engaged.LowAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
  547.         neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})
  548.     sets.engaged.MidAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
  549.         neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})
  550.     sets.engaged.HighAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
  551.         neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})  
  552.     -- Liberator DamageTaken
  553.     sets.engaged.Liberator.DamageTaken = sets.engaged.DamageTaken
  554.     sets.engaged.Liberator.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
  555.     sets.engaged.Liberator.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
  556.     sets.engaged.Liberator.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
  557.     -- Anguta DamageTaken
  558.     sets.engaged.Anguta.DamageTaken = sets.engaged.DamageTaken
  559.     sets.engaged.Anguta.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
  560.     sets.engaged.Anguta.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
  561.     sets.engaged.Anguta.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
  562.     -- Apocalypse DamageTaken
  563.     sets.engaged.Apocalypse.DamageTaken = sets.engaged.DamageTaken
  564.     sets.engaged.Apocalypse.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
  565.     sets.engaged.Apocalypse.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
  566.     sets.engaged.Apocalypse.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken     
  567.     -- GreatSword DamageTaken
  568.     sets.engaged.GreatSword.DamageTaken = sets.engaged.DamageTaken
  569.     sets.engaged.GreatSword.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
  570.     sets.engaged.GreatSword.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
  571.     sets.engaged.GreatSword.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
  572.  
  573. -- Weaponskill sets
  574.     sets.precast.WS = {
  575.         ammo="Knobkierrie",
  576.         head=Ody_WSdmg_head, body="Ignominy Cuirass +3",
  577.         back=Ank_WSdmg, neck="Fotia Gorget",
  578.         hands=Ody_WSdmg_hands, waist="Fotia Belt",
  579.         legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
  580.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  581.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  582.     sets.precast.WS.Acc = set_combine(sets.precast.WS, {
  583.         ammo="Seething Bomblet +1",
  584.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  585.         legs="Ignominy Flanchard +3",
  586.         ring1="Ramuh ring +1", ring2="Regal ring",
  587.         ear1="Mache Earring"})
  588.  
  589. -- Insurgency - FTP 0.5, 3.25, 6.0 - STR 20%, INT 20% -- Fusion/Compression
  590.     sets.precast.WS['Insurgency'] = {
  591.         ammo="Knobkierrie",
  592.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  593.         back=Ank_DA, neck="Fotia Gorget",
  594.         hands="Sulevia's Gauntlets +2", waist="Fotia Belt",
  595.         legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
  596.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  597.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  598.     sets.precast.WS['Insurgency'].Acc = set_combine(sets.precast.WS['Insurgency'], {
  599.         ammo="Seething Bomblet +1", ear1="Mache Earring"})
  600.  
  601. -- Entropy - FTP 0.75, 1.25, 2.0, - INT 85% -- Gravitation/Reverberation
  602.     sets.precast.WS['Entropy'] = {
  603.         ammo="Knobkierrie",
  604.         head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
  605.         back=Ank_DA, neck="Fotia Gorget",
  606.         hands="Sulevia's Gauntlets +2", waist="Fotia Belt",
  607.         legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
  608.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  609.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  610.     sets.precast.WS['Entropy'].Acc = set_combine(sets.precast.WS['Entropy'], {  
  611.         ammo="Seething Bomblet +1", ear1="Mache Earring",
  612.         ring1="Ramuh ring +1", ring2="Regal ring"})
  613.        
  614. -- Catastrophe - FTP 2.75 - STR 40%, INT 40% - WSdmg% -- Darkness/Gravitation
  615.     sets.precast.WS['Catastrophe'] = {
  616.         ammo="Knobkierrie",
  617.         head=Val_WSdmg_head, body="Ignominy Cuirass +3",
  618.         back=Ank_WSdmg, neck="Caro Necklace",
  619.         hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
  620.         legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
  621.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  622.         ear1="Ishvara Earring", ear2="Moonshade Earring"}
  623.     sets.precast.WS['Catastrophe'].Acc = set_combine(sets.precast.WS['Catastrophe'], {
  624.         ammo="Seething Bomblet +1", ear1="Mache Earring",
  625.         head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
  626.  
  627. -- Cross Reaper - FTP 2.75 - STR 40%, INT 40% - WSdmg% -- Darkness/Gravitation
  628.     sets.precast.WS['Cross Reaper'] = {
  629.         ammo="Knobkierrie",
  630.         head=Val_WSdmg_head, body="Ignominy Cuirass +3",
  631.         back=Ank_WSdmg, neck="Caro Necklace",
  632.         hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
  633.         legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
  634.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  635.         ear1="Ishvara Earring", ear2="Moonshade Earring"}
  636.     sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
  637.         ammo="Seething Bomblet +1", ear1="Mache Earring",
  638.         head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
  639.  
  640. -- Quietus - FTP 3.0, - STR 60% MND 60% - Triple Dmg, Ignores Defense -- Darkness/Distortion
  641.     sets.precast.WS['Quietus'] = {
  642.         ammo="Knobkierrie",
  643.         head=Val_WSdmg_head, body="Ignominy Cuirass +3",
  644.         back=Ank_WSdmg, neck="Caro Necklace",
  645.         hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
  646.         legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
  647.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  648.         ear1="Ishvara Earring", ear2="Moonshade Earring"}
  649.     sets.precast.WS['Quietus'].Acc = set_combine(sets.precast.WS['Quietus'], {
  650.         ammo="Seething Bomblet +1", ear1="Mache Earring",
  651.         head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
  652.  
  653. -- Resolution - FTP .71, 1.5, 2.25, - STR 85% Multi Hit -- Fragmentation/Scission
  654.     sets.precast.WS['Resolution'] = {
  655.         ammo="Knobkierrie",
  656.         head=Arg_HQ_head, body="Ignominy Cuirass +3",
  657.         back=Ank_DA, neck="Fotia Gorget",
  658.         hands=Arg_HQ_hands, waist="Fotia Belt",
  659.         legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
  660.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  661.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  662.     sets.precast.WS['Resolution'].Acc = set_combine(sets.precast.WS['Resolution'], {
  663.         ammo="Seething Bomblet +1",
  664.         head="Ignominy Burgonet +3", feet="Flamma Gambieras +1",
  665.         hands="Ignominy Gauntlets +2", ear1="Mache Earring"})
  666.  
  667. -- Torcleaver - FTP 4.75, 7.5, 10, - VIT 80% -- Light/Distortion
  668.     sets.precast.WS['Torcleaver'] = {
  669.         ammo="Knobkierrie",
  670.         head=Ody_WSdmg_head, body="Ignominy Cuirass +3",
  671.         back=Ank_Wsdmg_Vit, neck="Fotia Gorget",
  672.         hands=Ody_VitWSdmg_hands, waist="Fotia Belt",
  673.         legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
  674.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  675.         ear1="Ishvara Earring", ear2="Moonshade Earring"}
  676.     sets.precast.WS['Torcleaver'].Acc = set_combine(sets.precast.WS['Torcleaver'], {
  677.         ammo="Seething Bomblet +1",
  678.         head="Ignominy Burgonet +3", feet="Flamma Gambieras +1",
  679.         hands="Ignominy Gauntlets +2", ear1="Mache Earring"})
  680.        
  681. -- Scourge - FTP 3.0, - STR 40% VIT 40% -- Light/Fusion
  682.     sets.precast.WS['Scourge'] = sets.precast.WS['Torcleaver']
  683.     sets.precast.WS['Scourge'].Acc = sets.precast.WS['Torcleaver'].Acc
  684.    
  685. -- Savage - FTP 4.0, 10.25, 13.75 - MND 50% STR 50% - Fragmentation/Scission
  686.     sets.precast.WS['Savage Blade'] = {
  687.         ammo="Knobkierrie",
  688.         head=Val_WSdmg_head, body="Ignominy Cuirass +3",
  689.         back=Ank_WSdmg, neck="Caro Necklace",
  690.         hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
  691.         legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
  692.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  693.         ear1="Ishvara Earring", ear2="Moonshade Earring"}
  694.     sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {
  695.         ammo="Seething Bomblet +1", ear1="Mache Earring",
  696.         head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
  697.  
  698. -- Judgment
  699.     sets.precast.WS['Judgment'] = {
  700.         ammo="Knobkierrie",
  701.         head=Val_WSdmg_head, body="Ignominy Cuirass +3",
  702.         back=Ank_WSdmg, neck="Caro Necklace",
  703.         hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
  704.         legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
  705.         ring1="Niqmaddu Ring", ring2="Regal Ring",
  706.         ear1="Ishvara Earring", ear2="Moonshade Earring"}
  707.     sets.precast.WS['Judgment'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
  708.         ammo="Seething Bomblet +1", ear1="Mache Earring",
  709.         head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
  710. end
  711.  
  712. function job_pretarget(spell, action, spellMap, eventArgs)
  713.     if spell.type:endswith('Magic') and buffactive.silence then
  714.         eventArgs.cancel = true
  715.         send_command('input /item "Echo Drops" <me>')
  716.     end
  717. end
  718.  
  719. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  720. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  721. function job_precast(spell, action, spellMap, eventArgs)
  722.  
  723. end
  724.  
  725. function job_post_precast(spell, action, spellMap, eventArgs)
  726.     -- Make sure abilities using head gear don't swap
  727.     if spell.type:lower() == 'weaponskill' then
  728.         if player.tp > 2999 then
  729.             equip(sets.BrutalLugra)
  730.         else -- use Lugra + moonshade
  731.         if world.time >= (17*60) or world.time <= (7*60) then
  732.             equip(sets.Lugra)
  733.         else
  734.             -- do nothing.
  735.         end
  736.         end
  737.     end
  738. end
  739.  
  740.  
  741. -- Job-specific hooks for standard casting events.
  742. function job_midcast(spell, action, spellMap, eventArgs)
  743.  
  744. end
  745.  
  746. -- Run after the default midcast() is done.
  747. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  748. function job_post_midcast(spell, action, spellMap, eventArgs)
  749.     if spellMap == 'Cure' and spell.target.type == 'SELF' then
  750.         equip(sets.midcast.CureSelf)
  751.     end
  752.     if buffactive['Dark Seal'] and S{"Drain III"}:contains(spell.english)then
  753.         equip({head="Fallen's Burgeonet +1"})
  754.     end
  755. end
  756.  
  757. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  758. function job_aftercast(spell, action, spellMap, eventArgs)
  759.  
  760. end
  761.  
  762. function job_post_aftercast(spell, action, spellMap, eventArgs)
  763.  
  764. end
  765.  
  766. ---------------------------------------------------------------------
  767. -- Customization hooks for idle and melee sets, after they've been automatically constructed.
  768. ---------------------------------------------------------------------
  769.  
  770. -- Called before the Include starts constructing melee/idle/resting sets.
  771. -- Can customize state or custom melee class values at this point.
  772. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  773. function job_handle_equipping_gear(status, eventArgs)
  774.  
  775. end
  776.  
  777. -- Modify the default idle set after it was constructed.
  778. function customize_idle_set(idleSet)
  779.     if state.Buff['Doom'] or state.Buff['Curse'] then
  780.         idleSet = set_combine(idleSet, sets.Doom)
  781.     end
  782.     return idleSet
  783. end
  784.  
  785. -- Modify the default melee set after it was constructed.
  786. function customize_melee_set(meleeSet)
  787.     if state.Buff.Souleater then
  788.         meleeSet = set_combine(meleeSet, sets.Souleater)
  789.     end
  790.     if state.Buff['Doom'] or state.Buff['Curse'] then
  791.         meleeSet = set_combine(meleeSet, sets.Doom)
  792.     end
  793.     return meleeSet
  794. end
  795.  
  796.  
  797. ---------------------------------------------------------------------
  798. -- General hooks for other events.
  799. ---------------------------------------------------------------------
  800.  
  801. -- Called when the player's status changes.
  802. function job_status_change(newStatus, oldStatus, eventArgs)
  803.  
  804. end
  805.  
  806. -- Called when a player gains or loses a buff.
  807. -- buff == buff gained or lost
  808. -- gain == true if the buff was gained, false if it was lost.
  809. function job_buff_change(buff, gain)
  810.     if state.Buff[buff] ~= nil then
  811.         handle_equipping_gear(player.status)
  812.     end
  813.     if buff == "Souleater" then
  814.         handle_equipping_gear(player.status)
  815.     end
  816.     if buff == "Doom" or buff == "Curse" then
  817.         if gain then
  818.             equip(sets.doom)
  819.         else
  820.             handle_equipping_gear(player.status)
  821.         end
  822.     end
  823. end
  824.  
  825. ----------------------------------------------------------------------
  826. -- User code that supplements self-commands.
  827. -----------------------------------------------------------------------
  828.  
  829. -- Called by the 'update' self-command, for common needs.
  830. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  831. function job_update(cmdParams, eventArgs)
  832.     get_combat_form()
  833.     get_combat_weapon()
  834. end
  835.  
  836. ----------------------------------------------------------------------
  837. -- Utility functions specific to this job.
  838. -----------------------------------------------------------------------
  839. function get_combat_form()
  840.     -- Check Weapontype
  841.     if  Apoc_weapons:contains(player.equipment.main) then
  842.         state.CombatForm:set('Apocalypse')
  843.     elseif
  844.         Anguta_weapons:contains(player.equipment.main) then
  845.         state.CombatForm:set('Anguta')
  846.     elseif
  847.         GS_weapons:contains(player.equipment.main) then
  848.         state.CombatForm:set('GreatSword')
  849.     elseif
  850.         Lib_weapons:contains(player.equipment.main) then
  851.         state.CombatForm:set('Liberator')
  852.     else
  853.         state.CombatForm:reset()
  854.     end
  855. end
  856.  
  857. function get_combat_weapon()
  858.     if  Apoc_weapons:contains(player.equipment.main) then
  859.         state.CombatWeapon:set('Apocalypse')
  860.     elseif Anguta_weapons:contains(player.equipment.main) then
  861.         state.CombatWeapon:set('Anguta')
  862.     elseif GS_weapons:contains(player.equipment.main) then
  863.         state.CombatWeapon:set('GreatSword')
  864.     elseif
  865.         Lib_weapons:contains(player.equipment.main) then
  866.         state.CombatForm:set('Liberator')
  867.     else -- Use regular set.
  868.         state.CombatWeapon:reset()
  869.     end
  870. end
  871.  
  872. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  873. -- Handle notifications of general user state change.
  874. function job_state_change(stateField, newValue, oldValue)
  875.  
  876. end
  877.  
  878. -- Custom spell mapping.
  879. function job_get_spell_map(spell, default_spell_map)
  880.     if spell.skill == 'Dark Magic' and Absorbs:contains(spell.english) then
  881.         return 'Absorb'
  882.     end
  883.  
  884.     if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
  885.         if LowTierNuke:contains(spell.english) then
  886.             return 'LowTierNuke'
  887.         else
  888.             return 'HighTierNuke'
  889.         end
  890.     end
  891. end
  892.  
  893. function select_earring()
  894.     if world.time >= (17*60) or world.time <= (7*60) then
  895.         return sets.Lugra
  896.     else
  897.         -- do nothing
  898.     end
  899. end
  900.  
  901. function update_melee_groups()
  902.  
  903. end
  904.  
  905. -- Select default macro book on initial load or subjob change.
  906. function select_default_macro_book()
  907.     -- Default macro set/book
  908.     if player.sub_job == 'WAR' then
  909.         set_macro_page(1, 2)
  910.     elseif player.sub_job == 'RDM' then
  911.         set_macro_page(2, 2)
  912.     elseif player.sub_job == 'NIN' then
  913.         set_macro_page(3, 2)
  914.     elseif player.sub_job == 'THF' then
  915.         set_macro_page(4, 2)
  916.     else
  917.         set_macro_page(1, 2)
  918.     end
  919. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top