Advertisement
Lygre

waru

Mar 2nd, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 23.58 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Setup functions for this job.  Generally should not be modified.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- Initialization function for this job file.
  6. function get_sets()
  7.     mote_include_version = 2
  8.    
  9.     -- Load and initialize the include file.
  10.     include('Mote-Include.lua')
  11.     include('organizer-lib')
  12. end
  13.  
  14. -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16.     state.Buff['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
  17.     state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
  18.  
  19.     state.OffenseMode:options('None', 'Normal')
  20.     state.CastingMode:options('Normal', 'Resistant')
  21.     state.IdleMode:options('Normal', 'PDT','MDT','Encumberance')
  22.     state.PhysicalDefenseMode:options('PDT', 'Shield')
  23.  
  24.     --get_current_strategem_count()
  25.     select_default_macro_book()
  26.  
  27. end
  28.  
  29. -------------------------------------------------------------------------------------------------------------------
  30. -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
  31. -------------------------------------------------------------------------------------------------------------------
  32. function user_setup()
  33.     send_command('bind ^` input /sacrosanctity')
  34.     send_command('bind !` input /asylum')
  35.     send_command('bind @` input /divinecaress')
  36.     send_command('bind ^F1 input /aurorastorm <me>')
  37.     send_command('bind !F1 input /accession')
  38.     send_command('bind @F1 input /reraise4')
  39.     send_command('bind ^F2 input /celerity')
  40.     send_command('bind !F2 input /divinecaress')
  41.     send_command('bind ^F3 gs c toggle AutoAga')
  42.  
  43. end
  44. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  45. function user_unload()
  46.     send_command('unbind ^`')
  47.     send_command('unbind !`')
  48. end
  49.  
  50. -- Define sets and vars used by this job file.
  51. function init_gear_sets()
  52.     --------------------------------------
  53.     -- Start defining the sets
  54.     --------------------------------------
  55.  
  56.     -- Precast Sets
  57.  
  58.     -- Fast cast sets for spells
  59.     sets.precast.FC = {
  60.         sub="Chanter's Shield",
  61.         ammo="Incantor Stone",
  62.         head="Nahtirah Hat",
  63.         body="Marduk's Jubbah +1",
  64.         hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','"Cure" potency +3%',}},
  65.         legs="Kaykaus Tights +1",
  66.         feet="Regal Pumps +1",
  67.         neck="Orunmila's Torque",
  68.         waist="Witful Belt",
  69.         left_ear="Loquac. Earring",
  70.         right_ear="Enchntr. Earring +1",
  71.         left_ring="Prolix Ring",
  72.         right_ring="Kishar Ring",
  73.         back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  74.     }
  75.        
  76.     sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {})
  77.  
  78.     sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {})
  79.  
  80.     sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {body="Dalmatica +1",legs="Ebers Pantaloons +1"})
  81.  
  82.     sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
  83.  
  84.     sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {
  85.         main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
  86.         sub="Sors Shield",
  87.         ammo="Incantor Stone",
  88.         head={ name="Kaykaus Mitra +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  89.         body={ name="Dalmatica +1", augments={'Occ. quickens spellcasting +3%','"Fast Cast"+6','Pet: "Mag.Def.Bns."+6',}},
  90.         hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','"Cure" potency +3%',}},
  91.         legs={ name="Kaykaus Tights +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  92.         feet={ name="Kaykaus Boots +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  93.         neck="Orunmila's Torque",
  94.         waist="Witful Belt",
  95.         left_ear="Nourish. Earring +1",
  96.         right_ear="Etiolation Earring",
  97.         left_ring="Prolix Ring",
  98.         right_ring="Kishar Ring",
  99.         back="Perimede Cape",
  100.     })
  101.        
  102.     sets.precast.FC.Impact = {head=empty,body="Twilight Cloak"}
  103.     sets.precast.FC.Curaga = sets.precast.FC.Cure
  104.     sets.precast.FC.CureSolace = sets.precast.FC.Cure
  105.     -- CureMelee spell map should default back to Healing Magic.
  106.    
  107.     -- Precast sets to enhance JAs
  108.     sets.precast.JA.Benediction = {body="Piety Briault +1"}
  109.  
  110.     -- Waltz set (chr and vit)
  111.     sets.precast.Waltz = {}
  112.    
  113.    
  114.     -- Weaponskill sets
  115.  
  116.     -- Default set for any weaponskill that isn't any more specifically defined
  117.     sets.precast.WS = {}
  118.    
  119.    
  120.     -- Midcast Sets
  121.    
  122.     sets.midcast.FastRecast = {
  123.         main="Yagrush",
  124.         sub="Chanter's Shield",
  125.         ammo="Incantor Stone",
  126.         head="Nahtirah Hat",
  127.         body="Count's Garb",
  128.         hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','"Cure" potency +3%',}},
  129.         legs={ name="Kaykaus Tights +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  130.         feet="Regal Pumps +1",
  131.         neck="Orunmila's Torque",
  132.         waist="Witful Belt",
  133.         left_ear="Loquac. Earring",
  134.         right_ear="Enchntr. Earring +1",
  135.         left_ring="Kishar Ring",
  136.         right_ring="Prolix Ring",
  137.         back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  138.     }
  139.    
  140.     ------------ Cure sets-------------------
  141.  
  142.     sets.midcast.CureWithLightWeather = {
  143.         main="Chatoyant Staff",
  144.         sub="Achaq Grip",
  145.         waist="Hachirin-no-obi",
  146.         head="Kaykaus Mitra +1",
  147.         body="Ebers bliaud +1",
  148.         hands="Kaykaus Cuffs +1",
  149.         legs="Ebers Pant. +1",
  150.         feet="Kaykaus Boots +1",
  151.         ear1="Glorious Earring",
  152.         right_ear="Nourish. Earring +1",
  153.         left_ring="Lebeche Ring",
  154.         right_ring="Janniston Ring",
  155.         back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  156.     }
  157.  
  158.     sets.midcast.CureSolace = {
  159.         main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
  160.         sub="Sors Shield",
  161.         head="Kaykaus Mitra +1",
  162.         body="Ebers bliaud +1",
  163.         hands="Kaykaus Cuffs +1",
  164.         legs="Ebers Pant. +1",
  165.         feet="Kaykaus Boots +1",
  166.         ear1="Glorious Earring",
  167.         right_ear="Nourish. Earring +1",
  168.         left_ring="Lebeche Ring",
  169.         right_ring="Janniston Ring",
  170.         back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  171.     }
  172.  
  173.     sets.midcast.Cure = {
  174.         main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
  175.         sub="Sors Shield",
  176.         head="Kaykaus Mitra +1",
  177.         body="Kaykaus Bliaut +1",
  178.         hands="Kaykaus Cuffs +1",
  179.         legs="Ebers Pant. +1",
  180.         feet="Kaykaus Boots +1",
  181.         ear1="Glorious Earring",
  182.         right_ear="Nourish. Earring +1",
  183.         left_ring="Lebeche Ring",
  184.         right_ring="Janniston Ring",
  185.         back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  186.     }  
  187.  
  188.     sets.midcast.Curaga = set_combine(sets.midcast.Cure,{
  189.         ammo="Hydrocera",
  190.         neck="Nuna Gorget +1",
  191.         body="Kaykaus Bliaut +1",
  192.         ring1="Stikini Ring +1",
  193.         waist="Luminary Sash"          
  194.     })
  195.  
  196.     sets.midcast.CureMelee = {ammo="Sapience Orb",
  197.         head="Gendewitha Caubeen +1",neck="Orison Locket",ear1="Enchanter earring +1",ear2="Mendicant's Earring",
  198.         body="Ebers bliaud +1",hands="Fanatic gloves",ring1="Prolix Ring",ring2="Haoma's Ring",
  199.         back="Mending Cape",waist=gear.ElementalObi,legs="Ebers pantaloons +1",feet="Piety Duckbills +1"}
  200.  
  201.     sets.midcast.Cursna = {
  202.         main="Yagrush",
  203.         sub="Thuellaic Ecu +1",
  204.         neck="Malison Medallion",
  205.         head="Vanya Hood",
  206.         ear1="Healing Earring",
  207.         ear2="Beatific Earring",
  208.         body="Ebers Bliaud +1",
  209.         hands="Fanatic Gloves",
  210.         ring1="Haoma's Ring",
  211.         back="Alaunus's Cape",
  212.         waist="Bishop's Sash",
  213.         legs="Theo. Pant. +1",
  214.         feet="Vanya Clogs",
  215.         ring2="Haoma's Ring",
  216.     }
  217.    
  218.     sets.midcast.Doom = set_combine(sets.midcast.Cursna,{
  219.         main="Gambanteinn",
  220.         head="Ebers Cap +1",
  221.     })
  222.  
  223.     sets.midcast.Yagdoom = set_combine(sets.midcast.Cursna,{
  224.         sub="Gambanteinn",
  225.     })
  226.    
  227.     sets.midcast.Arise = set_combine(sets.midcast.FastRecast,{
  228.         neck="Incanter's Torque",  
  229.     })
  230.  
  231.     sets.midcast.StatusRemoval = set_combine(sets.midcast.FastRecast,{
  232.         main="Yagrush",
  233.     })
  234.  
  235. --------------ENHANCING AND SUCH---------------------
  236.  
  237.     sets.midcast['Enhancing Magic'] = {
  238.         main="Gada",
  239.         sub={name="Ammurapi Shield", priority=7},
  240.         ammo="Incantor Stone",
  241.         head={ name="Telchine Cap", augments={'Accuracy+14 Attack+14','"Store TP"+6','Enh. Mag. eff. dur. +10',}},
  242.         neck="Incanter's Torque",
  243.         ring1="Stikini Ring +1",
  244.         ear1="Loquacious Earring",
  245.         ear2="Andoaa Earring",
  246.         body={ name="Telchine Chas.", augments={'DEF+16','Enh. Mag. eff. dur. +9',}},
  247.         hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +10',}},
  248.         legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
  249.         feet="Theophany Duckbills +2",
  250.         ring2="Stikini Ring +1",
  251.         back="Perimede Cape",
  252.         waist="Olympus Sash"
  253.     }
  254.  
  255.     sets.midcast.Haste = set_combine(sets.midcast['Enhancing Magic'],{})
  256.    
  257.     sets.midcast.Storm = sets.midcast['Enhancing Magic']
  258.    
  259.     sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'],{
  260.         main="Vadose Rod",
  261.         waist="Emphatikos Rope",
  262.         legs="Shedir Seraweels",
  263.     }) 
  264.  
  265.     sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{
  266.         neck="Stone Gorget",
  267.         legs="Shedir Seraweels",
  268.         lear="Earthcry Earring",
  269.         waist="Siegel Sash"
  270.     })
  271.  
  272.     sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'],{})
  273.        
  274.     sets.midcast.Auspice = set_combine(sets.midcast['Enhancing Magic'],{feet="Ebers Duckbills +1"})
  275.  
  276.     sets.midcast.BarElement = {main="Beneficus",sub="Ammurapi Shield",
  277.         head="Ebers cap +1",neck="Incanter's Torque",ear1="Andoaa earring",ring1="Stikini Ring +1",
  278.         body="Ebers bliaud +1",hands="Ebers Mitts +1",ring2="Stikini Ring +1",
  279.         back="Perimede Cape",waist="Olympus Sash",legs="Piety Pantaloons +1",feet="Ebers Duckbills +1"
  280.     }
  281.  
  282.     sets.midcast.BarStatus = set_combine(sets.midcast['Enhancing Magic'],{})
  283.     sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
  284.         main="Bolelabunga",body="Piety Briault +1",hands="Ebers mitts +1",legs="Theo. Pant. +1",head="Inyanga Tiara +1",
  285.     })
  286.  
  287.     sets.midcast.Protectra = set_combine(sets.midcast['Enhancing Magic'], {
  288.         feet="Piety Duckbills +1"
  289.     })
  290.  
  291.     sets.midcast.Shellra = set_combine(sets.midcast['Enhancing Magic'], {
  292.         legs="Piety Pantaloons +1"
  293.     })
  294.    
  295.     sets.midcast.Dia = set_combine(sets.midcast.MndEnfeebles, {
  296.         waist="Chaac Belt"
  297.     })
  298.  
  299.     sets.midcast['Divine Magic'] = {
  300.         main="Yagrush",
  301.         sub="Ammurapi Shield",
  302.         ammo="Hydrocera",
  303.         head="Chironic Hat",
  304.         neck="Erra Pendant",
  305.         ear1="Digni. Earring",
  306.         ear2="Gwati Earring",
  307.         ring1="Stikini Ring +1",
  308.         body="Chironic Doublet",
  309.         hands="Kaykaus Cuffs +1",
  310.         ring2="Stikini Ring +1",
  311.         back="Alaunus's Cape",
  312.         waist="Luminary Sash",
  313.         legs="Kaykaus Tights +1",
  314.         feet="Chironic Slippers",
  315.     }
  316.  
  317.     sets.midcast['Dark Magic'] = {main="Rubicundity", sub="Genbu's Shield",ammo="Pemphredo Tathlum",
  318.         head="Pixie Hairpin +1",neck="Incanter's Torque",ear1="Gwati Earring",ear2="Enchanter earring +1",
  319.         body="Shango robe",hands=gear.chirhands_macc,ring1="Archon Ring",ring2="Weatherspoon ring",
  320.         back="Perimede cape",waist="Eschan Stone",legs=gear.tellegs_enh,feet="Medium's sabots"}
  321.  
  322.     -- Custom spell classes
  323.     sets.midcast.MndEnfeebles = {
  324.         main="Yagrush",
  325.         sub="Ammurapi Shield",
  326.         ammo="Hydrocera",
  327.         head="Befouled Crown",
  328.         neck="Erra Pendant",
  329.         ear1="Digni. Earring",
  330.         ear2="Gwati Earring",
  331.         ring1="Stikini Ring +1",
  332.         body="Chironic Doublet",
  333.         hands="Kaykaus Cuffs +1",
  334.         ring2="Stikini Ring +1",
  335.         back="Alaunus's Cape",
  336.         waist="Luminary Sash",
  337.         legs="Chironic Hose",
  338.         feet="Chironic Slippers",
  339.     }
  340.  
  341.     sets.midcast.IntEnfeebles = {
  342.         main="Yagrush",
  343.         sub="Ammurapi Shield",
  344.         ammo="Hydrocera",
  345.         head="Befouled Crown",
  346.         neck="Erra Pendant",
  347.         ear1="Digni. Earring",
  348.         ear2="Gwati Earring",
  349.         ring1="Stikini Ring +1",
  350.         body="Chironic Doublet",
  351.         hands="Kaykaus Cuffs +1",
  352.         ring2="Stikini Ring +1",
  353.         back="Alaunus's Cape",
  354.         waist="Luminary Sash",
  355.         legs="Chironic Hose",
  356.         feet="Chironic Slippers",
  357.     }
  358.  
  359.     sets.midcast.Impact = {main=gear.grio_elemental,sub="Niobid strap",ammo="Pemphredo Tathlum",
  360.         head=empty,neck="Incanter's torque",ear1="Digni. Earring",ear2="Gwati Earring",
  361.         body="Twilight Cloak",hands=gear.chirhands_macc,ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  362.         back="Alaunus's cape",waist="Eschan Stone",legs=gear.chirlegs,feet="Medium's sabots"}
  363.        
  364.  
  365.     -- Sets to return to when not performing an action.
  366.    
  367.     -- Resting set
  368.     sets.resting = set_combine(sets.Idle,{})
  369.    
  370.  
  371.     -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  372.     sets.idle = {
  373.         main="Bolelabunga",
  374.         sub="Genmei Shield",
  375.         ammo="Homiliary",
  376.         neck="Loricate Torque +1",
  377.         ear1="Moonshade Earring",
  378.         ear2="Darkness Earring",
  379.         head="Befouled Crown",
  380.         body="Kaykaus Bliaut +1",
  381.         hands="Shrieker's Cuffs",
  382.         ring1="Stikini Ring +1",
  383.         back="Umbra Cape",
  384.         waist="Fucho-no-Obi",
  385.         legs="Assiduity Pants +1",
  386.         feet="Herald's Gaiters",
  387.         ring2="Stikini Ring +1",
  388.     }
  389.  
  390.     sets.idle.PDT = set_combine(sets.Idle,{
  391.         ring2="Gelatinous Ring +1",
  392.         ring1="Defending Ring",
  393.     })
  394.  
  395.     sets.idle.MDT = set_combine(sets.Idle,{
  396.     main="Bolelabunga", sub="Genmei shield",ammo="Homiliary",
  397.         head="Befouled crown",neck="Loricate torque +1",ear1="Moonshade Earring",ear2="Sanare Earring",
  398.         body="Kaykaus Bliaut +1",hands="Shrieker's Cuffs",ring1="Defending Ring",ring2="Dark Ring",
  399.         back="Solemnity cape",waist="Slipor sash",legs="Assiduity pants +1",feet="Vanya clogs"})
  400.        
  401.     sets.idle.Encumberance = {
  402.         main="Queller Rod",
  403.         sub="Sors Shield",
  404.         ammo="Impatiens",
  405.         head="Kaykaus Mitra +1",
  406.         neck="Incanter's Torque",
  407.         ear1="Glorious Earring",
  408.         ear2="Nourish. Earring +1",
  409.         body="Ebers Bliaud +1",
  410.         hands="Kaykaus Cuffs +1",
  411.         ring1="Lebeche Ring",
  412.         ring2="Janniston Ring",
  413.         back="Alaunus's Cape",
  414.         waist="Witful Belt",
  415.         legs="Ebers Pant. +1",
  416.         feet="Kaykaus Boots +1"
  417.     }
  418.  
  419.  
  420.     sets.idle.Town = {main="Gambanteinn", sub="Genmei Shield",ammo="Homiliary",
  421.         head="Befouled Crown",neck="Loricate torque +1",ear1="Moonshade Earring",ear2="Darkness earring",
  422.         body="Kaykaus Bliaut +1",hands="Kaykaus Cuffs +1",ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  423.         back="Solemnity Cape",waist="Slipor sash",legs="Assiduity pants +1",feet="Herald's gaiters"}
  424.    
  425.     sets.idle.Weak = {main="Bolelabunga", sub="Genmei shield",ammo="Homiliary",
  426.         head="Befouled crown",neck="Loricate torque +1",ear1="Sanare Earring",ear2="Zennaroi Earring",
  427.         body="Kaykaus Bliaut +1",hands="Kaykaus Cuffs +1",ring1="Defending Ring",ring2="Gelatinous Ring +1",
  428.         back="Solemnity cape",waist="Slipor sash",legs="Assiduity pants +1",feet="Kaykaus Boots +1"}
  429.    
  430.     -- Defense sets
  431.  
  432.     sets.defense.PDT = {
  433.         main="Mafic cudgel", -- 10% PDT;
  434.         sub="Genmei shield", -- 10% PDT; Block +6; Counter +4
  435.         ammo="Brigantia pebble",
  436.         head=gear.chirhead_pdt, -- 2% MDT; Block +3
  437.         neck="Loricate torque +1", -- 6% DT
  438.         ear1="Thureous earring", -- Block +2
  439.         ear2="Genmei earring", --  2% PDT; Counter +1
  440.         body="Vrikodara jupon", -- 3% PDT
  441.         hands="Gendewitha gages +1", -- Block +4
  442.         ring1="Defending Ring", -- 10% DT
  443.         ring2="Gelatinous Ring +1", -- 5% PDT; 4% MDT
  444.         back="Solemnity Cape", -- 4% DT
  445.         waist="Slipor sash", -- 3% MDT
  446.         legs=gear.chirlegs_dt, -- Block +3
  447.         feet=gear.chirfeet_pdt -- 2% PDT; Block +4
  448.         }
  449.     sets.defense.Shield = {
  450.         main="Mafic cudgel", -- 10% PDT;
  451.         sub="Genmei shield", -- 10% PDT; Block +6; Counter +4
  452.         ammo="Brigantia pebble",
  453.         head=gear.chirhead_block, -- 2% MDT; Block +3
  454.         neck="Loricate torque +1", -- 6% DT
  455.         ear1="Thureous earring", -- Block +2
  456.         ear2="Genmei earring", --  2% PDT; Counter +1
  457.         body="Vrikodara jupon", -- 3% PDT
  458.         hands=gear.chirhands_block, -- Block +4
  459.         ring1="Defending Ring", -- 10% DT
  460.         ring2="Dark Ring", -- 5% PDT; 4% MDT
  461.         back="Solemnity Cape", -- 4% DT
  462.         waist="Slipor sash", -- 3% MDT
  463.         legs=gear.chirlegs_block, -- Block +3
  464.         feet=gear.chirfeet_block -- 2% PDT; Block +4
  465.         }
  466.    
  467.     sets.defense.MDT = {main="Mafic Cudgel", sub="Genmei shield",ammo="Vanir battery",
  468.         head="Inyanga tiara +1",neck="Loricate torque +1",ear1="Sanare Earring",ear2="Zennaroi Earring",
  469.         body="Inyanga jubbah +1",hands="Inyanga Dastanas +1",ring1="Defending Ring",ring2="Dark Ring",
  470.         back="Solemnity cape",waist="Slipor sash",legs="Inyanga shalwar +1",feet="Inyanga crackows +1"}
  471.  
  472.     sets.Kiting = {feet="Herald's gaiters"}
  473.  
  474.     sets.latent_refresh = {waist="Fucho-no-obi"}
  475.  
  476.     -- Engaged sets
  477.  
  478.     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  479.     -- sets if more refined versions aren't defined.
  480.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  481.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  482.    
  483.     -- Basic set for if no TP weapon is defined.
  484.     sets.engaged = {
  485.         main="Yagrush",
  486.         ammo="Homiliary",
  487.         head="Aya. Zucchetto +1",
  488.         body="Ayanmo Corazza +1",
  489.         hands="Aya. Manopolas +1",
  490.         legs="Aya. Cosciales +1",
  491.         feet="Aya. Gambieras +1",
  492.         neck="Asperity Necklace",
  493.         waist="Goading Belt",
  494.         left_ear="Tripudio Earring",
  495.         right_ear="Sanare Earring",
  496.         left_ring="Stikini Ring +1",
  497.         right_ring="Stikini Ring +1",
  498.         back="Kayapa Cape",
  499.     }
  500.  
  501.  
  502.     -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  503.     sets.buff['Divine Caress'] = {hands="Ebers mitts +1",back="Mending Cape"}
  504. end
  505.  
  506. -------------------------------------------------------------------------------------------------------------------
  507. -- Job-specific pretarget
  508. -------------------------------------------------------------------------------------------------------------------
  509.  
  510. function pretarget(spell, action, spellMap, eventArgs)
  511.     if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  512.         eventArgs.cancel = true
  513.         send_command('input /item "Echo Drops" <me>')
  514.     end
  515.     if spell.name == 'Impact' then
  516.         equip(sets.precast.FC.Impact)
  517.         eventArgs.handled = true
  518.     end
  519. end
  520.  
  521.  
  522. Cures                                   = S{'Cure','Cure II','Cure III','Cure IV','Cure V','Cure VI'}
  523. Curagas                                 = S{'Curaga','Curaga II','Curaga III','Curaga IV','Curaga V','Cura','Cura II','Cura III'}
  524. Lyna                                    = S{'Paralyna','Silena','Viruna','Erase','Stona','Blindna','Poisona'}
  525. Barspells                               = S{'Barfira','Barfire','Barwater','Barwatera','Barstone','Barstonra','Baraero','Baraera','Barblizzara','Barblizzard','Barthunder','Barthundra'}
  526. Turtle                                  = S{'Protectra V','Shellra V'}
  527. Cursna                                  = S{'Cursna'}
  528. Regens                                  = S{'Regen','Regen II','Regen III','Regen IV','Regen V'}
  529. Enhanced                                = S{'Flurry','Haste','Refresh'}
  530. Banished                                = S{'Banish','Banish II','Banish III','Banishga','Banishga II'}
  531. Smited                                  = S{'Holy','Holy II'}
  532. Reposed                                 = S{'Repose','Flash'}
  533. Potency                                 = S{'Slow','Paralyze'}
  534. Defense                                 = S{'Stoneskin'}
  535.  
  536.  
  537. -------------------------------------------------------------------------------------------------------------------
  538. -- Job-specific hooks for standard casting events.
  539. -------------------------------------------------------------------------------------------------------------------
  540.  
  541. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  542. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  543. function job_precast(spell, action, spellMap, eventArgs)
  544.     if spell.english == "Impact" then
  545.         equip(sets.precast.FC,sets.precast.FC.Impact)
  546.     end
  547. end    
  548.  
  549.  
  550. function job_midcast(spell, action, spellMap, eventArgs)
  551.     if spell.skill == 'Healing Magic' then
  552.         if Cures:contains(spell.name) then
  553.             if  world.day =='Lightsday' or  world.weather_element == 'Light'  or buffactive == 'Aurorastorm' then
  554.                 equip(sets.midcast.CureWithLightWeather)
  555.             elseif buffactive['Afflatus Solace'] then
  556.                 equip(sets.midcast.CureSolace)
  557.             end
  558.         end
  559.         if Curagas:contains(spell.name) then
  560.             if  world.day =='Lightsday' or  world.weather_element == 'Light'  or buffactive == 'Aurorastorm' then
  561.                 equip(sets.midcast.CureWithLightWeather)
  562.             else
  563.                 equip(sets.midcast.Curaga)
  564.             end
  565.         end
  566.     end
  567. end
  568.  
  569.  
  570. function job_post_midcast(spell, action, spellMap, eventArgs)
  571.     if spell.action_type == 'Magic' then
  572.         if spell.english == 'Cursna' then
  573.             equip(check_player_for_doom(spell.target.name))
  574.         end
  575.     end
  576.     if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
  577.         equip(sets.buff['Divine Caress'])
  578.     end
  579. end
  580.  
  581. party_buffs = {}
  582. function party_buff_change(party_member,name,gain,buff)
  583.     if name == 'Doom' and gain then
  584.         party_buffs[party_member.name] = name
  585.     elseif name == 'Doom' and gain == false then
  586.         if table.containskey(party_buffs, party_member.name) then
  587.             party_buffs[party_member.name] = nil
  588.         end
  589.     end
  590. end
  591. function check_player_for_doom(target) 
  592.     if table.containskey(party_buffs, target) then
  593.         if sub_job == "DNC" or "NIN" then
  594.             return sets.midcast.Yagdoom
  595.         else
  596.             return sets.midcast.Doom
  597.         end
  598.     else
  599.         return sets.midcast.Cursna
  600.     end
  601. end
  602. -------------------------------------------------------------------------------------------------------------------
  603. -- Job-specific hooks for non-casting events.
  604. -------------------------------------------------------------------------------------------------------------------
  605.  
  606. -- Handle notifications of general user state change.
  607. function job_state_change(stateField, newValue, oldValue)
  608.     if stateField == 'Offense Mode' then
  609.         if newValue == 'Normal' then
  610.             disable('main','sub','range')
  611.         else
  612.             enable('main','sub','range')
  613.         end
  614.     end
  615. end
  616.  
  617. -------------------------------------------------------------------------------------------------------------------
  618. -- User code that supplements standard library decisions.
  619. -------------------------------------------------------------------------------------------------------------------
  620.  
  621. -- Custom spell mapping.
  622. function job_get_spell_map(spell, default_spell_map)
  623.     if spell.action_type == 'Magic' then
  624.         if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
  625.             return "CureMelee"
  626.         elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
  627.             return "CureSolace"
  628.         elseif default_spell_map == 'BarStatus' then
  629.             return "BarStatus"
  630.     elseif (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and (world.day == 'Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm') then
  631.         return "CureWithLightWeather"
  632.         elseif spell.skill == "Enfeebling Magic" then
  633.             if spell.type == "WhiteMagic" then
  634.                 return "MndEnfeebles"
  635.             else
  636.                 return "IntEnfeebles"
  637.             end
  638.         end
  639.        
  640.     end
  641. end
  642.  
  643.  
  644. function customize_idle_set(idleSet)
  645.     if player.mpp < 51 then
  646.         idleSet = set_combine(idleSet, sets.latent_refresh)
  647.     end
  648.     return idleSet
  649. end
  650.  
  651. -- Function to display the current relevant user state when doing an update.
  652. function display_current_job_state(eventArgs)
  653.     display_current_caster_state()
  654.     eventArgs.handled = true
  655. end
  656.  
  657. -------------------------------------------------------------------------------------------------------------------
  658. -- Utility functions specific to this job.
  659. -------------------------------------------------------------------------------------------------------------------
  660.  
  661. -- Select default macro book on initial load or subjob change.
  662. function select_default_macro_book()
  663.     -- Default macro set/book
  664.     set_macro_page(1, 5)
  665. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement