motox11jmc

BLU 072516

Jul 25th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 24.57 KB | None | 0 0
  1.  -- Initialization function for this job file.
  2. function get_sets()
  3.     mote_include_version = 2
  4.     -- Load and initialize the include file.
  5.     include('Mote-Include.lua')
  6. end
  7.  
  8. -- //gs debugmode
  9. -- //gs showswaps
  10. function binds_on_load()
  11. -- F9-F12
  12.     send_command('bind f9 gs c cycle OffenseMode')
  13.     send_command('bind f10 gs c cycle HybridMode')
  14.     send_command('bind f11 gs c cycle CastingMode')
  15.     send_command('bind f12 gs c cycle IdleMode')
  16. -- ALT F9-12
  17.     send_command('bind !f9 gs c update user')
  18.     send_command('bind !f10 gs c cycle RangedMode')
  19.     send_command('bind !f11 gs c cycle WeaponskillMode')
  20.     send_command('bind !f12 gs c cycle Kiting')
  21. end
  22.  
  23. function job_setup()
  24.     state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
  25.     state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false
  26.     state.Buff.Diffusion = buffactive.Diffusion or false
  27.     state.Buff.Efflux = buffactive.Efflux or false
  28.     state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
  29.  
  30.     blue_magic_maps = {}
  31.    
  32. -- Mappings for gear sets to use for various blue magic spells.
  33. -- Physical Spells
  34.     -- Physical spells with no known stat mods
  35.     blue_magic_maps.Physical = S{'Bilgestorm'}
  36.  
  37.     -- Spells with heavy accuracy penalties, that need to prioritize accuracy first.
  38.     blue_magic_maps.PhysicalAcc = S{'Heavy Strike'}
  39.  
  40.     -- Physical STR spells
  41.     blue_magic_maps.PhysicalStr = S{
  42.         'Battle Dance', 'Bloodrake', 'Death Scissors', 'Dimensional Death',
  43.         'Empty Thrash', 'Quadrastrike', 'Spinal Cleave', 'Uppercut',
  44.         'Vertical Cleave'}
  45.        
  46.     -- Physical DEX spells
  47.     blue_magic_maps.PhysicalDex = S{
  48.         'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone',
  49.         'Disseverment', 'Foot Kick','Frenetic Rip','Goblin Rush',
  50.         'Hysteric Barrage', 'Paralyzing Triad', 'Seedspray','Sickle Slash',
  51.         'Smite of Rage','Terror Touch','Thrashing Assault', 'Vanity Dive',
  52.         'Sinker Drill'}
  53.        
  54.     -- Physical VIT spells
  55.     blue_magic_maps.PhysicalVit = S{
  56.         'Body Slam', 'Cannonball', 'Delta Thrust', 'Glutinous Dart',
  57.         'Grand Slam', 'Power Attack', 'Quad. Continuum', 'Sprout Smack',
  58.         'Sub-zero Smash'}
  59.        
  60.     -- Physical AGI spells
  61.     blue_magic_maps.PhysicalAgi = S{
  62.         'Benthic Typhoon', 'Feather Storm', 'Helldive', 'Hydro Shot',
  63.         'Jet Stream', 'Pinecone Bomb', 'Spiral Spin', 'Wild Oats'}
  64.  
  65.     -- Physical INT spells
  66.     blue_magic_maps.PhysicalInt = S{'Mandibular Bite', 'Queasyshroom'}
  67.  
  68.     -- Physical MND spells
  69.     blue_magic_maps.PhysicalMnd = S{'Ram Charge', 'Screwdriver', 'Tourbillion'}
  70.  
  71.     -- Physical CHR spells
  72.     blue_magic_maps.PhysicalChr = S{'Bludgeon'}
  73.  
  74.     -- Physical HP Stat spells
  75.     blue_magic_maps.PhysicalHP = S{'Final Sting'}
  76.  
  77. -- Magical Spells --
  78.     -- Magical INT spells
  79.     blue_magic_maps.Magical = S{
  80.         'Blastbomb', 'Blazing Bound', 'Bomb Toss', 'Cursed Sphere',
  81.         'Dark Orb', 'Death Ray', 'Droning Whirlwind', 'Embalming Earth',
  82.         'Firespit', 'Foul Waters', 'Ice Break', 'Leafstorm', 'Maelstrom',
  83.         'Regurgitation', 'Rending Deluge', 'Retinal Glare','Subduction', 'Tem. Upheaval', 'Water Bomb',
  84.         'Silent Storm', 'Scouring Spate', 'Tenebral Crush',
  85.         'Entomb', 'Searing Tempest', 'Anvil Lightning',
  86.         'Blinding Fulgor', 'Spectral Floe'}
  87.  
  88.     -- Magical MND spells
  89.     blue_magic_maps.MagicalMnd = S{
  90.         'Acrid Stream', 'Evryone. Grudge', 'Magic Hammer', 'Mind Blast'}
  91.  
  92.     -- Magical CHR spells
  93.     blue_magic_maps.MagicalChr = S{
  94.         'Eyes On Me', 'Mysterious Light'}
  95.  
  96.     -- Magical VIT > INT spells
  97.     blue_magic_maps.MagicalVit = S{
  98.         'Thermal Pulse'}
  99.  
  100.     -- Magical DEX > INT spells
  101.     blue_magic_maps.MagicalDex = S{
  102.         'Charged Whisker', 'Gates of Hades'}
  103.            
  104. -- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage.
  105.     -- Add Int for damage where available, though.
  106.     blue_magic_maps.MagicAccuracy = S{
  107.         '1000 Needles', 'Absolute Terror', 'Actinic Burst', 'Auroral Drape',
  108.         'Awful Eye', 'Blank Gaze', 'Blistering Roar', 'Blood Drain',
  109.         'Blood Saber', 'Chaotic Eye', 'Cimicine Discharge', 'Cold Wave',
  110.         'Corrosive Ooze', 'Demoralizing Roar', 'Digest', 'Dream Flower',
  111.         'Enervation', 'Feather Tickle', 'Filamented Hold', 'Frightful Roar',
  112.         'Geist Wall', 'Hecatomb Wave', 'Infrasonics', 'Jettatura',
  113.         'Light of Penance', 'Lowing','Mind Blast', 'Mortal Ray',
  114.         'MP Drainkiss', 'Osmosis', 'Reaving Wind', 'Sandspin', 'Sandspray',
  115.         'Sheep Song', 'Soporific', 'Sound Blast', 'Stinking Gas',
  116.         'Sub-zero Smash', 'Venom Shell', 'Voracious Trunk', 'Yawn'}
  117.        
  118.     -- Breath-based spells
  119.     blue_magic_maps.Breath = S{
  120.         'Bad Breath', 'Flying Hip Press', 'Frost Breath', 'Heat Breath',
  121.         'Hecatomb Wave', 'Magnetite Cloud', 'Poison Breath', 'Radiant Breath','Self-Destruct',
  122.         'Thunder Breath', 'Vapor Spray', 'Wind Breath'}
  123.  
  124.     -- Stun spells
  125.     blue_magic_maps.Stun = S{
  126.         'Blitzstrahl', 'Frypan', 'Head Butt', 'Sudden Lunge', 'Tail slap',
  127.         'Temporal Shift', 'Thunderbolt', 'Whirl of Rage'}
  128.        
  129.     -- Healing spells
  130.     blue_magic_maps.Healing = S{
  131.         'Healing Breeze', 'Magic Fruit', 'Plenilune Embrace', 'Pollen',
  132.         'White Wind', 'Wild Carrot', 'Restoral'}
  133.    
  134.     -- Buffs that depend on blue magic skill
  135.     blue_magic_maps.SkillBasedBuff = S{
  136.         'Barrier Tusk', 'Diamondhide', 'Magic Barrier', 'Metallic Body',
  137.         'Plasma Charge', 'Pyric Bulwark', 'Reactor Cool', 'Occultation'}
  138.  
  139.     -- Other general buffs
  140.     blue_magic_maps.Buff = S{
  141.         'Amplification', 'Animating Wail', 'Battery Charge', 'Cocoon',
  142.         'Carcharian Verve', 'Erratic Flutter', 'Exuviation', 'Fantod',
  143.         'Feather Barrier', 'Harden Shell', 'Memento Mori', 'Nat. Meditation',
  144.         'Orcish Counterstance', 'Refueling', 'Regeneration', 'Saline Coat',
  145.         'Triumphant Roar', 'Warm-Up', 'Winds of Promyvion', 'Zephyr Mantle'}
  146.  
  147.     -- Spells that require Unbridled Learning to cast.
  148.         unbridled_spells = S{
  149.         'Absolute Terror', 'Bilgestorm', 'Blistering Roar', 'Bloodrake',
  150.         'Carcharian Verve', 'Droning Whirlwind', 'Gates of Hades',
  151.         'Harden Shell', 'Pyric Bulwark', 'Thunderbolt', 'Tourbillion'}
  152. end
  153.  
  154. function user_setup()
  155.     state.OffenseMode:options('Normal', 'Acc')
  156.     state.WeaponskillMode:options('Normal', 'Acc')
  157.     state.HybridMode:options('Normal', 'PDT')
  158.     state.IdleMode:options('Normal', 'PDT')
  159.     state.CastingMode:options('Normal', 'Resistant')
  160.  
  161.     select_default_macro_book(1, 2)
  162. end
  163.  
  164. function user_unload()
  165.     if binds_on_unload then
  166.         binds_on_unload()
  167.     end
  168. end
  169.  
  170. function init_gear_sets()
  171. -- Augmented Gear  
  172.     -- Back - Create DA back next.
  173.     Ros_Crit = { name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Crit.hit rate+10'}}
  174.     Ros_DA = { name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
  175.     Ros_STP = {}
  176.     Ros_WSdmg = {}
  177.     Ros_MAB = { name="Rosmerta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}}
  178.  
  179.     --Crit DMG Herculean
  180.     Herc_Crit_head = {}
  181.     Herc_Crit_body = {}
  182.     Herc_Crit_hands = { name="Herculean Gloves", augments={'Attack+15','Crit. hit damage +4%','Accuracy+12',}}
  183.     Herc_Crit_legs = { name="Herculean Trousers", augments={'Accuracy+22','Crit. hit damage +4%','STR+10',}}
  184.     Herc_Crit_feet = {}
  185.    
  186.     --DT Herculean
  187.     Herc_DT_head = { name="Herculean Helm", augments={'Accuracy+29','Damage taken-1%',}}
  188.     Herc_DT_body = {}
  189.     Herc_DT_hands = { name="Herculean Gloves", augments={'Attack+23','Damage taken-3%','STR+3','Accuracy+13',}}
  190.     Herc_DT_legs = { name="Herculean Trousers", augments={'Accuracy+16','Damage taken-3%','Attack+8',}}
  191.     Herc_DT_feet = { name="Herculean Boots", augments={'Attack+3','Damage taken-2%','AGI+6','Accuracy+12',}}
  192.    
  193.     --TA Herculean
  194.     Herc_TA_head = {}
  195.     Herc_TA_body = {}
  196.     Herc_TA_hands = { name="Herculean Gloves", augments={'Accuracy+25 Attack+25','"Triple Atk."+3',}}
  197.     Herc_TA_legs = { name="Herculean Trousers", augments={'Accuracy+29','"Triple Atk."+3','DEX+2',}}
  198.     Herc_TA_feet = { name="Herculean Boots", augments={'Accuracy+20','"Triple Atk."+2','AGI+4','Attack+9',}}
  199.    
  200.     --STR Herculean
  201.    
  202.     --DEX Herculean
  203.    
  204.     --Crit Rate - Change these
  205.     Herc_CritRate_hands = { name="Herculean Gloves", augments={'Attack+29','Crit.hit rate+3','DEX+10',}}
  206.     Herc_CritRate_legs = { name="Herculean Trousers", augments={'Accuracy+18 Attack+18','Crit.hit rate+2','DEX+5','Accuracy+2','Attack+13',}}
  207.     Herc_CritRate_feet = { name="Herculean Boots", augments={'Accuracy+23 Attack+23','Crit.hit rate+4','Accuracy+2',}}
  208.    
  209.     --STP Herculean - Maybe keep an STP set for RUN.
  210.     Herc_STP_legs = { name="Herculean Trousers", augments={'Accuracy+17','"Store TP"+5','STR+5','Attack+9',}}
  211.     Herc_STP_feet = { name="Herculean Boots", augments={'Accuracy+16','"Store TP"+6','AGI+8',}}
  212.  
  213.     --MAB Herculean
  214.     Herc_MAB_head = { name="Herculean Helm", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +2%','Mag. Acc.+15','"Mag.Atk.Bns."+6',}}
  215.     --MACC Herculean
  216.     Herc_MACC_head = { name="Herculean Helm", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +2%','Mag. Acc.+15','"Mag.Atk.Bns."+6',}}
  217.  
  218.     --FC Herculean
  219.     Herc_FC_head = {}
  220.    
  221. -- Precast Sets
  222.     sets.precast.JA['Azure Lore'] = {hands="Luhlaza Bazubands"}
  223.  
  224.     sets.precast.Waltz = {
  225.         ammo="Impatiens",
  226.         head="Luhlaza Keffiyeh +1", body="Telchine Chasuble",
  227.         back="Oretania's Cape +1", neck="Phalaina Locket",
  228.         hands="Telchine Gloves", waist="Gishdubar Sash",
  229.         legs="Assimilator's Shalwar +1", feet="Rawhide Boots",
  230.         ring1="Defending Ring", ring2="Vocane Ring",
  231.         ear1="Gwati Earring", ear2="Loquacious Earring"}
  232.  
  233.     sets.precast.Waltz['Healing Waltz'] = {}
  234.  
  235.     sets.precast.FC = {
  236.         ammo="Impatiens",
  237.         head="Carmine Mask", body="Luhlaza Jubbah +1",
  238.         back="Perimede Cape", neck="Incanter's Torque",
  239.         hands="Leyline Gloves", waist="Witful Belt",
  240.         legs="Psycloth Lappas", feet="Amalric Nails",
  241.         ring1="Defending Ring",  ring2="Prolix Ring",
  242.         ear1="Etiolation Earring", ear2="Loquacious Earring"}
  243.  
  244.     sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Hashishin Mintan"})
  245.  
  246. -- Midcast Sets
  247.     sets.midcast.FastRecast = {
  248.         ammo="Impatiens",
  249.         head="Carmine Mask", body="Luhlaza Jubbah +1",
  250.         back="Perimede Cape", neck="Incanter's Torque",
  251.         hands="Leyline Gloves", waist="Witful Belt",
  252.         legs="Psycloth Lappas", feet="Carmine Greaves",
  253.         ring1="Defending Ring",  ring2="Prolix Ring",
  254.         ear1="Etiolation Earring", ear2="Loquacious Earring"}
  255.  
  256.     sets.midcast['Blue Magic'] = {
  257.         ammo="Mavi Tathlum",
  258.         head="Luhlaza Keffiyeh +1", body="Assimilator's Jubbah +1",
  259.         neck="Incanter's Torque",
  260.         back="Cornflower Cape", hands="Rawhide Gloves",
  261.         legs="Hashishin Tayt +1", feet="Luhlaza Charuqs"}
  262.  
  263.     -- Healing Magic
  264.     sets.midcast['Blue Magic'].Healing = {
  265.         ammo="Impatiens",
  266.         head="Telchine Cap", body="Telchine Chasuble",
  267.         back="Oretania's Cape +1", neck="Phalaina Locket", 
  268.         hands="Telchine Gloves", waist="Gishdubar Sash",
  269.         legs="Telchine Braconi", feet="Medium's Sabots",
  270.         ring1="Globidonta Ring", ring2="Vocane Ring",
  271.         ear1="Gwati Earring", ear2="Mendicant's Earring"}
  272.  
  273.     sets.midcast.Cure = {
  274.         ammo="Impatiens",
  275.         head="Telchine Cap", body="Telchine Chasuble",
  276.         back="Oretania's Cape +1", neck="Phalaina Locket", 
  277.         hands="Telchine Gloves", waist="Gishdubar Sash",
  278.         legs="Telchine Braconi", feet="Medium's Sabots",
  279.         ring1="Globidonta Ring", ring2="Vocane Ring",
  280.         ear1="Gwati Earring", ear2="Mendicant's Earring"}
  281.        
  282. -- Physical Spells
  283.     sets.midcast['Blue Magic'].Physical = {
  284.         ammo="Falcon Eye",
  285.         head="Adhemar Bonnet", body="Abnoba Kaftan",
  286.         back=Ros_Crit, neck="Fotia Gorget",
  287.         hands="Rawhide Gloves", waist="Ninurta's Sash",
  288.         legs=Herc_Crit_legs, feet=Herc_Crit_feet,
  289.         ring1="Ifrit Ring +1", ring2="Ifrit Ring +1",
  290.         ear1="Brutal Earring", ear2="Assuage Earring"}
  291.  
  292.     sets.midcast['Blue Magic'].PhysicalAcc = {
  293.         ammo="Falcon Eye",
  294.         head="Adhemar Bonnet", body="Abnoba Kaftan",
  295.         back=Ros_Crit, neck="Sanctity Necklace",
  296.         hands=Herc_Crit_hands, waist="Olseni Belt",
  297.         legs=Herc_Crit_legs, feet=Herc_Crit_feet,
  298.         ring1="Ifrit Ring +1", ring2="Ifrit Ring +1",
  299.         ear1="Brutal Earring", ear2="Assuage Earring"}
  300.  
  301.     sets.midcast['Blue Magic'].PhysicalStr = set_combine(sets.midcast['Blue Magic'].Physical)
  302.  
  303.     sets.midcast['Blue Magic'].PhysicalDex = set_combine(sets.midcast['Blue Magic'].Physical)
  304.  
  305.     sets.midcast['Blue Magic'].PhysicalVit = set_combine(sets.midcast['Blue Magic'].Physical)
  306.  
  307.     sets.midcast['Blue Magic'].PhysicalAgi = set_combine(sets.midcast['Blue Magic'].Physical)
  308.  
  309.     sets.midcast['Blue Magic'].PhysicalInt = set_combine(sets.midcast['Blue Magic'].Physical)
  310.  
  311.     sets.midcast['Blue Magic'].PhysicalMnd = set_combine(sets.midcast['Blue Magic'].Physical)
  312.  
  313.     sets.midcast['Blue Magic'].PhysicalChr = set_combine(sets.midcast['Blue Magic'].Physical)
  314.  
  315.     sets.midcast['Blue Magic'].PhysicalHP = set_combine(sets.midcast['Blue Magic'].Physical)
  316.  
  317. -- Magical Spells
  318.     sets.midcast['Blue Magic'].Magical = {
  319.         ammo="Pemphredo Tathlum",
  320.         head=Herc_MACC_head, body="Hagondes Coat +1",
  321.         back=Ros_MAB, neck="Sanctity Necklace",
  322.         hands="Amalric Gages", waist="Witful Belt",
  323.         legs="Amalric Slops", feet="Amalric Nails",
  324.         ring1="Fenrir Ring +1", ring2="Fenrir Ring +1",
  325.         ear1="Friomisi Earring", ear2="Hecate's Earring"}
  326.  
  327.     sets.midcast['Blue Magic'].Magical.Resistant = set_combine(sets.midcast['Blue Magic'].Magical,{
  328.         ammo="Mavi Tathlum",
  329.         head=Herc_MACC_head, body="Assimilator's Jubbah +1",
  330.         back=Ros_MAB, neck="Sanctity Necklace",
  331.         hands="Rawhide Gloves", waist="Witful Belt",
  332.         legs="Hashishin Tayt +1", feet="Medium's Sabots",
  333.         ear1="Gwati Earring", ear2="Dignitary's Earring",
  334.         ring1="Perception Ring", ring2="Sangoma Ring"})
  335.  
  336.     sets.midcast['Blue Magic'].MagicalMnd = set_combine(sets.midcast['Blue Magic'].Magical,{})
  337.  
  338.     sets.midcast['Blue Magic'].MagicalChr = set_combine(sets.midcast['Blue Magic'].Magical,{})
  339.  
  340.     sets.midcast['Blue Magic'].MagicalVit = set_combine(sets.midcast['Blue Magic'].Magical,{})
  341.  
  342.     sets.midcast['Blue Magic'].MagicalDex = set_combine(sets.midcast['Blue Magic'].Magical, {})
  343.  
  344.     sets.midcast['Blue Magic'].MagicAccuracy = {
  345.         ammo="Mavi Tathlum",
  346.         head=Herc_MACC_head, body="Assimilator's Jubbah +1",
  347.         back=Ros_MAB, neck="Sanctity Necklace",
  348.         hands="Rawhide Gloves", waist="Witful Belt",
  349.         legs="Hashishin Tayt +1", feet="Medium's Sabots",
  350.         ear1="Gwati Earring", ear2="Dignitary's Earring",
  351.         ring1="Perception Ring", ring2="Sangoma Ring"}
  352.  
  353.     -- Breath Spells
  354.     sets.midcast['Blue Magic'].Breath = {
  355.         ammo="Mavi Tathlum",
  356.         head="Luhlaza Keffiyeh +1", body="Assimilator's Jubbah +1",
  357.         back=Ros_MAB, neck="Incanter's Torque",
  358.         waist="Witful Belt", hands="Rawhide Gloves",
  359.         legs="Hashishin Tayt +1", feet="Medium's Sabots",
  360.         ear1="Gwati Earring", ear2="Dignitary's Earring",
  361.         ring1="Perception Ring", ring2="Sangoma Ring"}
  362.  
  363.     -- Other Types
  364.     sets.midcast['Blue Magic'].Stun = set_combine(sets.midcast['Blue Magic'].MagicAccuracy, {waist="Chaac Belt"})
  365.  
  366.     sets.midcast['Blue Magic'].SkillBasedBuff = {
  367.         ammo="Mavi Tathlum",
  368.         head="Luhlaza Keffiyeh +1", body="Assimilator's Jubbah +1",
  369.         neck="Incanter's Torque",
  370.         back="Cornflower Cape", hands="Rawhide Gloves",
  371.         legs="Hashishin Tayt +1",feet="Luhlaza Charuqs"}
  372.  
  373.     sets.midcast['Blue Magic'].Buff = {
  374.         ammo="Mavi Tathlum", neck="Incanter's Torque",
  375.         head="Telchine Cap", body="Telchine Chasuble",
  376.         back="Cornflower Cape", hands="Telchine Gloves",
  377.         legs="Hashishin Tayt +1",feet="Telchine Pigaches"}
  378.  
  379.     -- Magic
  380.     sets.midcast['Enhancing Magic'] = {
  381.         neck="Incanter's Torque",
  382.         head="Telchine Cap", body="Telchine Chasuble",
  383.         hands="Telchine Gloves", waist="Gishdubar Sash",
  384.         legs="Telchine Braconi", feet="Telchine Pigaches"}
  385.        
  386.     sets.midcast.Refresh = {
  387.         neck="Incanter's Torque",
  388.         head="Telchine Cap", body="Telchine Chasuble",
  389.         hands="Telchine Gloves", waist="Gishdubar Sash",
  390.         legs="Telchine Braconi", feet="Telchine Pigaches"}
  391.  
  392.     sets.midcast['Haste'] = set_combine(sets.midcast.Refresh, {
  393.         head="Telchine Cap", body="Telchine Chasuble",
  394.         hands="Telchine Gloves", legs="Telchine Braconi",
  395.         feet="Telchine Pigaches"})
  396.  
  397.     sets.midcast['Regen'] = set_combine(sets.midcast.Refresh, {    
  398.         head="Telchine Cap", body="Telchine Chasuble",
  399.         hands="Telchine Gloves", neck="Incanter's Torque",
  400.         legs="Telchine Braconi", feet="Telchine Pigaches"})
  401.  
  402.     sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {  
  403.         head="Telchine Cap", body="Telchine Chasuble",
  404.         hands="Telchine Gloves", neck="Incanter's Torque",
  405.         legs="Haven Hose", feet="Telchine Pigaches",
  406.         waist="Siegel Sash", ear2="Earthcry Earring"})
  407.  
  408.     sets.midcast['Aquaveil'] = set_combine(sets.midcast.Refresh, { 
  409.         head="Telchine Cap", body="Telchine Chasuble",
  410.         hands="Telchine Gloves", neck="Incanter's Torque",
  411.         legs="Telchine Braconi", feet="Telchine Pigaches"})
  412.  
  413.     sets.midcast.Protect = {ring1="Sheltered Ring"}
  414.     sets.midcast.Protectra = {ring1="Sheltered Ring"}
  415.     sets.midcast.Shell = {ring1="Sheltered Ring"}
  416.     sets.midcast.Shellra = {ring1="Sheltered Ring"}
  417.  
  418.     sets.Learning = {
  419.         ammo="Mavi Tathlum", neck="Incanter's Torque",
  420.         head="Luhlaza Keffiyeh +1", body="Assimilator's Jubbah +1",
  421.         back="Cornflower Cape", hands="Assimilator's Bazubands +1",
  422.         legs="Hashishin Tayt +1", feet="Luhlaza Charuqs"}
  423.  
  424.     sets.latent_refresh = {waist="Fucho-no-obi"}
  425.  
  426. -- Resting sets
  427.     sets.resting = {
  428.         ammo="Vanir Battery",
  429.         head="", body="Respite Cloak",
  430.         back="Xucau Mantle", neck="Sanctity Necklace",
  431.         hands=Herc_DT_hands, waist="Flume Belt +1",
  432.         legs=Herc_DT_legs, feet=Herc_DT_feet,
  433.         ring1="Sheltered Ring", ring2="Paguroidea Ring",
  434.         ear1="Etiolation Earring", ear2="Genmei Earring"}
  435.  
  436. -- Idle sets
  437.     sets.idle = {
  438.         ammo="Vanir Battery",
  439.         head="", body="Respite Cloak",
  440.         back="Xucau Mantle", neck="Sanctity Necklace",
  441.         hands=Herc_DT_hands, waist="Flume Belt +1",
  442.         legs="Carmine Cuisses +1",  feet=Herc_DT_feet,
  443.         ring1="Sheltered Ring", ring2="Paguroidea Ring",
  444.         ear1="Infused Earring", ear2="Genmei Earring"}
  445.  
  446.     sets.idle.PDT = {
  447.         ammo="Vanir Battery",
  448.         head=Herc_DT_head, body="Emet Harness +1",
  449.         back="Xucau Mantle", neck="Twilight Torque",
  450.         hands=Herc_DT_hands, waist="Flume Belt +1",
  451.         legs=Herc_DT_legs, feet=Herc_DT_feet,
  452.         ring1="Defending Ring", ring2="Vocane Ring",
  453.         ear1="Etiolation Earring", ear2="Genmei Earring"}
  454.  
  455.     sets.idle.Town = {
  456.         ammo="Vanir Battery",
  457.         head="Adhemar Bonnet", body="Abnoba Kaftan",
  458.         back=Ros_Crit, neck="Sanctity Necklace",
  459.         hands=Herc_DT_hands, waist="Flume Belt +1",
  460.         legs="Carmine Cuisses +1", feet=Herc_DT_feet,
  461.         ring1="Defending Ring", ring2="Vocane Ring",
  462.         ear1="Etiolation Earring", ear2="Genmei Earring"}
  463.  
  464.     sets.Kiting = {legs="Carmine Cuisses +1"}
  465.  
  466. -- Custom buff sets
  467.     sets['Chain Affinity'] = {head="Hashishin Kavuk", feet="Assimilator's Charuqs +1"}
  468.     sets['Burst Affinity'] = {legs="Assimilator's Shalwar +1",feet="Hashishin Basmak"}
  469.     sets.Diffusion = {feet="Luhlaza Charuqs"}
  470.     sets.Efflux = {legs="Hashishin Tayt +1", back=Ros_Crit}
  471.  
  472. -- Engaged sets
  473.     sets.engaged = {
  474.         ammo="Ginsen",
  475.         head="Adhemar Bonnet", body="Adhemar Jacket",
  476.         back=Ros_DA, neck="Clotharius Torque",
  477.         hands=Herc_TA_hands, waist="Windbuffet Belt +1",
  478.         legs="Samnuha Tights", feet=Herc_TA_feet,
  479.         ring1="Petrov Ring", ring2="Epona's Ring",
  480.         ear1="Steelflash Earring", ear2="Bladeborn Earring"}
  481.  
  482.     sets.engaged.Acc = {
  483.         ammo="Falcon Eye",
  484.         head="Carmine Mask", body="Adhemar Jacket",
  485.         back=Ros_DA, neck="Subtlety Spectacles",
  486.         hands="Adhemar Wristbands", waist="Olseni Belt",
  487.         legs="Carmine Cuisses +1", feet=Herc_TA_feet,
  488.         ring1="Supershear Ring", ring2="Patricius Ring",
  489.         ear1="Assuage Earring", ear2="Dignitary's Earring"}
  490.  
  491. --Hybrid Sets
  492.     sets.engaged.PDT = set_combine(sets.engaged, {
  493.         ammo="Vanir Battery",
  494.         head=Herc_DT_head, body="Emet Harness +1",
  495.         back="Xucau Mantle", neck="Twilight Torque",
  496.         hands=Herc_DT_hands, waist="Flume Belt +1",
  497.         legs=Herc_DT_legs, feet=Herc_DT_feet,
  498.         ring1="Defending Ring", ring2="Vocane Ring",
  499.         ear1="Etiolation Earring", ear2="Genmei Earring"})
  500.  
  501.     sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc,{
  502.         ammo="Amar Cluster",
  503.         head=Herc_DT_head, body="Emet Harness +",
  504.         back="Agema Cape", hands=Herc_DT_hands,
  505.         legs=Herc_DT_legs, feet=Herc_DT_feet,
  506.         ring1="Defending Ring", ring2="Patricius Ring",
  507.         ear1="Assuage Earring", ear2="Dignitary's Earring"})
  508.  
  509. -- Weaponskill sets
  510.     sets.precast.WS = {
  511.         ammo="Ginsen",
  512.         head="Adhemar Bonnet", body="Abnoba Kaftan",
  513.         back=Ros_DA, neck="Fotia Gorget",
  514.         hands=Herc_Crit_hands, waist="Fotia Belt",
  515.         legs=Herc_Crit_legs, feet=Herc_Crit_feet,
  516.         ring1="Ifrit Ring +1", ring2="Ifrit Ring +1",
  517.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  518.    
  519.     sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Falcon Eye"})
  520.  
  521.     -- Chant du Cygne
  522.     sets.precast.WS['Chant du Cygne'] = {
  523.         ammo="Falcon Eye",
  524.         head="Adhemar Bonnet", body="Abnoba Kaftan",
  525.         back=Ros_Crit, neck="Fotia Gorget",
  526.         hands="Adhemar Wristbands", waist="Fotia Belt",
  527.         legs=Herc_Crit_legs, feet="Thereoid Greaves",
  528.         ring1="Petrov Ring", ring2="Epona's Ring",
  529.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  530.        
  531.     sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'], {})
  532.  
  533.     -- Requiescat
  534.     sets.precast.WS['Requiescat'] = {
  535.         ammo="Ginsen",
  536.         head="Adhemar Bonnet", body="Abnoba Kaftan",
  537.         back=Ros_Crit, neck="Fotia Gorget",
  538.         hands="Leyline Gloves", waist="Fotia Belt",
  539.         legs=Herc_Crit_legs, feet=Herc_Crit_feet,
  540.         ring1="Ifrit Ring +1", ring2="Rufescent Ring",
  541.         ear1="Brutal Earring", ear2="Moonshade Earring"}
  542.        
  543.     sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS['Requiescat'], {
  544.         ammo="Falcon Eye", neck="Sanctity Necklace"})
  545.  
  546.     -- Sanguine Blade
  547.     sets.precast.WS['Sanguine Blade'] = {
  548.         ammo="Pemphredo Tathlum",
  549.         head=Herc_MACC_head, body="Hagondes Coat +1",
  550.         back=Ros_MAB, neck="Sanctity Necklace",
  551.         hands="Leyline Gloves", waist="Fotia Belt",
  552.         legs="Amalric Slops", feet="Amalric Nails",
  553.         ring1="Fenrir Ring +1", ring2="Fenrir Ring +1",
  554.         ear1="Friomisi Earring", ear2="Hecate's Earring"}
  555.  
  556.     sets.precast.WS['Sanguine Blade'].Acc = set_combine(sets.precast.WS['Sanguine Blade'], {})
  557. end
  558.  
  559. function job_precast(spell, action, spellMap, eventArgs)
  560.     if unbridled_spells:contains(spell.english) and not state.Buff['Unbridled Learning'] then
  561.         eventArgs.cancel = true
  562.         windower.send_command('@input /ja "Unbridled Learning" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name)
  563.     end
  564. end
  565.  
  566. -- Called by the 'update' self-command, for common needs.
  567. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  568. function job_update(cmdParams, eventArgs)
  569.  
  570. end
  571.  
  572. -- Custom spell mapping.
  573. -- Return custom spellMap value that can override the default spell mapping.
  574. -- Don't return anything to allow default spell mapping to be used.
  575. function job_get_spell_map(spell, default_spell_map)
  576.     if spell.skill == 'Blue Magic' then
  577.         for category,spell_list in pairs(blue_magic_maps) do
  578.             if spell_list:contains(spell.english) then
  579.                 return category
  580.             end
  581.         end
  582.     end
  583. end
  584.  
  585. function job_buff_change(buff, gain)
  586.     if buff == "Chain Affinity" then
  587.         handle_equipping_gear(player.status)
  588.     end
  589.     if buff == "Burst Affinity" then
  590.         handle_equipping_gear(player.status)
  591.     end
  592.     if buff == "Diffusion" then
  593.         handle_equipping_gear(player.status)
  594.     end
  595.     if buff == "Efflux" then
  596.         handle_equipping_gear(player.status)
  597.     end
  598. end
  599.  
  600. -- Modify the default idle set after it was constructed.
  601. function customize_idle_set(idleSet)
  602.     if player.mpp < 51 then
  603.         set_combine(idleSet, sets.latent_refresh)
  604.     end
  605.     if state.Buff['Chain Affinity'] then
  606.         return set_combine(idleSet, sets['Chain Affinity'])
  607.     end
  608.     if state.Buff['Burst Affinity'] then
  609.         return set_combine(idleSet, sets['Burst Affinity'])
  610.     end
  611.     if state.Buff.Diffusion then
  612.         return set_combine(idleSet, sets.Diffusion)
  613.     end
  614.     if state.Buff.Efflux then
  615.         return set_combine(idleSet, sets.Efflux)
  616.     else
  617.         return idleSet
  618.     end
  619. end
  620.  
  621. -- Modify the default melee set after it was constructed.
  622. function customize_melee_set(meleeSet)
  623.     if state.Buff['Chain Affinity'] then
  624.         return set_combine(meleeSet, sets['Chain Affinity'])
  625.     end
  626.     if state.Buff['Burst Affinity'] then
  627.         return set_combine(meleeSet, sets['Burst Affinity'])
  628.     end
  629.     if state.Buff.Diffusion then
  630.         return set_combine(meleeSet, sets.Diffusion)
  631.     end
  632.     if state.Buff.Efflux then
  633.         return set_combine(meleeSet, sets.Efflux)
  634.     else
  635.         return meleeSet
  636.     end
  637. end
  638.  
  639. -- Run after the default midcast() is done.
  640. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  641. function job_post_midcast(spell, action, spellMap, eventArgs)
  642.     if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.midcast.CureSelf then
  643.             equip(sets.midcast.CureSelf)
  644.     end
  645. end
  646.  
  647. -- Select default macro book on initial load or subjob change.
  648. function select_default_macro_book()
  649.     -- Default macro set/book
  650.     if player.sub_job == 'DNC' then
  651.         set_macro_page(1, 2)
  652.     else
  653.         set_macro_page(1, 2)
  654.     end
  655. end
Add Comment
Please, Sign In to add comment