Guest User

Kincard NIN

a guest
Nov 19th, 2014
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 30.06 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.     state.Buff.Migawari = buffactive.migawari or false
  17.     state.Buff.Doom = buffactive.doom or false
  18.     state.Buff.Yonin = buffactive.Yonin or false
  19.     state.Buff.Innin = buffactive.Innin or false
  20.     state.Buff.Futae = buffactive.Futae or false
  21.  
  22.     determine_haste_group()
  23. end
  24.  
  25. -------------------------------------------------------------------------------------------------------------------
  26. -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
  27. -------------------------------------------------------------------------------------------------------------------
  28.  
  29. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  30. function user_setup()
  31.     state.OffenseMode:options('Normal', 'Acc')
  32.     state.HybridMode:options('Normal', 'Evasion', 'PDT')
  33.     state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
  34.     state.CastingMode:options('Normal', 'Resistant')
  35.     state.PhysicalDefenseMode:options('PDT', 'Evasion')
  36.  
  37.     gear.MovementFeet = {name="Danzo sune-ate"}
  38.     gear.DayFeet = "Danzo sune-ate"
  39.     gear.NightFeet = "Hachi. Kyahan +1"
  40.    
  41.     select_movement_feet()
  42.     select_default_macro_book()
  43. end
  44.  
  45.  
  46. -- Define sets and vars used by this job file.
  47. function init_gear_sets()
  48.     --------------------------------------
  49.     -- Start defining the sets
  50.     --------------------------------------
  51.  
  52.     -- Precast Sets
  53.  
  54.     -- Precast sets to enhance JAs
  55.     sets.precast.JA['Mijin Gakure'] = {legs="Mochi. Hakama +1"}
  56.  
  57.     -- Waltz set (chr and vit)
  58.     sets.precast.Waltz = {ammo="Sonia's Plectrum",
  59.         head="Mochi. Hatsuburi +1",neck="Twilight Torque",
  60.         body="Hachi. Chainmail +1",hands="Mochizuki Tekko +1",ring1="Defending Ring",ring2="Dark Ring",
  61.         back="Mollusca Mantle",waist="Caudata Belt",legs="Hachi. Hakama +1",feet="Mochi. Kyahan +1"}
  62.  
  63.     -- Don't need any special gear for Healing Waltz.
  64.     sets.precast.Waltz['Healing Waltz'] = {}
  65.  
  66.     -- Set for acc on steps, since Yonin drops acc a fair bit
  67.     sets.precast.Step = {ammo="Fire Bomblet",
  68.         head="Mochi. Hatsuburi +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  69.         body="Manibozho Jerkin",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
  70.         back="Letalis Mantle",waist="Chaac Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  71.     -- Fast cast sets for spells
  72.  
  73.     sets.precast.FC = {ammo="Impatiens",
  74.         head="Ejekamal Mask",neck="Orunmila's Torque",ear1="Loquacious Earring",ear2="Phawaylla Earring",
  75.         body="Mirke Wardecors",hands="Buremte Gloves",ring1="Prolix Ring",ring2="Weather. Ring",
  76.         back="Mujin Mantle",waist="Twilight Belt",legs="Kaabnax Trousers",feet="Iga Kyahan +2"}
  77.  
  78.     sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads",
  79.         body="Mochi. Chainmail +1"})
  80.  
  81.        
  82.     -- Weaponskill sets
  83.     -- Default set for any weaponskill that isn't any more specifically defined
  84.     sets.precast.WS = {ammo="Fire Bomblet",
  85.         head="Uk'uxkaj Cap",neck="Hope Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  86.         body="Hachi. Chainmail +1",hands="Mochi. Tekko +1",ring1="Rajas Ring",ring2="Epona's Ring",
  87.         back="Atheling Mantle",waist="Caudata Belt",legs="Manibozho Brais",feet="Mochi. Kyahan +1"}
  88.  
  89.     -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
  90.     sets.precast.WS['Blade: Jin'] = set_combine(sets.precast.WS, {ammo="Yetshila",
  91.         neck="Asperity Necklace",ear1="Brutal Earring",ear2="Moonshade Earring"})
  92.  
  93.     sets.precast.WS['Blade: Hi'] = set_combine(sets.precast.WS, {neck="Hope Torque",ear1="Brutal Earring",ear2="Moonshade Earring",
  94.         ring1="Dumakulem's Ring",
  95.         back="Rancorous Mantle",legs="Mochi. Hakama +1"})
  96.     sets.precast.WS['Blade: Hi'].Mod = set_combine(sets.precast.WS['Blade: Hi'], {})
  97.  
  98.     sets.precast.WS['Blade: Shun'] = set_combine(sets.precast.WS, {neck="Thunder Gorget",waist="Thunder Belt"})
  99.  
  100.     sets.precast.WS['Blade: Kamu'] = set_combine(sets.precast.WS, {neck="Thunder Gorget"})
  101.     sets.precast.WS['Blade: Kamu'].Mod = set_combine(sets.precast.WS['Blade: Kamu'], {})
  102.  
  103.     sets.precast.WS['Blade: Ku'] = set_combine(sets.precast.WS, {})
  104.     sets.precast.WS['Blade: Ku'].Mod = set_combine(sets.precast.WS['Blade: Ku'], {})
  105.  
  106.     sets.precast.WS['Aeolian Edge'] = {}
  107.  
  108.  
  109.     -- Midcast Sets
  110.     sets.midcast.FastRecast = {ammo="Impatiens",
  111.         head="Ejekamal Mask",neck="Orunmila's Torque",ear1="Loquacious Earring",ear2="Phawaylla Earring",
  112.         body="Mirke Wardecors",hands="Buremte Gloves",ring1="Prolix Ring",ring2="Weather. Ring",
  113.         back="Mujin Mantle",waist="Twilight Belt",legs="Hachi. Hakama +1",feet="Iga Kyahan +2"}
  114.  
  115.     -- any ninjutsu cast on self
  116.     sets.midcast.SelfNinjutsu = set_combine(sets.midcast.FastRecast, {hands="Mochizuki Tekko +1"})
  117.  
  118.     sets.midcast.Utsusemi = set_combine(sets.midcast.SelfNinjutsu, {feet="Iga Kyahan +2"})
  119.  
  120.     -- any ninjutsu cast on enemies
  121.     sets.midcast.Ninjutsu = {
  122.         head="Hachi. Hatsu. +1",neck="Ninjutsu Torque",ear1="Loquac. Earring",ear2="Stealth Earring",
  123.         body="Hachi. Chain. +1",hands="Mochizuki Tekko +1",ring1="Prolix Ring",ring2="Weather. Ring",
  124.         back="Astute Cape",waist="Cimmerian Sash",legs="Hachi. Hakama +1",feet="Mochi. Kyahan +1"}
  125.  
  126.     --sets.midcast.Ninjutsu.Resistant = set_combine(sets.midcast.Ninjutsu, {})
  127.  
  128.  
  129.     -- Sets to return to when not performing an action.
  130.  
  131.     -- Resting sets
  132.     sets.resting = {}
  133.  
  134.  
  135.     -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  136.     sets.idle = {ammo="Demonry Stone",
  137.         head="Otronif Mask",neck="Twilight Torque",ear1="Merman's Earring",ear2="Mujin Stud",
  138.         body="Otronif Harness",hands="Otronif Gloves",ring1="Defending Ring",ring2="Dark Ring",
  139.         back="Yokaze Mantle",waist="Lieutenant's Sash",legs="Otronif Brais",feet=gear.MovementFeet}
  140.  
  141.     sets.idle.Town = {ammo="Demonry Stone",
  142.         head="Otronif Mask",neck="Twilight Torque",ear1="Merman's Earring",ear2="Mujin Stud",
  143.         body="Otronif Harness",hands="Otronif Gloves",ring1="Defending Ring",ring2="Dark Ring",
  144.         back="Yokaze Mantle",waist="Lieutenant's Sash",legs="Otronif Brais",feet=gear.MovementFeet}
  145.  
  146.     sets.idle.Weak = {ammo="Demonry Stone",
  147.         head="Otronif Mask",neck="Twilight Torque",ear1="Merman's Earring",ear2="Mujin Stud",
  148.         body="Otronif Harness",hands="Otronif Gloves",ring1="Defending Ring",ring2="Dark Ring",
  149.         back="Yokaze Mantle",waist="Lieutenant's Sash",legs="Otronif Brais",feet=gear.MovementFeet}
  150.  
  151.     -- Defense sets
  152.     sets.defense.Evasion = {ammo="Togakushi Shuriken",
  153.         head="Qaaxo Mask",neck="Hope Torque",ear2="Phawaylla Earring",ear1="Iga Mimikazari",
  154.         body="Hachi. Chain. +1",hands="Qaaxo Mitaines",ring1="Dumakulem's Ring",ring2="Beeline Ring",
  155.         back="Yokaze Mantle",waist="Patentia Sash",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  156.  
  157.     sets.defense.PDT = {ammo="Togakushi Shuriken",
  158.         head="Otronif Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  159.         body="Otronif Harness",hands="Otronif Gloves",ring1="Defending Ring",ring2="Dark Ring",
  160.         back="Mollusca Mantle",waist="Patentia Sash",legs="Otronif Brais",feet="Otronif Boots"}
  161.  
  162.     sets.defense.MDT = {ammo="Demonry Stone",
  163.         head="Qaaxo Mask",neck="Twilight Torque",ear1="Merman's Earring",ear2="Mujin Stud",
  164.         body="Otronif Harness",hands="Otronif Gloves",ring1="Defending Ring",ring2="Dark Ring",
  165.         back="Mollusca Mantle",waist="Lieutenant's Sash",legs="Otronif Brais",feet="Qaaxo Leggings"}
  166.  
  167.  
  168.     sets.Kiting = {feet=gear.MovementFeet}
  169.  
  170.     -- Engaged sets
  171.  
  172.     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  173.     -- sets if more refined versions aren't defined.
  174.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  175.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  176.  
  177.     -- Normal melee group (<15% Haste)
  178.     sets.engaged = {ammo="Togakushi Shuriken",
  179.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  180.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  181.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  182.     sets.engaged.Acc = {ammo="Togakushi Shuriken",
  183.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  184.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  185.         back="Letalis Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  186.     sets.engaged.Evasion = {ammo="Togakushi Shuriken",
  187.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  188.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  189.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  190.     sets.engaged.Acc.Evasion = {ammo="Togakushi Shuriken",
  191.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  192.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  193.         back="Yokaze Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  194.     sets.engaged.PDT = {ammo="Togakushi Shuriken",
  195.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  196.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  197.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  198.     sets.engaged.Acc.PDT = {ammo="Togakushi Shuriken",
  199.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  200.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  201.         back="Letalis Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  202.  
  203.     -- Custom melee group: TwentyHaste
  204.     sets.engaged.TwentyHaste = {ammo="Togakushi Shuriken",
  205.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  206.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  207.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  208.     sets.engaged.Acc.TwentyHaste = {ammo="Togakushi Shuriken",
  209.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  210.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  211.         back="Letalis Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  212.     sets.engaged.Evasion.TwentyHaste = {ammo="Togakushi Shuriken",
  213.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  214.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  215.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  216.     sets.engaged.Acc.Evasion.TwentyHaste = {ammo="Togakushi Shuriken",
  217.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  218.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  219.         back="Yokaze Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  220.     sets.engaged.PDT.TwentyHaste = {ammo="Togakushi Shuriken",
  221.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Suppanomimi",ear2="Brutal Earring",
  222.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  223.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  224.     sets.engaged.Acc.PDT.TwentyHaste = {ammo="Togakushi Shuriken",
  225.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Suppanomimi",ear2="Brutal Earring",
  226.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  227.         back="Letalis Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  228.        
  229.     -- Custom melee group: TwentyFiveHaste
  230.     sets.engaged.TwentyFiveHaste = {ammo="Togakushi Shuriken",
  231.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  232.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  233.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  234.     sets.engaged.Acc.TwentyFiveHaste = {ammo="Togakushi Shuriken",
  235.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  236.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  237.         back="Letalis Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  238.     sets.engaged.Evasion.TwentyFiveHaste = {ammo="Togakushi Shuriken",
  239.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  240.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  241.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  242.     sets.engaged.Acc.Evasion.TwentyFiveHaste = {ammo="Togakushi Shuriken",
  243.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  244.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  245.         back="Yokaze Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  246.     sets.engaged.PDT.TwentyFiveHaste = {ammo="Togakushi Shuriken",
  247.         head="Qaaxo Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  248.         body="Mochi. Chainmail +1",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  249.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  250.     sets.engaged.Acc.PDT.TwentyFiveHaste = {ammo="Togakushi Shuriken",
  251.         head="Whirlpool Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
  252.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  253.         back="Letalis Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  254.        
  255.     -- Custom melee group: ThirtyHaste
  256.     sets.engaged.ThirtyHaste = {ammo="Togakushi Shuriken",
  257.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  258.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  259.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  260.     sets.engaged.Acc.ThirtyHaste = {ammo="Togakushi Shuriken",
  261.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  262.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  263.         back="Letalis Mantle",waist="Patentia Sash",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  264.     sets.engaged.Evasion.ThirtyHaste = {ammo="Togakushi Shuriken",
  265.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  266.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  267.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  268.     sets.engaged.Acc.Evasion.ThirtyHaste = {ammo="Togakushi Shuriken",
  269.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  270.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  271.         back="Yokaze Mantle",waist="Patentia Sash",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  272.     sets.engaged.PDT.ThirtyHaste = {ammo="Togakushi Shuriken",
  273.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Suppanomimi",ear2="Brutal Earring",
  274.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  275.         back="Atheling Mantle",waist="Patentia Sash",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  276.     sets.engaged.Acc.PDT.ThirtyHaste = {ammo="Togakushi Shuriken",
  277.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Suppanomimi",ear2="Brutal Earring",
  278.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  279.         back="Letalis Mantle",waist="Patentia Sash",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  280.        
  281.     -- Custom melee group: ThirtyFiveHaste
  282.     sets.engaged.ThirtyFiveHaste = {ammo="Togakushi Shuriken",
  283.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  284.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  285.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  286.     sets.engaged.Acc.ThirtyFiveHaste = {ammo="Togakushi Shuriken",
  287.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  288.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  289.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  290.     sets.engaged.Evasion.ThirtyFiveHaste = {ammo="Togakushi Shuriken",
  291.         head="Iga Zukin +2",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  292.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  293.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  294.     sets.engaged.Acc.Evasion.ThirtyFiveHaste = {ammo="Togakushi Shuriken",
  295.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Suppanomimi",ear2="Brutal Earring",
  296.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  297.         back="Yokaze Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  298.     sets.engaged.PDT.ThirtyFiveHaste = {ammo="Togakushi Shuriken",
  299.         head="Iga Zukin +2",neck="Twilight Torque",ear1="Suppanomimi",ear2="Brutal Earring",
  300.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  301.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  302.     sets.engaged.Acc.PDT.ThirtyFiveHaste = {ammo="Togakushi Shuriken",
  303.         head="Qaaxo Mask",neck="Twilight Torque",ear1="Suppanomimi",ear2="Brutal Earring",
  304.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  305.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  306.        
  307.     -- Custom melee group: Embrava Haste (~40% Haste)
  308.     sets.engaged.EmbravaHaste = {ammo="Togakushi Shuriken",
  309.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  310.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  311.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  312.     sets.engaged.Acc.EmbravaHaste = {ammo="Togakushi Shuriken",
  313.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  314.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  315.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  316.     sets.engaged.Evasion.EmbravaHaste = {ammo="Togakushi Shuriken",
  317.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  318.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  319.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  320.     sets.engaged.Acc.Evasion.EmbravaHaste = {ammo="Togakushi Shuriken",
  321.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  322.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  323.         back="Yokaze Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  324.     sets.engaged.PDT.EmbravaHaste = {ammo="Togakushi Shuriken",
  325.         head="Qaaxo Mask",neck="Twilight Torque",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  326.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  327.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Mochi. Hakama +1",feet="Qaaxo Leggings"}
  328.     sets.engaged.Acc.PDT.EmbravaHaste = {ammo="Togakushi Shuriken",
  329.         head="Whirlpool Mask",neck="Twilight Torque",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  330.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  331.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  332.  
  333.     -- Custom melee group: FortyThreeHaste
  334.     sets.engaged.FortyThreeHaste = {ammo="Togakushi Shuriken",
  335.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  336.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  337.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  338.     sets.engaged.Acc.FortyThreeHaste = {ammo="Togakushi Shuriken",     
  339.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  340.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  341.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  342.     sets.engaged.Evasion.FortyThreeHaste = {ammo="Togakushi Shuriken",
  343.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  344.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  345.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  346.     sets.engaged.Acc.Evasion.FortyThreeHaste = {ammo="Togakushi Shuriken",
  347.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  348.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  349.         back="Yokaze Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  350.     sets.engaged.PDT.FortyThreeHaste = {ammo="Togakushi Shuriken",
  351.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  352.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  353.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  354.     sets.engaged.Acc.PDT.FortyThreeHaste = {ammo="Togakushi Shuriken",
  355.         head="Whirlpool Mask",neck="Twilight Torque",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  356.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  357.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}       
  358.        
  359.     -- Custom melee group: Max Haste (46%+ Haste)
  360.     sets.engaged.MaxHaste = {ammo="Togakushi Shuriken",
  361.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  362.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Rajas Ring",ring2="Epona's Ring",
  363.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
  364.     sets.engaged.Acc.MaxHaste = {ammo="Togakushi Shuriken",    
  365.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  366.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  367.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  368.     sets.engaged.Evasion.MaxHaste = {ammo="Togakushi Shuriken",
  369.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  370.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Beeline Ring",ring2="Epona's Ring",
  371.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
  372.     sets.engaged.Acc.Evasion.MaxHaste = {ammo="Togakushi Shuriken",
  373.         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  374.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Epona's Ring",
  375.         back="Yokaze Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  376.     sets.engaged.PDT.MaxHaste = {ammo="Togakushi Shuriken",
  377.         head="Qaaxo Mask",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  378.         body="Thaumas Coat",hands="Qaaxo Mitaines",ring1="Defending Ring",ring2="Dark Ring",
  379.         back="Atheling Mantle",waist="Windbuffet Belt",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
  380.     sets.engaged.Acc.PDT.MaxHaste = {ammo="Togakushi Shuriken",
  381.         head="Whirlpool Mask",neck="Twilight Torque",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  382.         body="Mochi. Chainmail +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  383.         back="Letalis Mantle",waist="Dynamic Belt +1",legs="Hachi. Hakama +1",feet="Qaaxo Leggings"}
  384.  
  385.  
  386.     --------------------------------------
  387.     -- Custom buff sets
  388.     --------------------------------------
  389.  
  390.     sets.buff.Migawari = {body="Iga Ningi +2"}
  391.     sets.buff.Doom = {ring2="Saida Ring"}
  392.     sets.buff.Yonin = {}
  393.     sets.buff.Innin = {}
  394. end
  395.  
  396. -------------------------------------------------------------------------------------------------------------------
  397. -- Job-specific hooks for standard casting events.
  398. -------------------------------------------------------------------------------------------------------------------
  399.  
  400. -- Run after the general midcast() is done.
  401. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  402. function job_post_midcast(spell, action, spellMap, eventArgs)
  403.     if state.Buff.Doom then
  404.         equip(sets.buff.Doom)
  405.     end
  406. end
  407.  
  408.  
  409. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  410. function job_aftercast(spell, action, spellMap, eventArgs)
  411.     if not spell.interrupted and spell.english == "Migawari: Ichi" then
  412.         state.Buff.Migawari = true
  413.     end
  414. end
  415.  
  416. -------------------------------------------------------------------------------------------------------------------
  417. -- Job-specific hooks for non-casting events.
  418. -------------------------------------------------------------------------------------------------------------------
  419.  
  420. -- Called when a player gains or loses a buff.
  421. -- buff == buff gained or lost
  422. -- gain == true if the buff was gained, false if it was lost.
  423. function job_buff_change(buff, gain)
  424.     -- If we gain or lose any haste buffs, adjust which gear set we target.
  425.     if S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then
  426.         determine_haste_group()
  427.         handle_equipping_gear(player.status)
  428.     elseif state.Buff[buff] ~= nil then
  429.         handle_equipping_gear(player.status)
  430.     end
  431. end
  432.  
  433. function job_status_change(new_status, old_status)
  434.     if new_status == 'Idle' then
  435.         select_movement_feet()
  436.     end
  437. end
  438.  
  439.  
  440. -------------------------------------------------------------------------------------------------------------------
  441. -- User code that supplements standard library decisions.
  442. -------------------------------------------------------------------------------------------------------------------
  443.  
  444. -- Get custom spell maps
  445. function job_get_spell_map(spell, default_spell_map)
  446.     if spell.skill == "Ninjutsu" then
  447.         if not default_spell_map then
  448.             if spell.target.type == 'SELF' then
  449.                 return 'NinjutsuBuff'
  450.             else
  451.                 return 'NinjutsuDebuff'
  452.             end
  453.         end
  454.     end
  455. end
  456.  
  457. -- Modify the default idle set after it was constructed.
  458. function customize_idle_set(idleSet)
  459.     if state.Buff.Migawari then
  460.         idleSet = set_combine(idleSet, sets.buff.Migawari)
  461.     end
  462.     if state.Buff.Doom then
  463.         idleSet = set_combine(idleSet, sets.buff.Doom)
  464.     end
  465.     return idleSet
  466. end
  467.  
  468.  
  469. -- Modify the default melee set after it was constructed.
  470. function customize_melee_set(meleeSet)
  471.     if state.Buff.Migawari then
  472.         meleeSet = set_combine(meleeSet, sets.buff.Migawari)
  473.     end
  474.     if state.Buff.Doom then
  475.         meleeSet = set_combine(meleeSet, sets.buff.Doom)
  476.     end
  477.     return meleeSet
  478. end
  479.  
  480. -- Called by the default 'update' self-command.
  481. function job_update(cmdParams, eventArgs)
  482.     select_movement_feet()
  483.     determine_haste_group()
  484. end
  485.  
  486. -------------------------------------------------------------------------------------------------------------------
  487. -- Utility functions specific to this job.
  488. -------------------------------------------------------------------------------------------------------------------
  489.  
  490. function determine_haste_group()
  491.     classes.CustomMeleeGroups:clear()
  492.     if buffactive.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) then
  493.         classes.CustomMeleeGroups:append('MaxHaste')
  494.     elseif buffactive.march == 2 and buffactive.haste then
  495.         classes.CustomMeleeGroups:append('FortyThreeHaste')
  496.     elseif buffactive.embrava and (buffactive.haste or buffactive.march) then
  497.         classes.CustomMeleeGroups:append('EmbravaHaste')
  498.     elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
  499.         classes.CustomMeleeGroups:append('ThirtyFiveHaste')
  500.     elseif buffactive.march == 1 and buffactive.haste then
  501.         classes.CustomMeleeGroups:append('ThirtyHaste')
  502.     elseif buffactive.march == 2 and buffactive['haste samba'] then
  503.         classes.CustomMeleeGroups:append('ThirtyHaste')
  504.     elseif buffactive.march == 2 then
  505.         classes.CustomMeleeGroups:append('TwentyFiveHaste')
  506.     elseif buffactive.haste and buffactive['haste samba'] then
  507.         classes.CustomMeleeGroups:append('TwentyHaste')
  508.     end
  509. end
  510.  
  511.  
  512. function select_movement_feet()
  513.     if world.time >= 17*60 or world.time < 7*60 then
  514.         gear.MovementFeet.name = gear.NightFeet
  515.     else
  516.         gear.MovementFeet.name = gear.DayFeet
  517.     end
  518. end
  519.  
  520.  
  521. -- Select default macro book on initial load or subjob change.
  522. function select_default_macro_book()
  523.     -- Default macro set/book
  524.     if player.sub_job == 'DNC' then
  525.         set_macro_page(1, 1)
  526.     elseif player.sub_job == 'THF' then
  527.         set_macro_page(1, 1)
  528.     else
  529.         set_macro_page(1, 1)
  530.     end
  531. end
Advertisement
Add Comment
Please, Sign In to add comment