midash

Orangebear_WHM

Jan 4th, 2014
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 17.08 KB | None | 0 0
  1.     include('organizer-lib')
  2. -------------------------------------------------------------------------------------------------------------------
  3. -- Setup functions for this job.  Generally should not be modified.
  4. -------------------------------------------------------------------------------------------------------------------
  5.  
  6. -- Initialization function for this job file.
  7. function get_sets()
  8.     mote_include_version = 2
  9.    
  10.     -- Load and initialize the include file.
  11.     include('Mote-Include.lua')
  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. end
  19.  
  20. -------------------------------------------------------------------------------------------------------------------
  21. -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
  22. -------------------------------------------------------------------------------------------------------------------
  23.  
  24. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  25. function user_setup()
  26.     state.OffenseMode:options('None', 'Normal')
  27.     state.CastingMode:options('Normal', 'Resistant')
  28.     state.IdleMode:options('Normal', 'PDT')
  29.  
  30.     select_default_macro_book()
  31. end
  32.  
  33. -- Define sets and vars used by this job file.
  34. function init_gear_sets()
  35.     --------------------------------------
  36.     -- Start defining the sets
  37.     --------------------------------------
  38. organizer_items = {
  39.   echos="Echo Drops",
  40.   remedy="Remedy",
  41.   orb="Macrocosmic Orb",
  42.   sushi="Squid Sushi",
  43.   Crepe="Pear Crepe",
  44.   sushi2="Sole Sushi"
  45. }
  46.     -- Precast Sets
  47.     -- Fast cast sets for spells
  48.     sets.precast.FC = {main="Marin Staff",sub="Vivid Strap",ammo="Incantor Stone",
  49.         head="Nahtirah Hat",neck="Orison Locket",ear2="Loquacious Earring",
  50.         body="Vanir Cotehardie",hands="Fantastic Gloves",ring1="Prolix Ring",
  51.         back="Swith Cape +1",waist="Witful Belt",legs="Lengo Pants",feet="Regal Pumps +1"}
  52.        
  53.     sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
  54.  
  55.     sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {head="Umuthi Hat"})
  56.  
  57.     sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {legs="Orison Pantaloons +2"})
  58.  
  59.     sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
  60.  
  61.     sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {main="Tamaxchi",sub="Genbu's Shield",ammo="Impatiens"})
  62.  
  63.     sets.precast.FC.Curaga = sets.precast.FC.Cure
  64.    
  65.     -- Precast sets to enhance JAs
  66.     sets.precast.JA.Benediction = {body="Piety Briault"}
  67.  
  68.     -- Waltz set (chr and vit)
  69.     sets.precast.Waltz = {
  70.         head="Nahtirah Hat",ear1="Roundel Earring",
  71.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",
  72.         back="Refraction Cape",legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  73.    
  74.    
  75.     -- Weaponskill sets
  76.  
  77.     -- Default set for any weaponskill that isn't any more specifically defined
  78.     gear.default.weaponskill_neck = "Asperity Necklace"
  79.     gear.default.weaponskill_waist = ""
  80.     sets.precast.WS = {
  81.         head="Nahtirah Hat",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  82.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  83.         back="Refraction Cape",waist=gear.ElementalBelt,legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  84.    
  85.     sets.precast.WS['Flash Nova'] = {
  86.         head="Nahtirah Hat",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Crematio Earring",
  87.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="Strendu Ring",
  88.         back="Toro Cape",waist="Fotia Belt",legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  89.    
  90.  
  91.     -- Midcast Sets
  92.    
  93.     sets.midcast.FastRecast = {
  94.         head="Nahtirah Hat",ear2="Loquacious Earring",
  95.         body="Vanir Cotehardie",hands="Dynasty Mitts",ring1="Prolix Ring",
  96.         back="Swith Cape +1",waist="Goading Belt",legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  97.    
  98.     -- Cure sets
  99.     gear.default.obi_waist = "Goading Belt"
  100.     gear.default.obi_back = "Mending Cape"
  101.  
  102.     sets.midcast.CureSolace = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
  103.         head="Gende. Caubeen +1",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  104.         body="Orison Bliaud +2",hands="Theophany Mitts",ring1="Prolix Ring",ring2="Sirona's Ring",
  105.         back="Tuilha Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Piety Duckbills +1"}
  106.  
  107.     sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
  108.         head="Gende. Caubeen +1",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  109.         body="Vanir Cotehardie",hands="Theophany Mitts",ring1="Prolix Ring",ring2="Sirona's Ring",
  110.         back="Tuilha Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Piety Duckbills +1"}
  111.  
  112.     sets.midcast.Curaga = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
  113.         head="Gende. Caubeen +1",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  114.         body="Vanir Cotehardie",hands="Theophany Mitts",ring1="Prolix Ring",ring2="Sirona's Ring",
  115.         back="Tuilha Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Piety Duckbills +1"}
  116.  
  117.     sets.midcast.CureMelee = {ammo="Incantor Stone",
  118.         head="Gende. Caubeen +1",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  119.         body="Vanir Cotehardie",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Sirona's Ring",
  120.         back="Tuilha Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Piety Duckbills +1"}
  121.  
  122.     sets.midcast.Cursna = {main="Beneficus",sub="Genbu's Shield",
  123.         head="Orison Cap +2",neck="Malison Medallion", 
  124.         body="Orison Bliaud +2",hands="Fantastic Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
  125.         back="Mending Cape",waist="Goading Belt",legs="Theophany Pantaloons",feet="Gende. Galosh. +1"}
  126.  
  127.     sets.midcast.StatusRemoval = {
  128.         head="Orison Cap +2",legs="Orison Pantaloons +2"}
  129.  
  130.     -- 110 total Enhancing Magic Skill; caps even without Light Arts
  131.     sets.midcast['Enhancing Magic'] = {main="Beneficus",sub="Genbu's Shield",
  132.         head="Umuthi Hat",neck="Colossus's Torque",
  133.         body="Manasa Chasuble",hands="Dynasty Mitts",
  134.         back="Mending Cape",waist="Olympus Sash",legs="Piety Pantaloons",feet="Orison Duckbills +2"}
  135.  
  136.     sets.midcast.Stoneskin = {
  137.         head="Nahtirah Hat",neck="Orison Locket",ear2="Loquacious Earring",
  138.         body="Vanir Cotehardie",hands="Dynasty Mitts",
  139.         back="Swith Cape +1",waist="Siegel Sash",legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  140.  
  141.     sets.midcast.Auspice = {hands="Dynasty Mitts",feet="Orison Duckbills +2"}
  142.  
  143.     sets.midcast.BarElement = {main="Beneficus",sub="Genbu's Shield",
  144.         head="Orison Cap +2",neck="Colossus's Torque",
  145.         body="Orison Bliaud +2",hands="Orison Mitts +2",
  146.         back="Mending Cape",waist="Olympus Sash",legs="Piety Pantaloons",feet="Orison Duckbills +2"}
  147.  
  148.     sets.midcast.Regen = {main="Bolelabunga",sub="Genbu's Shield",
  149.         body="Piety Briault",hands="Orison Mitts +2",
  150.         legs="Theophany Pantaloons"}
  151.  
  152.     sets.midcast.Protectra = {ring1="Sheltered Ring",feet="Piety Duckbills +1"}
  153.  
  154.     sets.midcast.Shellra = {ring1="Sheltered Ring",legs="Piety Pantaloons"}
  155.  
  156.  
  157.     sets.midcast['Divine Magic'] = {main="Bolelabunga",sub="Genbu's Shield",
  158.         head="Nahtirah Hat",neck="Colossus's Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  159.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring2="Sangoma Ring",
  160.         back="Refraction Cape",waist=gear.ElementalObi,legs="Theophany Pantaloons",feet="Gende. Galosh. +1"}
  161.  
  162.     sets.midcast['Dark Magic'] = {main="Bolelabunga", sub="Genbu's Shield",
  163.         head="Nahtirah Hat",neck="Eddy Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  164.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
  165.         back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Piety Duckbills +1"}
  166.  
  167.     -- Custom spell classes
  168.     sets.midcast.MndEnfeebles = {main="Lehbrailg +2", sub="Mephitis Grip",
  169.         head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  170.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Leviathan Ring",ring2="Sangoma Ring",
  171.         back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Piety Duckbills +1"}
  172.  
  173.     sets.midcast.IntEnfeebles = {main="Lehbrailg +2", sub="Mephitis Grip",
  174.         head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  175.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Shiva Ring +1",ring2="Sangoma Ring",
  176.         back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Piety Duckbills +1"}
  177.  
  178.    
  179.     -- Sets to return to when not performing an action.
  180.    
  181.     -- Resting sets
  182.     sets.resting = {main='Chatoyant Staff',sub="Oneiros Grip",
  183.         head='Befouled Crown',body="Witching Robe",hands="Serpentes Cuffs",
  184.         back='Kumbira Cape',waist="Hierarch Belt",legs="Assid. Pants +1",feet="Serpentes Cuffs"}
  185.    
  186.  
  187.     -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  188.     sets.idle = {main="Bolelabunga", sub="Genbu's Shield",ammo="Homiliary",
  189.         neck="Bathy Choker",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  190.         head='Befouled Crown',body="Witching Robe",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  191.         back="Kumbira Cape",waist="Witful Belt",legs="Assid. Pants +1",feet="Herald's Gaiters"}
  192.  
  193.     sets.idle.PDT = {main="Bolelabunga", sub="Genbu's Shield",ammo="Homiliary",
  194.         neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  195.         head='Befouled Crown',body="Witching Robe",hands="Gende. Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  196.         back="Repulse Mantle",waist="Witful Belt",legs="Gende. Spats +1",feet="Serpentes Sabots"}
  197.  
  198.     sets.idle.Town = {main="Bolelabunga", sub="Genbu's Shield",ammo="Homiliary",
  199.         neck="Bathy Choker",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  200.         head='Befouled Crown',body="Witching Robe",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  201.         back="Kumbira Cape",waist="Witful Belt",legs="Assid. Pants +1",feet="Herald's Gaiters"}
  202.    
  203.     sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Incantor Stone",
  204.         neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  205.         head='Befouled Crown',body="Witching Robe",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Dark Ring",
  206.         back="Repulse Mantle",waist="Witful Belt",legs="Assid. Pants +1",feet="Gende. Galosh. +1"}
  207.    
  208.     -- Defense sets
  209.  
  210.     sets.defense.PDT = {main="Terra's Staff",sub="Achaq Grip",
  211.         head="Gende. Caubeen +1",neck="Loricate Torque +1",
  212.         body="Gende. Bilaut +1",hands="Gende. Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  213.         back="Repulse Mantle",legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  214.  
  215.     sets.defense.MDT = {main="Terra's Staff",sub="Achaq Grip",
  216.         head="Nahtirah Hat",neck="Loricate Torque +1",
  217.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Shadow Ring",
  218.         back="Tuilha Cape",legs="Artsieq Hose",feet="Gende. Galosh. +1"}
  219.  
  220.     sets.Kiting = {feet="Herald's Gaiters"}
  221.  
  222.     sets.latent_refresh = {waist="Fucho-no-obi"}
  223.  
  224.     -- Engaged sets
  225.  
  226.     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  227.     -- sets if more refined versions aren't defined.
  228.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  229.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  230.    
  231.     -- Basic set for if no TP weapon is defined.
  232.     sets.engaged = {
  233.         head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  234.         body="Vanir Cotehardie",hands="Dynasty Mitts",ring1="Rajas Ring",ring2="K'ayres Ring",
  235.         back="Repulse Mantle",waist="Goading Belt",legs="Gende. Spats +1",feet="Gende. Galosh. +1"}
  236.  
  237.  
  238.     -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  239.     sets.buff['Divine Caress'] = {hands="Orison Mitts +2",back="Mending Cape"}
  240. end
  241.  
  242. -------------------------------------------------------------------------------------------------------------------
  243. -- Job-specific hooks for standard casting events.
  244. -------------------------------------------------------------------------------------------------------------------
  245.  
  246. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  247. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  248. function job_precast(spell, action, spellMap, eventArgs)
  249.     if spell.english == "Paralyna" and buffactive.Paralyzed then
  250.         -- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
  251.         eventArgs.handled = true
  252.     end
  253.    
  254.     if spell.skill == 'Healing Magic' then
  255.         gear.default.obi_back = "Mending Cape"
  256.     else
  257.         gear.default.obi_back = "Toro Cape"
  258.     end
  259. end
  260.  
  261.  
  262. function job_post_midcast(spell, action, spellMap, eventArgs)
  263.     -- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
  264.     if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
  265.         equip(sets.buff['Divine Caress'])
  266.     end
  267. end
  268.  
  269. -------------------------------------------------------------------------------------------------------------------
  270. -- Job-specific hooks for non-casting events.
  271. -------------------------------------------------------------------------------------------------------------------
  272.  
  273. -- Handle notifications of general user state change.
  274. function job_state_change(stateField, newValue, oldValue)
  275.     if stateField == 'Offense Mode' then
  276.         if newValue == 'Normal' then
  277.             disable('main','sub','range')
  278.         else
  279.             enable('main','sub','range')
  280.         end
  281.     end
  282. end
  283.  
  284.  
  285. -------------------------------------------------------------------------------------------------------------------
  286. -- User code that supplements standard library decisions.
  287. -------------------------------------------------------------------------------------------------------------------
  288.  
  289. -- Custom spell mapping.
  290. function job_get_spell_map(spell, default_spell_map)
  291.     if spell.action_type == 'Magic' then
  292.         if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
  293.             return "CureMelee"
  294.         elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
  295.             return "CureSolace"
  296.         elseif spell.skill == "Enfeebling Magic" then
  297.             if spell.type == "WhiteMagic" then
  298.                 return "MndEnfeebles"
  299.             else
  300.                 return "IntEnfeebles"
  301.             end
  302.         end
  303.     end
  304. end
  305.  
  306.  
  307. function customize_idle_set(idleSet)
  308.     if player.mpp < 51 then
  309.        idleSet = set_combine(idleSet, sets.latent_refresh)
  310.    end
  311.    return idleSet
  312. end
  313.  
  314. if player_equipment_back == "Mecisto. Mantle" then
  315.    disable('back')
  316. else
  317.    enable('back')
  318. end
  319.  
  320. if player.equipment.ring1 == "Warp Ring" then
  321.    disable('ring1')
  322. else
  323.    enable('ring1')
  324. end
  325.  
  326. if player.equipment.ring2 == "Warp Ring" then
  327.    disable('ring2')
  328. else
  329.    enable('ring2')
  330. end
  331.  
  332. -- Called by the 'update' self-command.
  333. function job_update(cmdParams, eventArgs)
  334.    if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
  335.        local needsArts =
  336.            player.sub_job:lower() == 'sch' and
  337.            not buffactive['Light Arts'] and
  338.            not buffactive['Addendum: White'] and
  339.            not buffactive['Dark Arts'] and
  340.            not buffactive['Addendum: Black']
  341.            
  342.        if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
  343.            if needsArts then
  344.                send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
  345.             else
  346.                 send_command('@input /ja "Afflatus Solace" <me>')
  347.             end
  348.         end
  349.     end
  350. end
  351.  
  352.  
  353. -- Function to display the current relevant user state when doing an update.
  354. function display_current_job_state(eventArgs)
  355.     display_current_caster_state()
  356.     eventArgs.handled = true
  357. end
  358.  
  359. -------------------------------------------------------------------------------------------------------------------
  360. -- Utility functions specific to this job.
  361. -------------------------------------------------------------------------------------------------------------------
  362.  
  363. -- Select default macro book on initial load or subjob change.
  364. function select_default_macro_book()
  365.     -- Default macro set/book
  366.     set_macro_page(1, 6)
  367. end
Advertisement
Add Comment
Please, Sign In to add comment