motox11jmc

GEO 072516

Jul 25th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.97 KB | None | 0 0
  1. -- Initialization function for this job file.
  2. function get_sets()
  3.     mote_include_version = 2
  4.    
  5. -- Load and initialize the include file.
  6.     include('Mote-Include.lua')
  7. end
  8.  
  9. -- Setup vars that are user-independent.
  10. function job_setup()
  11.     indi_timer = ''
  12.     indi_duration = 300
  13.     state.Buff['Theurgic Focus'] = buffactive['Theurgic Focus'] or false
  14.     state.Buff['Bolster'] = buffactive['Bolster'] or false
  15. end
  16.  
  17. -- //gs debugmode
  18. -- //gs showswaps
  19. function binds_on_load()
  20. -- F9-F12
  21.     send_command('bind f9 gs c cycle OffenseMode')
  22.     send_command('bind f10 gs c cycle HybridMode')
  23.     send_command('bind f11 gs c cycle CastingMode')
  24.     send_command('bind f12 gs c cycle IdleMode')
  25. -- ALT F9-12
  26.     send_command('bind !f9 gs c update user')
  27.     send_command('bind !f10 gs c cycle RangedMode')
  28.     send_command('bind !f11 gs c cycle WeaponskillMode')
  29.     send_command('bind !f12 gs c cycle Kiting')
  30. end
  31.  
  32. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  33. function user_setup()
  34.     state.OffenseMode:options('None', 'Normal')
  35.     state.CastingMode:options('Normal', 'Resistant', 'MagicBurst')
  36.     state.IdleMode:options('Normal', 'PDT')
  37.  
  38.     LowTierNuke = S{
  39.         'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
  40.         'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
  41.         'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
  42.         'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
  43.         'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
  44.    
  45.     select_default_macro_book(1, 3)
  46. end
  47.  
  48. -- Define sets and vars used by this job file.
  49. function init_gear_sets()
  50. -- Augmented Gear
  51.     -- Back
  52.     Nan_INT_back = { name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}}
  53.    
  54.     -- Merlinic Nuke
  55.     Mer_Nuke_head = { name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','Mag. Acc.+10','"Mag.Atk.Bns."+13',}}
  56.     Mer_Nuke_body = { name="Merlinic Jubbah", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+1','MND+8','Mag. Acc.+14','"Mag.Atk.Bns."+11',}}
  57.     Mer_Nuke_legs = { name="Merlinic Shalwar", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','CHR+4','Mag. Acc.+10','"Mag.Atk.Bns."+15',}}
  58.    
  59.     -- Merlinic Magic Burst
  60.     Mer_MB_head = { name="Merlinic Hood", augments={'"Mag.Atk.Bns."+29','Magic burst mdg.+9%','INT+15','Mag. Acc.+4',}}
  61.     Mer_MB_legs = { name="Merlinic Shalwar", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','Mag. Acc.+13','"Mag.Atk.Bns."+10',}}
  62.     Mer_MB_feet = { name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst mdg.+5%','CHR+10','Mag. Acc.+7','"Mag.Atk.Bns."+11',}}
  63.  
  64.     -- Merlinic FC
  65.     Mer_FC_feet = { name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+9','"Fast Cast"+5','MND+4',}}
  66.    
  67.     -- Merlinic DT
  68.    
  69.     -- Merlinic INT MACC
  70.    
  71.     -- Merlinic MND MACC
  72.    
  73. -- Precast Sets
  74.     sets.precast.JA['Bolster'] = {body="Bagua Tunic +1"}
  75.     sets.precast.JA['Radial Arcana'] = {feet="Bagua Sandals +1"}
  76.     sets.precast.JA['Life Cycle'] = {body="Geomancy Tunic +1", back=Nan_INT_back}
  77.     sets.precast.JA['Theurgic Focus'] = {head="Bagua Galero +1"}
  78.    
  79.     -- Fast cast sets for spells
  80.     sets.precast.FC = {
  81.         range="Dunna",
  82.         main="Grioavolr", sub="Niobid Strap",
  83.         head="Amalric Coif", body="Helios Jacket",
  84.         back="Perimede Cape", neck="Orunmila's Torque",
  85.         hands="Telchine Gloves", waist="Witful Belt",
  86.         legs="Psycloth Lappas", feet=Mer_FC_feet,
  87.         ring1="Lebeche Ring", ring2="Prolix Ring",
  88.         ear1="Enchanter Earring +1", ear2="Loquacious Earring"}
  89.  
  90.     sets.precast.FC.Cure = set_combine(sets.precast.FC, {
  91.         feet="Vanya Clogs", ear2="Mendicant's Earring"})
  92.    
  93.     sets.precast.FC.Curaga = sets.precast.FC.Cure
  94.    
  95.     sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {
  96.         waist="Siegel Sash"})
  97.    
  98.     sets.precast.FC.Stoneskin = set_combine(sets.precast.FC, {
  99.         head="Umuthi Hat", hands="Carapacho Cuffs",
  100.         waist="Siegel Sash"})
  101.    
  102.     sets.precast.FC.Impact = set_combine(sets.precast.FC, {
  103.         head=empty, body="Twilight Cloak"})
  104.    
  105.     sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
  106.         hands="Bagua Mitaines", ear1="Barkarole Earring"})
  107.    
  108. -- Midcast Sets
  109.     sets.midcast.FastRecast = {
  110.         range="Dunna",
  111.         main="Grioavolr", sub="Niobid Strap",
  112.         head="Amalric Coif", body="Helios Jacket",
  113.         back="Perimede Cape", neck="Orunmila's Torque",
  114.         hands="Telchine Gloves", waist="Witful Belt",
  115.         legs="Psycloth Lappas", feet=Mer_FC_feet,
  116.         ring1="Lebeche Ring", ring2="Prolix Ring",
  117.         ear1="Enchanter Earring +1", ear2="Loquacious Earring"}
  118.  
  119.     sets.midcast.Geomancy = {
  120.         range="Dunna",
  121.         main="Solstice", sub="Genmei Shield",
  122.         neck="Incanter's Torque",
  123.         head="Azimuth Hood", body="Bagua Tunic +1",
  124.         back="Lifestream Cape", hands="Geomancy Mitaines +1",
  125.         legs="Bagua Pants +1", feet="Medium's Sabots"}
  126.  
  127.     sets.midcast.Geomancy.Indi = {
  128.         range="Dunna",
  129.         main="Solstice", sub="Genmei Shield",
  130.         neck="Incanter's Torque",
  131.         head="Azimuth Hood", body="Bagua Tunic +1",
  132.         back="Lifestream Cape", hands="Geomancy Mitaines +1",
  133.         legs="Bagua Pants +1", feet="Azimuth Gaiters +1"}
  134.  
  135.     sets.midcast.Cure = {
  136.         ammo="Impatiens",
  137.         main="Vadose Rod", sub="Genmei Shield",
  138.         head="Telchine Cap", body="Telchine Chasuble",
  139.         back=Nan_INT_back, neck="Incanter's Torque",
  140.         hands="Telchine Gloves", waist="Luminary Sash",
  141.         legs="Psycloth Lappas", feet="Vanya Clogs",
  142.         ring1="Leviathan Ring +1", ring2="Leviathan Ring +1",
  143.         ear1="Enchanter Earring +1", ear2="Mendicant's Earring"}
  144.  
  145.     sets.midcast.Curaga = sets.midcast.Cure
  146.  
  147.     sets.midcast['Enhancing Magic'] = {
  148.         ammo="Impatiens",
  149.         main="Grioavolr", sub="Niobid Strap",
  150.         head="Telchine Cap", body="Telchine Chasuble",
  151.         back="Perimede Cape", neck="Incanter's Torque",
  152.         hands="Telchine Gloves", waist="Luminary Sash",
  153.         legs="Telchine Braconi", feet="Telchine Pigaches",
  154.         ring1="Lebeche Ring", ring2="Evanescence Ring",
  155.         ear1="Enchanter Earring +1",ear2="Loquacious Earring"}
  156.  
  157.     sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {
  158.         head="Amalric Coif", feet="Inspirited Boots"})
  159.    
  160.     sets.midcast['Haste'] = sets.midcast['Enhancing Magic']
  161.  
  162.     sets.midcast['Regen'] = set_combine(sets.midcast['Enhancing Magic'], {
  163.         main="Bolelabunga", sub="Genmei Shield",
  164.         body="Telchine Chasuble", feet="Telchine Pigaches"})
  165.  
  166.     sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {  
  167.         main="Grioavolr", sub="Benthos Grip",
  168.         neck="Nodens Gorget", waist="Siegel Sash",
  169.         legs="Shedir Seraweels", ear2="Earthcry Earring"})
  170.  
  171.     sets.midcast['Aquaveil'] = set_combine(sets.midcast['Enhancing Magic'], {
  172.         main="Vadose Rod", sub="Genmei Shield",
  173.         head="Amalric Coif", body="Vanya Robe",
  174.         hands="Amalric Gages",
  175.         legs="Shedir Seraweels", feet="Amalric Nails"})
  176.  
  177.     sets.midcast['Enfeebling Magic'] = {
  178.         ammo="Quartz Tathlum +1",
  179.         main="Grioavolr", sub="Mephitis Grip",
  180.         head="Befouled Crown", body="Vanya Robe",
  181.         back=Nan_INT_back, neck="Imbodla Necklace",
  182.         hands="Lurid Mitts", waist="Rumination Sash",
  183.         legs="Psycloth Lappas", feet="Uk'uxkaj Boots",
  184.         ring1="Globidonta Ring", ring2="Leviathan Ring +1",
  185.         ear1="Barkarole Earring", ear2="Dignitary's Earring"}
  186.  
  187.     sets.midcast['Enfeebling Magic'].Resistant = set_combine(sets.midcast['Enfeebling Magic'],{
  188.         ammo="Pemphredo Tathlum",
  189.         main="Grioavolr", sub="Benthos Grip",
  190.         head=Mer_Nuke_head, body=Mer_Nuke_body,
  191.         waist="Luminary Sash", feet="Medium's Sabots",
  192.         ring1="Leviathan Ring +1"})
  193.  
  194.     sets.midcast.Impact = set_combine(sets.midcast['Enfeebling Magic'], {head=empty, body="Twilight Cloak"})
  195.  
  196.     sets.midcast.Impact.Resistant = set_combine(sets.midcast['Enfeebling Magic'].Resistant, {head=empty, body="Twilight Cloak",feet="Bagua Sandals +1"})
  197.  
  198.     sets.midcast['Dark Magic'] = {
  199.         ammo="Pemphredo Tathlum",
  200.         main="Grioavolr", sub="Benthos Grip",
  201.         head=Mer_Nuke_head, body=Mer_Nuke_body,
  202.         back=Nan_INT_back, neck="Incanter's Torque",
  203.         hands="Helios Gloves", waist="Luminary Sash",
  204.         legs=Mer_Nuke_body, feet=Mer_MB_feet,
  205.         ring1="Archon Ring", ring2="Evanescence Ring",
  206.         ear1="Barkarole Earring", ear2="Dignitary's Earring"}
  207.  
  208.     --24haste+47FC+MACC -- Ionis 2haste, 3FC.
  209.     sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {
  210.         ammo="Pemphredo Tathlum",
  211.         main="Grioavolr", sub="Benthos Grip",
  212.         head=Mer_Nuke_head, body="Helios Jacket",
  213.         back="Perimede Cape", neck="Orunmila's Torque",
  214.         hands="Telchine Gloves", waist="Witful Belt",
  215.         legs="Psycloth Lappas", feet=Mer_FC_feet,
  216.         ring1="Lebeche Ring", ring2="Prolix Ring",
  217.         ear1="Enchanter Earring +1", ear2="Loquacious Earring"})
  218.  
  219.     sets.midcast.Stun.Resistant = set_combine(sets.midcast.Stun, {
  220.         body=Mer_Nuke_body,
  221.         back=Nan_INT_back, neck="Incanter's Torque",
  222.         waist="Luminary Sash",
  223.         legs=Mer_Nuke_legs, feet=Mer_MB_feet,
  224.         ring1="Sangoma Ring", ring2="Evanescence Ring",
  225.         ear1="Barkarole Earring", ear2="Dignitary's Earring"})
  226.  
  227.     sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
  228.         head="Bagua Galero +1", waist="Fucho-no-Obi",
  229.         hands="Helios Gloves",feet=Mer_MB_feet,
  230.         ring1="Archon Ring", ring2="Evanescence Ring",
  231.         ear1="Barkarole Earring", ear2="Dignitary's Earring"})
  232.    
  233.     sets.midcast.Aspir = sets.midcast.Drain
  234.  
  235. -- Elemental Magic sets are default for handling low-tier nukes.
  236.     sets.midcast.LowTierNuke = {
  237.         ammo="Pemphredo Tathlum",
  238.         main="Grioavolr",sub="Alber Strap",
  239.         head=Mer_Nuke_head, body=Mer_Nuke_body,
  240.         back=Nan_INT_back, neck="Sanctity Necklace",
  241.         hands="Amalric Gages", waist="Refoccilation Stone",
  242.         legs=Mer_Nuke_legs, feet=Mer_MB_feet,
  243.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  244.         ear1="Crematio Earring", ear2="Friomisi Earring"}
  245.    
  246.     sets.midcast.LowTierNuke.Resistant = {
  247.         ammo="Pemphredo Tathlum",
  248.         main="Grioavolr", sub="Niobid Strap",
  249.         head=Mer_Nuke_head, body=Mer_Nuke_body,
  250.         back=Nan_INT_back, neck="Sanctity Necklace",
  251.         hands="Amalric Gages", waist="Yamabuki-no-obi",
  252.         legs=Mer_Nuke_legs,feet=Mer_MB_feet,
  253.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  254.         ear1="Crematio Earring", ear2="Friomisi Earring"}
  255.  
  256.     sets.midcast.LowTierNuke.MagicBurst = set_combine(sets.midcast.LowTierNuke, {
  257.         head=Mer_MB_head, body=Mer_Nuke_body,
  258.         back=Nan_INT_back, neck="Mizukage-no-Kubikazari",
  259.         legs=Mer_MB_legs,feet=Mer_MB_feet,
  260.         ring1="Mujin Band", ring2="Locus Ring",
  261.         ear2="Static Earring"})
  262.        
  263. -- Custom classes for high-tier nukes.
  264.     sets.midcast.HighTierNuke = {
  265.         ammo="Pemphredo Tathlum",
  266.         main="Grioavolr",sub="Alber Strap",
  267.         head=Mer_Nuke_head, body=Mer_Nuke_body,
  268.         back=Nan_INT_back, neck="Sanctity Necklace",
  269.         hands="Amalric Gages", waist="Refoccilation Stone",
  270.         legs=Mer_Nuke_legs, feet=Mer_MB_feet,
  271.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  272.         ear1="Crematio Earring", ear2="Friomisi Earring"}
  273.  
  274.     sets.midcast.HighTierNuke.Resistant = {
  275.         ammo="Pemphredo Tathlum",
  276.         main="Grioavolr", sub="Niobid Strap",
  277.         head=Mer_Nuke_head, body=Mer_Nuke_body,
  278.         back=Nan_INT_back, neck="Sanctity Necklace",
  279.         hands="Amalric Gages", waist="Yamabuki-no-obi",
  280.         legs=Mer_Nuke_legs,feet=Mer_MB_feet,
  281.         ring1="Shiva Ring +1", ring2="Shiva Ring +1",
  282.         ear1="Crematio Earring", ear2="Friomisi Earring"}
  283.        
  284.     sets.midcast.HighTierNuke.MagicBurst = set_combine(sets.midcast.HighTierNuke, {
  285.         head=Mer_MB_head, body=Mer_Nuke_body,
  286.         back=Nan_INT_back, neck="Mizukage-no-Kubikazari",
  287.         legs=Mer_MB_legs,feet=Mer_MB_feet,
  288.         ring1="Mujin Band", ring2="Locus Ring",
  289.         ear2="Static Earring"})
  290.  
  291. -- Resting sets
  292.     sets.resting = {
  293.         range="Dunna",
  294.         main="Bolelabunga", sub="Genmei Shield",
  295.         head="Befouled Crown", body="Amalric Doublet",
  296.         back="Kumbira Cape", neck="Sanctity Necklace",
  297.         hands="Bagua Mitaines", waist="Fucho-no-Obi",
  298.         legs="Assiduity Pants +1", feet="Inspirited Boots",
  299.         ear1="Infused Earring", ear2="Genmei Earring",
  300.         ring1="Sheltered Ring", ring2="Paguroidea Ring"}
  301.  
  302. -- Idle Sets
  303.     sets.idle = {
  304.         range="Dunna",
  305.         main="Bolelabunga", sub="Genmei Shield",
  306.         head="Befouled Crown", body="Amalric Doublet",
  307.         back="Mecisto. Mantle", neck="Sanctity Necklace",
  308.         hands="Bagua Mitaines", waist="Isa Belt",
  309.         legs="Assiduity Pants +1", feet="Herald's Gaiters",
  310.         ring1="Sheltered Ring", ring2="Paguroidea Ring",
  311.         ear1="Infused Earring", ear2="Genmei Earring"}
  312.  
  313.     sets.idle.PDT = {
  314.         range="Dunna",
  315.         main="Mafic Cudgel", sub="Genmei Shield",
  316.         head="Befouled Crown", body="Hagondes Coat +1",
  317.         back="Lifestream Cape", neck="Twilight Torque",
  318.         hands="Geomancy Mitaines +1", waist="Isa Belt",
  319.         legs="Assiduity Pants +1", feet="Azimuth Gaiters +1",
  320.         ring1="Defending Ring", ring2="Patricius Ring",
  321.         ear1="Sanare Earring", ear2="Genmei Earring"}
  322.  
  323.     sets.idle.Town = {
  324.         range="Dunna",
  325.         main="Mafic Cudgel", sub="Genmei Shield",
  326.         head="Befouled Crown", body="Amalric Doublet",
  327.         back="Lifestream Cape", neck="Twilight Torque",
  328.         hands="Geomancy Mitaines +1", waist="Isa Belt",
  329.         legs="Assiduity Pants +1", feet="Herald's Gaiters",
  330.         ring1="Defending Ring", ring2="Patricius Ring",
  331.         ear1="Sanare Earring", ear2="Genmei Earring"}
  332.  
  333.     -- .Pet sets are for when Luopan is present.
  334.     sets.idle.Pet = {
  335.         range="Dunna",
  336.         main="Solstice", sub="Genmei Shield",
  337.         head="Azimuth Hood", body="Hagondes Coat +1",
  338.         back="Lifestream Cape", neck="Twilight Torque",
  339.         hands="Geomancy Mitaines +1", waist="Isa Belt",
  340.         legs="Psycloth Lappas", feet="Bagua Sandals +1",
  341.         ring1="Defending Ring",ring2="Paguroidea Ring",
  342.         ear1="Handler's Earring +1",ear2="Handler's Earring"}
  343.  
  344.     sets.idle.PDT.Pet = {
  345.         range="Dunna",
  346.         main="Mafic Cudgel", sub="Genmei Shield",
  347.         head="Azimuth Hood", body="Hagondes Coat +1",
  348.         back="Lifestream Cape", neck="Twilight Torque",
  349.         hands="Geomancy Mitaines +1", waist="Isa Belt",
  350.         legs="Psycloth Lappas", feet="Bagua Sandals +1",
  351.         ring1="Defending Ring",ring2="Patricius Ring",
  352.         ear1="Handler's Earring +1",ear2="Handler's Earring"}
  353.  
  354.     sets.idle.Indi = sets.idle
  355.    
  356.     sets.idle.Pet.Indi = sets.idle.Pet
  357.    
  358.     sets.idle.PDT.Indi = sets.idle.PDT
  359.    
  360.     sets.idle.PDT.Pet.Indi = sets.idle.PDT.Pet
  361.  
  362.     sets.Kiting = {feet="Herald's Gaiters"}
  363.    
  364.     sets.latent_refresh = {waist="Fucho-no-obi"}
  365.  
  366. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  367.     sets.buff['Theurgic Focus'] = {head="Bagua Galero +1"}
  368.     sets.buff['Bolster'] = {body="Bagua Tunic +1"}
  369.    
  370. -- Engaged sets
  371.     sets.engaged = {
  372.         range="Dunna",
  373.         main="Mafic Cudgel", sub="Genmei Shield",
  374.         head="Befouled Crown", body="Hagondes Coat +1",
  375.         back="Lifestream Cape", neck="Twilight Torque",
  376.         hands="Geomancy Mitaines +1", waist="Isa Belt",
  377.         legs="Assiduity Pants +1", feet="Azimuth Gaiters +1",
  378.         ring1="Defending Ring", ring2="Patricius Ring",
  379.         ear1="Sanare Earring", ear2="Genmei Earring"}
  380. end
  381.  
  382. -- Job-specific hooks for standard casting events.
  383. function job_aftercast(spell, action, spellMap, eventArgs)
  384.     if not spell.interrupted then
  385.         if spell.english:startswith('Indi') then
  386.             if not classes.CustomIdleGroups:contains('Indi') then
  387.                 classes.CustomIdleGroups:append('Indi')
  388.             end
  389.             send_command('@timers d "'..indi_timer..'"')
  390.             indi_timer = spell.english
  391.             send_command('@timers c "'..indi_timer..'" '..indi_duration..' down spells/00136.png')
  392.         elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
  393.             send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
  394.         elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
  395.             send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
  396.         end
  397.     elseif not player.indi then
  398.         classes.CustomIdleGroups:clear()
  399.     end
  400. end
  401.  
  402. -- Job-specific hooks for non-casting events.
  403.  
  404. -- Called when a player gains or loses a buff.
  405. -- buff == buff gained or lost
  406. -- gain == true if the buff was gained, false if it was lost.
  407. function job_buff_change(buff, gain)
  408.     if player.indi and not classes.CustomIdleGroups:contains('Indi')then
  409.         classes.CustomIdleGroups:append('Indi')
  410.         handle_equipping_gear(player.status)
  411.     elseif classes.CustomIdleGroups:contains('Indi') and not player.indi then
  412.         classes.CustomIdleGroups:clear()
  413.         handle_equipping_gear(player.status)
  414.     end
  415. end
  416.  
  417. function job_state_change(stateField, newValue, oldValue)
  418.     if stateField == 'Offense Mode' then
  419.         if newValue == 'Normal' then
  420.             disable('main','sub','range')
  421.         else
  422.             enable('main','sub','range')
  423.         end
  424.     end
  425. end
  426.  
  427.  
  428. -- User code that supplements standard library decisions.
  429. function job_get_spell_map(spell, default_spell_map)
  430.     if spell.action_type == 'Magic' then
  431.         if spell.skill == 'Enfeebling Magic' then
  432.             if spell.type == 'WhiteMagic' then
  433.                 return 'MndEnfeebles'
  434.             else
  435.                 return 'IntEnfeebles'
  436.             end
  437.         elseif spell.skill == 'Geomancy' then
  438.             if spell.english:startswith('Indi') then
  439.                 return 'Indi'
  440.             end
  441.         end
  442.     end
  443. end
  444.  
  445. function customize_idle_set(idleSet)
  446.     if player.mpp < 51 then
  447.         idleSet = set_combine(idleSet, sets.latent_refresh)
  448.     end
  449.     return idleSet
  450. end
  451.  
  452. -- Called by the 'update' self-command.
  453. function job_update(cmdParams, eventArgs)
  454.     classes.CustomIdleGroups:clear()
  455.     if player.indi then
  456.         classes.CustomIdleGroups:append('Indi')
  457.     end
  458. end
  459.  
  460. -- Function to display the current relevant user state when doing an update.
  461. function display_current_job_state(eventArgs)
  462.     display_current_caster_state()
  463.     eventArgs.handled = true
  464. end
  465.  
  466. -- Custom spell mapping.
  467. function job_get_spell_map(spell, default_spell_map)
  468.     if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
  469.         if LowTierNuke:contains(spell.english) then
  470.             return 'LowTierNuke'
  471.         else
  472.             return 'HighTierNuke'
  473.         end
  474.     end
  475. end
  476.  
  477. -- Utility functions specific to this job.
  478. -- Select default macro book on initial load or subjob change.
  479. function select_default_macro_book()
  480.     set_macro_page(1, 3)
  481. end
Add Comment
Please, Sign In to add comment