icewell

blm MB not working

Sep 19th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.49 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. end
  12.  
  13.  
  14. -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16.  
  17. end
  18.  
  19. -------------------------------------------------------------------------------------------------------------------
  20. -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
  21. -------------------------------------------------------------------------------------------------------------------
  22.  
  23. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  24. function user_setup()
  25.     state.OffenseMode:options('None', 'Normal')
  26.     state.CastingMode:options('Normal', 'Resistant', 'MagicBurst')
  27.     state.IdleMode:options('Normal', 'PDT')
  28.    
  29.     state.MagicBurst = M(false, 'Magic Burst')
  30.  
  31.     lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
  32.         'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
  33.         'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
  34.         'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
  35.         'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
  36.  
  37.     gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
  38.    
  39.     -- Additional local binds
  40.     --^ is for ctrl
  41.     --! is for alt
  42.     --@ is for windows key
  43.    
  44.     send_command('bind !space input /map')
  45.     send_command('bind ^` input /ma Stun <t>')
  46.     send_command('bind !a input /ma "Dia II" <t>')
  47.     send_command('bind !f input /ma "Frazzle" <t>')
  48.     send_command('bind !s input /ma "Distract" <t>')
  49.     send_command('bind ^u input /ma "Dispel" <t>')
  50.     send_command('bind @` gs c activate MagicBurst')
  51.     send_command('bind @q input /ma "Blizzard V" <t>')
  52.  
  53.     select_default_macro_book()
  54. end
  55.  
  56. -- Called when this job file is unloaded (eg: job change)
  57. function user_unload()
  58.     send_command('unbind ^`')
  59.     send_command('unbind @`')
  60.     send_command('unbind !a')
  61.     send_command('unbind !f')
  62.     send_command('unbind !s')
  63.     send_command('unbind ^u')
  64.     send_command('unbind @`')
  65. end
  66.  
  67.  
  68. -- Define sets and vars used by this job file.
  69. function init_gear_sets()
  70.     --------------------------------------
  71.     -- Start defining the sets
  72.     --------------------------------------
  73.    
  74.     ---- Precast Sets ----
  75.    
  76.     -- Precast sets to enhance JAs
  77.     sets.precast.JA['Mana Wall'] = {feet="Goetia Sabots +2"}
  78.  
  79.     sets.precast.JA.Manafont = {body="Sorcerer's Coat +2"}
  80.    
  81.     -- equip to maximize HP (for Tarus) and minimize MP loss before using convert
  82.     sets.precast.JA.Convert = {}
  83.  
  84.  
  85.     -- Fast cast sets for spells
  86.  
  87.     sets.precast.FC = {ammo="Sapience orb",
  88.         head="Hyaline hat",neck="Orunmila's torque",ear1="Etiolation earring",ear2="Loquacious Earring",
  89.         body="Helios jacket",ring1="Prolix Ring",
  90.         back="Swith Cape",waist="Channeler's stone",legs="Lengo pants",feet="Amalric nails"}
  91.  
  92.     sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
  93.  
  94.     sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Stoicheion Medal"})
  95.  
  96.     sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris", back="Pahtli Cape"})
  97.  
  98.     sets.precast.FC.Curaga = sets.precast.FC.Cure
  99.  
  100.     -- Weaponskill sets
  101.     -- Default set for any weaponskill that isn't any more specifically defined
  102.     sets.precast.WS = {
  103.         head="Hagondes Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  104.         body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="Icesoul Ring",
  105.         back="Refraction Cape",waist="Cognition Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  106.  
  107.     -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
  108.     sets.precast.WS['Vidohunir'] = {ammo="Dosis Tathlum",
  109.         head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
  110.         body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Icesoul Ring",ring2="Acumen Ring",
  111.         back="Toro Cape",waist="Thunder Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  112.    
  113.    
  114.     ---- Midcast Sets ----
  115.  
  116.     sets.midcast.FastRecast = {
  117.         head="Nahtirah Hat",ear2="Loquacious Earring",
  118.         body="Vanir Cotehardie",hands="Bokwus Gloves",ring1="Prolix Ring",
  119.         back="Swith Cape +1",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  120.  
  121.     sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",
  122.         head="Nahtirah Hat",neck="Colossus's Torque",ear2="Loquacious Earring",
  123.         body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
  124.         back="Pahtli Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Hagondes Sabots"}
  125.  
  126.     sets.midcast.Curaga = sets.midcast.Cure
  127.  
  128.     sets.midcast['Enhancing Magic'] = {
  129.         neck="Colossus's Torque",
  130.         body="Manasa Chasuble",hands="Ayao's Gages",
  131.         legs="Portent Pants"}
  132.    
  133.     sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {waist="Siegel Sash"})
  134.  
  135.     sets.midcast['Enfeebling Magic'] = {sub="Niobid strap",ammo="Sturm's Report",
  136.         head="Merlinic hood",neck="Incanter's Torque",ear1="Barkarole Earring",ear2="Gwati Earring",
  137.         body="Jhakri robe +1",hands="Jhakri cuffs +1",ring1="Mediator's Ring",ring2="Angha Ring",
  138.         back="Taranus's Cape",waist="Eschan stone",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Conserve MP"+4','INT+14','Mag. Acc.+11','"Mag.Atk.Bns."+12',}},
  139.         feet="Jhakri pigaches +1"}
  140.        
  141.     sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
  142.  
  143.     sets.midcast['Dark Magic'] = {sub="Niobid strap",ammo="Pemphredo tathlum",
  144.         head="Pixie hairpin +1",neck="Incanter's Torque",ear1="Barkarole Earring",ear2="Gwati Earring",
  145.         body="Jhakri robe +1",hands="Jhakri cuffs +1",ring1="Mediator's Ring",ring2="Angha Ring",
  146.         back="Taranus's Cape",waist="Eschan stone",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Conserve MP"+4','INT+14','Mag. Acc.+11','"Mag.Atk.Bns."+12',}},
  147.         feet="Jhakri pigaches +1"}
  148.  
  149.     sets.midcast.Drain = {sub="Niobid strap",ammo="Pemphredo tathlum",
  150.         head="Pixie hairpin +1",neck="Incanter's Torque",ear1="Barkarole Earring",ear2="Gwati Earring",
  151.         body="Jhakri robe +1",hands="Jhakri cuffs +1",ring1="Mediator's Ring",ring2="Angha Ring",
  152.         back="Taranus's Cape",waist="Eschan stone",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Conserve MP"+4','INT+14','Mag. Acc.+11','"Mag.Atk.Bns."+12',}},
  153.         feet="Jhakri pigaches +1"}
  154.    
  155.     sets.midcast.Aspir = sets.midcast.Drain
  156.  
  157.     sets.midcast.Stun = {sub="Niobid strap",ammo="Pemphredo tathlum",
  158.         head="Pixie hairpin +1",neck="Incanter's Torque",ear1="Barkarole Earring",ear2="Gwati Earring",
  159.         body="Jhakri robe +1",hands="Jhakri cuffs +1",ring1="Mediator's Ring",ring2="Angha Ring",
  160.         back="Taranus's Cape",waist="Eschan stone",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Conserve MP"+4','INT+14','Mag. Acc.+11','"Mag.Atk.Bns."+12',}},
  161.         feet="Jhakri pigaches +1"}
  162.  
  163.     sets.midcast.BardSong = {}
  164.  
  165.  
  166.     -- Elemental Magic sets
  167.    
  168.     sets.midcast['Elemental Magic'] = {main="Lathi",sub="Niobid strap",ammo="Pemphredo Tathlum",
  169.         head="Merlinic hood",neck="Eschan stone",ear1="Barkarole Earring",ear2="Friomisi Earring",
  170.         body="Amalric doublet",hands="Amalric gages",ring1="Mujin Band",ring2="Locus Ring",
  171.         back="Taranus's Cape",waist="Hachirin-no-obi",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+6%','CHR+2','Mag. Acc.+13',}},feet="Amalric nails"}
  172.  
  173.     sets.midcast['Elemental Magic'].Resistant = {main="Lehbrailg +2",sub="Zuuxowu Grip",ammo="Dosis Tathlum",
  174.         head="Merlinic hood",neck="Sanctity Necklace",ear1="Gwati Earring",ear2="Barkarole Earring",
  175.         body="Amalric doublet",hands="Amalric gages",ring1="Icesoul Ring",ring2="Resonance Ring",
  176.         back="Taranus's cape",waist="Hachirin-no-obi",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Conserve MP"+4','INT+14','Mag. Acc.+11','"Mag.Atk.Bns."+12',}},feet="Jhakri pigaches +1"}
  177.  
  178.     sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {sub="Niobid strap"})
  179.     sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})
  180.    
  181.     sets.midcast['Elemental Magic'].HighTierNuke.MagicBurst = set_combine(sets.midcast['Elemental Magic'], {sub="Niobid strap",
  182.     neck="Mizu. Kubikazari",ear2="Static earring",
  183.     ring1="Mujin band",ring2="Locus ring",
  184.     legs="Telchine braconi"})
  185.  
  186.  
  187.    
  188.     sets.midcast['Elemental Magic'].Death = {main="Grioavolr", sub="Niobid strap",ammo="Pemphredo Tathlum",
  189.         head="Pixie hairpin +1",neck="Mizukage-no-kubikazari",ear1="Etiolation Earring",ear2="Static Earring",
  190.         body="Amalric doublet",hands="Amalric gages",ring1="Mujin band",ring2="Archon Ring",
  191.         back="Taranus's cape",waist="Hachirin-no-obi",legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst dmg.+6%','CHR+2','Mag. Acc.+13',}},feet="Jhakri pigaches +1"}
  192.  
  193.  
  194.    
  195.     -- Sets to return to when not performing an action.
  196.    
  197.     -- Resting sets
  198.     sets.resting = {main="Boonwell staff",
  199.     body="Chelona blazer",waist="Austerity belt",ring2="Angha ring",
  200.     feet = "Chelona boots"}
  201.    
  202.  
  203.     -- Idle sets
  204.    
  205.     -- Normal refresh idle set
  206.     sets.idle = {sub="Niobid strap",ammo="Pemphredo tathlum",
  207.         head="Hike khat +1",neck="Loricate torque",ear1="Bloodgem Earring",ear2="Infused Earring",
  208.         body="Jhakri robe +1",hands="Hagondes Cuffs +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  209.         back="Cheviot Cape",waist="Slipor sash",legs="Assiduity pants +1",feet="Herald's Gaiters"}
  210.  
  211.     -- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
  212.     sets.idle.PDT = {main="Earth Staff", sub="Zuuxowu Grip",ammo="Impatiens",
  213.         head="Nahtirah Hat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  214.         body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2=gear.DarkRing.physical,
  215.         back="Umbra Cape",waist="Hierarch Belt",legs="Hagondes Pants",feet="Herald's Gaiters"}
  216.  
  217.     -- Idle mode scopes:
  218.     -- Idle mode when weak.
  219.     sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
  220.         head="Hagondes Hat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  221.         body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Paguroidea Ring",
  222.         back="Umbra Cape",waist="Hierarch Belt",legs="Nares Trews",feet="Hagondes Sabots"}
  223.    
  224.     -- Town gear.
  225.     sets.idle.Town = {main="Lehbrailg +2", sub="Zuuxowu Grip",ammo="Impatiens",
  226.         head="Hike khat +1",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  227.         body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  228.         back="Taranus's Cape",waist="Eschan stone",legs="Hagondes Pants",feet="Herald's Gaiters"}
  229.        
  230.     -- Defense sets
  231.  
  232.     sets.defense.PDT = {main="Earth Staff",sub="Zuuxowu Grip",
  233.         head="Nahtirah Hat",neck="Twilight Torque",
  234.         body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2=gear.DarkRing.physical,
  235.         back="Umbra Cape",waist="Hierarch Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  236.  
  237.     sets.defense.MDT = {ammo="Demonry Stone",
  238.         head="Nahtirah Hat",neck="Twilight Torque",
  239.         body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  240.         back="Tuilha Cape",waist="Hierarch Belt",legs="Bokwus Slops",feet="Hagondes Sabots"}
  241.  
  242.     sets.Kiting = {feet="Jhakri pigaches +1"}
  243.  
  244.     sets.latent_refresh = {waist="Fucho-no-obi"}
  245.  
  246.     -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  247.    
  248.     sets.buff['Mana Wall'] = {feet="Wicce sabots"}
  249.  
  250.     sets.magic_burst = {neck="Mizukage-no-Kubikazari"}
  251.  
  252.     -- Engaged sets
  253.  
  254.     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  255.     -- sets if more refined versions aren't defined.
  256.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  257.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  258.    
  259.     -- Normal melee group
  260.     sets.engaged = {
  261.         head="Zelus Tiara",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  262.         body="Hagondes Coat",hands="Bokwus Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  263.         back="Umbra Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  264. end
  265.  
  266. -------------------------------------------------------------------------------------------------------------------
  267. -- Job-specific hooks for standard casting events.
  268. -------------------------------------------------------------------------------------------------------------------
  269.  
  270. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  271. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  272. function job_precast(spell, action, spellMap, eventArgs)
  273.     if spellMap == 'Cure' or spellMap == 'Curaga' then
  274.         gear.default.obi_waist = "Goading Belt"
  275.     elseif spell.skill == 'Elemental Magic' then
  276.         gear.default.obi_waist = "Sekhmet Corset"
  277.         if state.CastingMode.value == 'Death' then
  278.             classes.CustomClass = 'Death'
  279.         end
  280.     end
  281. end
  282.  
  283.  
  284. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  285. function job_midcast(spell, action, spellMap, eventArgs)
  286.  
  287. end
  288.  
  289. function job_post_midcast(spell, action, spellMap, eventArgs)
  290.     if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  291.         equip(sets.magic_burst)
  292.     end
  293. end
  294.  
  295. function job_aftercast(spell, action, spellMap, eventArgs)
  296.     -- Lock feet after using Mana Wall.
  297.     if not spell.interrupted then
  298.         if spell.english == 'Mana Wall' then
  299.             enable('feet')
  300.             equip(sets.buff['Mana Wall'])
  301.             disable('feet')
  302.         elseif spell.skill == 'Elemental Magic' then
  303.             state.MagicBurst:reset()
  304.         end
  305.     end
  306. end
  307.  
  308. -------------------------------------------------------------------------------------------------------------------
  309. -- Job-specific hooks for non-casting events.
  310. -------------------------------------------------------------------------------------------------------------------
  311.  
  312. -- Called when a player gains or loses a buff.
  313. -- buff == buff gained or lost
  314. -- gain == true if the buff was gained, false if it was lost.
  315. function job_buff_change(buff, gain)
  316.     -- Unlock feet when Mana Wall buff is lost.
  317.     if buff == "Mana Wall" and not gain then
  318.         enable('feet')
  319.         handle_equipping_gear(player.status)
  320.     end
  321. end
  322.  
  323. -- Handle notifications of general user state change.
  324. function job_state_change(stateField, newValue, oldValue)
  325.     if stateField == 'Offense Mode' then
  326.         if newValue == 'Normal' then
  327.             disable('main','sub','range')
  328.         else
  329.             enable('main','sub','range')
  330.         end
  331.     end
  332. end
  333.  
  334.  
  335. -------------------------------------------------------------------------------------------------------------------
  336. -- User code that supplements standard library decisions.
  337. -------------------------------------------------------------------------------------------------------------------
  338.  
  339. -- Custom spell mapping.
  340. function job_get_spell_map(spell, default_spell_map)
  341.     if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
  342.         --[[ No real need to differentiate with current gear.
  343.         if lowTierNukes:contains(spell.english) then
  344.             return 'LowTierNuke'
  345.         else
  346.             return 'HighTierNuke'
  347.         end
  348.         --]]
  349.     end
  350. end
  351.  
  352. -- Modify the default idle set after it was constructed.
  353. function customize_idle_set(idleSet)
  354.     if player.mpp < 51 then
  355.         idleSet = set_combine(idleSet, sets.latent_refresh)
  356.     end
  357.    
  358.     return idleSet
  359. end
  360.  
  361. function job_post_midcast(spell, action, spellMap, eventArgs)
  362.     if spell.skill == 'Elemental Magic' and state.MagicBurst then
  363.         equip(sets.magic_burst)
  364.     end
  365. end
  366.  
  367. -- Function to display the current relevant user state when doing an update.
  368. function display_current_job_state(eventArgs)
  369.     display_current_caster_state()
  370.     eventArgs.handled = true
  371. end
  372.  
  373. -------------------------------------------------------------------------------------------------------------------
  374. -- Utility functions specific to this job.
  375. -------------------------------------------------------------------------------------------------------------------
  376.  
  377. -- Select default macro book on initial load or subjob change.
  378. function select_default_macro_book()
  379.     set_macro_page(1, 15)
  380. end
Advertisement
Add Comment
Please, Sign In to add comment