Advertisement
Loire

Arivale

Sep 13th, 2015
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 23.18 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. -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
  14. function job_setup()
  15.     indi_timer = ''
  16.     indi_duration = 255
  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','Accuracy','Dual')
  26.     state.CastingMode:options('Normal','Accuracy')
  27.     state.IdleMode:options('Normal', 'PDT', 'MDT')
  28.     state.MagicBurst = M(false, 'Magic Burst')
  29.      
  30.     gear.default.obi_waist = "yamabuki-no-obi"
  31.     gear.default.obi_back = "Toro Cape"
  32.     gear.default.obi_ring = "Shiva Ring"
  33.  
  34.     -- Additional local binds
  35.     send_command('bind !` gs c toggle MagicBurst') -- Alt ` turns magic burst set on and off
  36.    
  37.     select_default_macro_book()
  38.      
  39. end
  40.  
  41. lowtier = S{"Fire", "Fire II", "Stone", "Stone II", "Blizzard", "Blizzard II", "Aero", "Aero II", "Water", "Water II", "Thunder", "Thunder II", "Fira", "Blizzara", "Aerora", "Stonera", "Thundara", "Watera"}
  42. hightier = S{"Fire III", "Fire IV", "Fire V", "Stone IV", "Stone III", "Stone V", "Blizzard V", "Blizzard IV", "Blizzard III", "Aero V", "Aero IV", "Aero III", "Water V", "Water IV", "Water III", "Thunder V", "Thunder IV", "Thunder III", "Fira II", "Blizzara II", "Aerora II", "Stonera II", "Thundara II", "Watera II"}
  43.  
  44.  
  45. -- Define sets and vars used by this job file.
  46. function init_gear_sets()
  47.  
  48.     --------------------------------------
  49.     -- Precast sets
  50.     --------------------------------------
  51.  
  52.     -- Precast sets to enhance JAs
  53.     sets.precast.JA.Bolster = {body="Bagua Tunic +1"}
  54.     sets.precast.JA['Life cycle'] = {body="Geomancy Tunic +1",head="Azimuth hood +1"}
  55.     sets.precast.JA['Curative Recantation'] = {hands="Bagua Mitaines +1"}
  56.     sets.precast.JA['Mending Halation'] = {legs="Bagua Pants +1"}
  57.     sets.precast.JA['Radial Arcana'] = {feet="Bagua Sandals +1"}
  58.     sets.precast.JA['Primal Zeal'] = {head="Bagua galero +1"}  
  59.     sets.precast.JA['Cardinal Chant'] = {head="geomancy galero +1"}
  60.  
  61.  
  62.     -- Fast cast sets for spells
  63.  
  64.     sets.precast.FC = {
  65.     main="Marin staff +1",
  66.     sub="vivid strap",
  67.     head="Nahtirah Hat",
  68.     body="Vanir Cotehardie",
  69.     hands="Magavan Mitts",
  70.     legs="Geo. Pants +1",
  71.     feet="Regal Pumps +1",
  72.     neck="Voltsurge Torque",
  73.     waist="Witful Belt",
  74.     left_ear="Enchntr. Earring +1",
  75.     right_ear="Loquac. Earring",
  76.     left_ring="Prolix Ring",
  77.     right_ring="Lebeche Ring",
  78.     back="Lifestream Cape",
  79. }
  80.  
  81.     sets.precast.FC.Cure = set_combine(sets.precast.FC, {
  82.     main="Vadose Rod",
  83.     sub="Genbu's Shield",
  84.     body="Heka's Kalasiris",
  85.     waist="Acerbic Sash +1",
  86.     back="Pahtli Cape",
  87. })
  88.  
  89.     sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {
  90.     head="Umuthi Hat",
  91.     hands="Carapacho Cuffs",
  92.     waist="Siegel Sash",
  93. })  
  94.  
  95.      
  96.     sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
  97.     main="Ngqoqwanb",
  98.     hands="Bagua Mitaines +1",
  99.     neck="Stoicheion Medal",
  100. })
  101.  
  102.     sets.precast.FC.Impact = set_combine(sets.precast.FC['Elemental Magic'], {head=empty,body="Twilight Cloak"})
  103.      
  104.      
  105.     -- Weaponskill sets
  106.     -- Default set for any weaponskill that isn't any more specifically defined
  107.     sets.precast.WS = {
  108.     ammo="Hasty Pinion +1",
  109.     head="Espial cap",
  110.     body="Onca Suit",
  111.     neck="fotia Gorget",
  112.     waist="fotia Belt",
  113.     left_ear="Moonshade Earring",
  114.     right_ear="Brutal Earring",
  115.     left_ring="levia. Ring +1",
  116.     right_ring="Ramuh Ring +1",
  117.     back="Refraction Cape",
  118. }
  119.  
  120.     -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
  121.          
  122.         sets.precast.WS['Flash Nova'] = set_combine(sets.precast.WS,{  
  123.     ammo="Memoria sachet",
  124.     head="Helios Band",
  125.     body="Azimuth Coat +1",
  126.     hands="Helios Gloves",
  127.     legs="Hagondes Pants +1",
  128.     feet="Helios Boots",
  129.     neck="Eddy Necklace",
  130.     waist="yamabuki-no-obi",
  131.     left_ear="Friomisi Earring",
  132.     right_ear="crematio Earring",
  133.     left_ring="Shiva Ring",
  134.     right_ring=gear.ElementalRing,
  135.     back=gear.ElementalCape,})
  136.          
  137.         sets.precast.WS['Black Halo'] = sets.precast.WS['Flash Nova']
  138.      
  139.              
  140.     sets.precast.WS['Aeolian Edge'] = set_combine(sets.precast.WS['Flash Nova'],{back="Kaikias' cape",})    
  141.  
  142. sets.precast.WS['Gust Slash'] =sets.precast.WS['Flash Nova']
  143.              
  144.     sets.precast.WS['Starlight'] = sets.precast.WS['Flash Nova']
  145.  
  146.     sets.precast.WS['Moonlight'] = sets.precast.WS['Flash Nova']
  147.          
  148.  
  149.     --------------------------------------
  150.     -- Midcast sets
  151.     --------------------------------------
  152.  
  153.     -- Base fast recast for spells
  154.     sets.midcast.FastRecast =set_combine(sets.midcast.fastcast)
  155.  
  156. sets.midcast.Regen = set_combine(sets.midcast.fastcast, {
  157.     main="bolelabunga",
  158.     body="Telchine Chas."})
  159.      
  160.     sets.midcast['Enhancing Magic']={
  161.     main="Kirin's Pole",
  162.     sub="Fulcio Grip",
  163.     head="Umuthi Hat",
  164.     hands="bagua mitaines +1",
  165.     body={ name="Telchine Chas.", augments={'Mag. Acc.+12 "Mag.Atk.Bns."+12','"Conserve MP"+4','Enh. Mag. eff. dur. +4',}},
  166.     legs="bagua Pants +1",
  167.     feet="helios Boots",
  168.     neck="Colossus's Torque",
  169.     waist="Cascade Belt",
  170.     left_ear="Andoaa Earring",
  171.     right_ear="Magnetic Earring",
  172.     back="Merciful Cape",
  173. }
  174.      
  175.     sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {
  176.     back="grapevine cape"})
  177.  
  178.     sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {
  179.     waist="Emphatikos rope"})
  180.  
  181.     sets.midcast.Geomancy ={
  182.     main="Idris",
  183.     sub="Genbu's Shield",
  184.     range="Dunna",
  185.     head="Azimuth hood +1",
  186.     body="Bagua Tunic +1",
  187.     hands="Geo. Mitaines +1",
  188.     legs="Geomancy Pants +1",
  189.     feet="azimuth gaiters +1",
  190.     waist="Isa Belt",
  191.     left_ear="magnetic Earring",
  192.     right_ear="Gifted Earring",
  193.     right_ring="Renaye Ring",
  194.     back="Lifestream Cape",
  195. }
  196.      
  197.     sets.midcast.Geomancy.Indi =set_combine(sets.midcast.Geomancy, {legs="bagua pants +1"})
  198.  
  199.  
  200.     sets.midcast.Cure = {
  201.     head="Vanya Hood",
  202.     body="Vrikodara Jupon",
  203.     hands="telchine Gloves",
  204.     legs="Vanya Slops",
  205.     feet="Regal Pumps +1",
  206.     neck="Colossus's Torque",
  207.     waist="Hachirin-No-Obi",
  208.     left_ear="Gifted Earring",
  209.     right_ear="Magnetic Earring",
  210.     left_ring="Leviathan Ring +1",
  211.     right_ring=gear.ElementalRing,
  212.     back="Tempered Cape",
  213. }
  214.          
  215.         sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {
  216.     neck="Stone Gorget",
  217.     waist="siegel sash",
  218.     right_ear="Earthcry Earring",
  219. })  
  220.              
  221.     sets.midcast.Curaga = sets.midcast.Cure
  222.  
  223.     sets.midcast.Protectra = {ring1="Sheltered Ring"}
  224.  
  225.     sets.midcast.Shellra = {ring1="Sheltered Ring"}
  226.  
  227.         -- Custom Spell Classes
  228.     sets.midcast['Enfeebling Magic'] = {
  229.     main="Marin staff +1",
  230.     sub="Mephitis Grip",
  231.     ammo="Memoria sachet",
  232.     head="Befouled Crown",
  233.     body="Vanya Robe",
  234.     hands="azimuth gloves +1",
  235.     legs="Mes'yohi slacks",
  236.     feet="Artsieq Boots",
  237.     neck="eddy necklace",
  238.     waist="yamabuki-no-obi",
  239.     left_ear="Gwati Earring",
  240.     right_ear="Enchntr. Earring +1",
  241.     left_ring="Sangoma Ring",
  242.     right_ring="Shiva Ring",
  243.     back="lifestream Cape",
  244. }
  245.  
  246.     sets.midcast.IntEnfeebles = set_combine(sets.midcast['Enfeebling Magic'], {
  247.      
  248. })  
  249.  
  250.     sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
  251.  
  252.     sets.midcast['Dark Magic'] = {
  253.     main="Marin staff +1",
  254.     sub="Caecus Grip",
  255.     ammo="Memoria sachet",
  256.     head="Pixie hairpin +1",
  257.     body="Geo. Tunic +1",
  258.     hands="azimuth gloves +1",
  259.     legs="Azimuth Tights +1",
  260.     feet="helios Boots",
  261.     neck="Aesir Torque",
  262.     waist="Yamabuki-no-Obi",
  263.     left_ear="Abyssal Earring",
  264.     right_ear="Gwati Earring",
  265.     left_ring="shiva Ring",
  266.     right_ring="sangoma Ring",
  267.     back="Merciful Cape",
  268. }
  269.          
  270.         sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
  271.     waist="Austerity Belt +1",
  272.     left_ear="Abyssal Earring",
  273.     right_ear="Hirudinea Earring",
  274.     right_ring="Excelsis Ring",
  275. })
  276.      
  277.     sets.midcast.Aspir = sets.midcast.Drain
  278.      
  279.  
  280.  
  281.     sets.midcast.Stun = {
  282.     main="Marin staff +1",
  283.     sub="Mephitis Grip",
  284.     ammo="Hasty Pinion +1",
  285.     head="Bagua Galero +1",
  286.     body="Vanir Cotehardie",
  287.     hands="Lurid Mitts",
  288.     legs="Geo. Pants +1",
  289.     feet="Artsieq Boots",
  290.     neck="Voltsurge Torque",
  291.     waist="Cetl Belt",
  292.     left_ear="Gwati Earring",
  293.     right_ear="Loquac. Earring",
  294.     left_ring="Prolix Ring",
  295.     right_ring="Sangoma Ring",
  296.     back="Lifestream Cape",
  297. }
  298.              
  299.  
  300.             sets.midcast.Bolster = {body="Bagua Tunic +1"}
  301.         sets.midcast['Life Cycle'] = {body="Geo. Tunic +1",
  302.     head="Azimuth hood +1"}
  303.         sets.midcast['Mending Halation'] = {legs="Bagua Pants +1"}
  304.         sets.midcast['Radial Arcana'] = {feet="Bagua Sandals +1"}
  305.         sets.midcast.Bolster.Pet = {body="Bagua Tunic +1"}
  306.         sets.midcast['Life Cycle'].Pet = {body="Geo. Tunic +1",
  307.     head="Azimuth hood +1"}
  308.         sets.midcast['Mending Halation'].Pet = {legs="Bagua Pants +1"}        sets.midcast.Bolster.Pet.Indi = {body="Bagua Tunic +1"}
  309.         sets.midcast['Life Cycle'].Pet.Indi = {body="Geo. Tunic +1",
  310.     head="Azimuth hood +1"}
  311.         sets.midcast['Mending Halation'].Pet.Indi = {legs="Bagua Pants +1"}
  312.  
  313.           -- Elemental Magic sets
  314.      
  315.     sets.midcast['Elemental Magic'] = {
  316.     main="Marin Staff +1",
  317.     sub="Willpower Grip",
  318.     ammo="ghastly tathlum",
  319.     head="Helios Band",
  320.     body="Witching Robe",
  321.     hands="Helios Gloves",
  322.     legs="Hagondes Pants +1",
  323.     feet="Helios Boots",
  324.     neck="Eddy Necklace",
  325.     waist="Yamabuki-no-Obi",
  326.     left_ear="Friomisi Earring",
  327.     right_ear="Novio Earring",
  328.     left_ring="Shiva Ring",
  329.     right_ring="Acumen Ring",
  330.     back="Argochampsa Mantle",
  331. }
  332.  
  333.     sets.midcast['Elemental Magic']['Accuracy']=set_combine(sets.midcast['Elemental Magic'], {
  334.     waist=gear.ElementalObi,
  335. })
  336.        sets.midcast.Impact = {
  337.     main="Marin staff +1",
  338.     sub="Elder's Grip +1",
  339.     ammo="Memoria sachet",
  340.     head=empty,
  341.     body="Twilight Cloak",
  342.     hands="azimuth gloves +1",
  343.     legs="Azimuth Tights +1",
  344.     feet="Helios Boots",
  345.     neck="Eddy Necklace",
  346.     waist=gear.ElementalObi,
  347.     left_ear="Gwati Earring",
  348.     right_ear="Crematio Earring",
  349.     left_ring="Shiva Ring",
  350.     right_ring="Shiva Ring",
  351.     back="Toro Cape",
  352. }  
  353.      
  354.     --------------------------------------
  355.     -- Idle/resting/defense/etc sets
  356.     --------------------------------------
  357.  
  358.     -- Resting sets
  359.     sets.resting = {
  360.     main="Bolelabunga",
  361.     sub="Genbu's Shield",
  362.     range="Dunna",
  363.     head="none",
  364.     body="Respite Cloak",
  365.     hands="Bagua Mitaines",
  366.     legs="Assid. Pants +1",
  367.     feet="Geo. Sandals",
  368.     neck="Twilight Torque",
  369.     waist="Fucho-no-Obi",
  370.     left_ear="Moonshade Earring",
  371.     right_ear="Merman's Earring",
  372.     left_ring="Sheltered Ring",
  373.     right_ring="Renaye Ring",
  374.     back="Kumbira Cape",
  375. }
  376.  
  377.  
  378.     -- Idle sets
  379.  
  380.     sets.idle = sets.resting
  381.  
  382.     sets.idle.PDT = {
  383.     main="Mafic cudgel",
  384.     sub="Genbu's Shield",
  385.         head="Hagondes Hat +1",
  386.         neck="Twilight Torque",
  387.         ear1="Merman's Earring",
  388.         ear2="Merman's Earring",
  389.         body="Hagondes Coat +1",
  390.         hands="hagondes cuffs +1",
  391.         ring1="shadow Ring",
  392.         ring2="dark Ring",
  393.         back="shadow mantle",
  394.         waist="Flax Sash",
  395.         legs="hagondes Pants +1",
  396.         feet="hagondes sabots +1"}
  397.          
  398.         sets.idle.MDT = set_combine(sets.idle.PDT, {
  399.     main="marine staff +1",
  400.     sub="vallus grip",})    
  401.  
  402.     -- .Pet sets are for when Luopan is present.
  403.     sets.idle.Pet = set_combine(sets.resting, {main={ name="Nehushtan", augments={'Pet: DEF+13','Pet: "Regen"+3','STR+15 CHR+15',}},
  404.     sub="Genbu's Shield",
  405.     head="Azimuth hood +1",
  406.     body={ name="Telchine Chas.", augments={'Pet: Accuracy+18 Pet: Rng. Acc.+18','Pet: "Regen"+2',}},
  407.     legs="helios spats",
  408.     hands={ name="Helios Gloves", augments={'Pet: Accuracy+19 Pet: Rng. Acc.+19','Pet: "Regen"+3',}},
  409.     feet="Bagua Sandals +1",
  410.     waist="Isa Belt",
  411.     back="Lifestream Cape",
  412.     ear1="Handler's Earring +1",
  413. })
  414.  
  415.     sets.idle.PDT.Pet = set_combine(sets.idle.PDT, {main={ name="Nehushtan", augments={'Pet: DEF+13','Pet: "Regen"+3','STR+15 CHR+15',}},
  416.     sub="Genbu's Shield",
  417.     head="Azimuth hood +1",
  418.     body={ name="Telchine Chas.", augments={'Pet: Accuracy+18 Pet: Rng. Acc.+18','Pet: "Regen"+2',}},
  419.       hands={ name="Helios Gloves", augments={'Pet: Accuracy+19 Pet: Rng. Acc.+19','Pet: "Regen"+3',}},
  420.     legs="helios spats",
  421.     feet="Bagua Sandals +1",
  422.     waist="Isa Belt",
  423.     back="Lifestream Cape",
  424.     ear1="Handler's Earring +1",
  425. })
  426.  
  427.     sets.idle.MDT.Pet = set_combine(sets.idle.MDT, {main={ name="Nehushtan", augments={'Pet: DEF+13','Pet: "Regen"+3','STR+15 CHR+15',}},
  428.     sub="Genbu's Shield",
  429.     head="Azimuth hood +1",
  430.     body={ name="Telchine Chas.", augments={'Pet: Accuracy+18 Pet: Rng. Acc.+18','Pet: "Regen"+2',}},
  431.       hands={ name="Helios Gloves", augments={'Pet: Accuracy+19 Pet: Rng. Acc.+19','Pet: "Regen"+3',}},
  432.     legs="helios spats",
  433.     feet="Bagua Sandals +1",
  434.     waist="Isa Belt",
  435.     back="Lifestream Cape",
  436.     ear1="Handler's Earring +1",
  437. })
  438.  
  439.     -- .Indi sets are for when an Indi-spell is active.
  440.     sets.idle.Indi = sets.resting
  441.      
  442.     sets.idle.PDT.Indi = sets.idle.PDT
  443.      
  444.     sets.idle.MDT.Indi = sets.idle.MDT
  445.        
  446.     sets.idle.PDT.Pet.Indi = sets.idle.PDT.Pet
  447.      
  448.     sets.idle.MDT.Pet.Indi = sets.idle.MDT.Pet
  449.  
  450.     sets.idle.Town = {
  451.     main="Idris",
  452.     sub="Genbu's Shield",
  453.     range="Dunna",
  454.     head="Azimuth Hood +1",
  455.     body="Azimuth Coat +1",
  456.     hands="Azimuth Gloves +1",
  457.     legs="Azimuth Tights +1",
  458.     feet="Azimuth Gaiters +1",
  459.     neck="Twilight Torque",
  460.     waist="Fucho-no-Obi",
  461.     left_ear="Merman's Earring",
  462.     right_ear="Merman's Earring",
  463.     left_ring="Sheltered Ring",
  464.     right_ring="Renaye Ring",
  465.     back="Lifestream Cape",
  466. }
  467.  
  468.     sets.idle.Weak = sets.resting
  469.  
  470.     -- Defense sets
  471.  
  472.     sets.defense.PDT = sets.idle.PDT
  473.  
  474.     sets.defense.MDT = sets.idle.MDT
  475.  
  476.     sets.Kiting = {feet="Geo. Sandals +1"}
  477.  
  478.     sets.latent_refresh = {waist="Fucho-no-obi"}
  479.      
  480.      
  481.  
  482.  
  483.     --------------------------------------
  484.     -- Engaged sets
  485.     --------------------------------------
  486.  
  487.     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  488.     -- sets if more refined versions aren't defined.
  489.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  490.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  491.  
  492.     -- Normal melee group
  493.     sets.engaged = {
  494.     main="Idris",
  495.     sub="Genbu's Shield",
  496.     ammo="Hasty Pinion +1",
  497.     head="telchine cap",
  498.     body="Onca Suit",
  499.     neck="Asperity Necklace",
  500.     waist="Windbuffet Belt",
  501.     left_ear="Steelflash Earring",
  502.     right_ear="Bladeborn Earring",
  503.     left_ring="rajas Ring",
  504.     right_ring="k'ayres ring +1",
  505.     back="Kayapa Cape",
  506. }
  507.  
  508.     sets.engaged.Accuracy = set_combine(sets.engaged,{
  509.     neck="Subtlety Spectacles",
  510.     right_ear="Zennaroi Earring",
  511.     waist="Olseni Belt",
  512.     left_ring="Ramuh Ring +1",
  513.     right_ring="Enlivened Ring",
  514. }   )  
  515.  
  516.     sets.engaged.Dual = set_combine(sets.engaged,{
  517.     sub="Nehushtan",
  518.     left_ear="Heartseeker Earring",
  519.     right_ear="Dudgeon Earring",
  520.     waist="shetal stone",
  521. }   )
  522.     --------------------------------------
  523.     -- Custom buff sets
  524.     --------------------------------------
  525.     sets.magic_burst = {
  526.     neck="Mizukage-no-Kubikazari",
  527.     right_ring="Mujin Band",
  528.     }
  529.    
  530. end
  531.  poison = 0
  532. -------------------------------------------------------------------------------------------------------------------
  533. -- Job-specific hooks for standard casting events.
  534. -------------------------------------------------------------------------------------------------------------------
  535. function job_aftercast(spell, action, spellMap, eventArgs)
  536.     if not spell.interrupted then
  537.         if spell.english:startswith('Indi') then
  538.             if not classes.CustomIdleGroups:contains('Indi') then
  539.                 classes.CustomIdleGroups:append('Indi')
  540.             end
  541.             send_command('@timers d "'..indi_timer..'"')
  542.             indi_timer = spell.english
  543.             send_command('@timers c "'..indi_timer..'" '..indi_duration..' down spells/00136.png')
  544.         elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
  545.             send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
  546.         elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
  547.             send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
  548.         end
  549.     elseif not player.indi then
  550.         classes.CustomIdleGroups:clear()
  551.     end
  552. end
  553. -------------------------------------------------------------------------------------------------------------------
  554. -- Job-specific hooks for non-casting events.
  555. -------------------------------------------------------------------------------------------------------------------
  556.  
  557. -- Called when a player gains or loses a buff.
  558. -- buff == buff gained or lost
  559. -- gain == true if the buff was gained, false if it was lost.
  560. function job_buff_change(buff, gain)
  561.     if player.indi and not classes.CustomIdleGroups:contains('Indi')then
  562.         classes.CustomIdleGroups:append('Indi')
  563.         handle_equipping_gear(player.status)
  564.     elseif classes.CustomIdleGroups:contains('Indi') and not player.indi then
  565.         classes.CustomIdleGroups:clear()
  566.         handle_equipping_gear(player.status)
  567.     end
  568.     if buff == "poison" then
  569.         if gain then
  570.             poison = 1
  571.             add_to_chat(255, '*-*-*-*-*-*-*-*-* [ Poisoned ] *-*-*-*-*-*-*-*-*')
  572.         else
  573.             poison = 0
  574.             add_to_chat(255, '*-*-*-*-*-*-*-*-* [ Poison OFF ] *-*-*-*-*-*-*-*-*')
  575.         end
  576.     end
  577. end
  578.  
  579. function job_state_change(stateField, newValue, oldValue)
  580.     if stateField == 'Offense Mode' then
  581.         if newValue == 'Dual' then
  582.             disable('main','sub','range')
  583.         else
  584.             enable('main','sub','range')
  585.         end
  586.     end
  587. end
  588.  
  589. -- Run after the general midcast() is done.
  590. function job_post_midcast(spell, action, spellMap, eventArgs)
  591.     if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  592.         equip(sets.magic_burst)
  593.     end
  594. end
  595.  
  596. function job_post_midcast(spell, action, spellMap, eventArgs)
  597.     if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  598.         equip(sets.magic_burst)
  599.      
  600.         -- this if for low tier
  601.     else lowtier:contains(spell.name) then
  602.         add_to_chat(204, '*-*-*-*-*-*-*-*-* [ Low TIER ] *-*-*-*-*-*-*-*-*')
  603.         if buffactive.Poison then
  604.             equip(sets.midcast['Elemental Magic'], {main="Mindmelter"})
  605.         elseif spell.element == 'Earth' then
  606.             equip(sets.midcast['Elemental Magic'], {neck="Quanpur Necklace"})
  607.         elseif spell.element == 'Ice' then
  608.             equip(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})  
  609.         elseif spell.element == 'Wind' then
  610.             equip(sets.midcast['Elemental Magic'], {Main="Marin Staff +1", Back="Kaikias' Cape"})
  611.         end
  612.          
  613.  
  614.         if spell.element == world.day_element or spell.element == world.weather_element then
  615.             equip(sets.midcast['Elemental Magic'], {waist="Hachirin-No-Obi"})
  616.         end
  617.       else
  618.         -- high tier
  619.         add_to_chat(204, '*-*-*-*-*-*-*-*-* [ High TIER ] *-*-*-*-*-*-*-*-*')
  620.         if buffactive.Poison then
  621.             equip(sets.midcast['Elemental Magic']['Accuracy'], {main="Mindmelter"})
  622.         elseif spell.element == 'Earth' then
  623.             equip(sets.midcast['Elemental Magic']['Accuracy'], {neck="Quanpur Necklace"})
  624.         elseif spell.element == 'Ice' then
  625.             equip(sets.midcast['Elemental Magic']['Accuracy'], {main="Ngqoqwanb"})  
  626.         elseif spell.element == 'Wind' then
  627.             equip(sets.midcast['Elemental Magic'], {Main="Marin Staff +1", Back="Kaikias' Cape"})
  628.         end
  629.          
  630.  
  631.         if spell.element == world.day_element or spell.element == world.weather_element then
  632.             equip(sets.midcast['Elemental Magic'], {waist="Hachirin-No-Obi"})
  633.         end
  634.      
  635.       end
  636.  
  637.     end
  638.  
  639. -------------------------------------------------------------------------------------------------------------------
  640. -- User code that supplements standard library decisions.
  641. -------------------------------------------------------------------------------------------------------------------
  642.  
  643. function job_get_spell_map(spell, default_spell_map)
  644.     if spell.action_type == 'Magic' then
  645.         if spell.skill == 'Enfeebling Magic' then
  646.             if spell.type == 'WhiteMagic' then
  647.                 return 'MndEnfeebles'
  648.             else
  649.                 return 'IntEnfeebles'
  650.             end
  651.         elseif spell.skill == 'Geomancy' then
  652.             if spell.english:startswith('Indi') then
  653.                 return 'Indi'
  654.             end
  655.             elseif spell.skill == 'Elemental Magic' then
  656.         end
  657.     end
  658. end
  659.  
  660. function customize_idle_set(idleSet)
  661.     if player.mpp < 51 then
  662.         idleSet = set_combine(idleSet, sets.latent_refresh)
  663.     end
  664.     return idleSet
  665. end
  666.  
  667. -- Called by the 'update' self-command.
  668. function job_update(cmdParams, eventArgs)
  669.     classes.CustomIdleGroups:clear()
  670.     if player.indi then
  671.         classes.CustomIdleGroups:append('Indi')
  672.     end
  673. end
  674.  
  675. -- Function to display the current relevant user state when doing an update.
  676. function display_current_job_state(eventArgs)
  677.     display_current_caster_state()
  678.     eventArgs.handled = true
  679. end
  680. -------------------------------------------------------------------------------------------------------------------
  681. -- Utility functions specific to this job.
  682. -------------------------------------------------------------------------------------------------------------------
  683.  
  684. -- Select default macro book on initial load or subjob change.
  685. function select_default_macro_book()
  686.     --set_macro_page(1, 15)
  687. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement