Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------------------------------------------
- -- Setup functions for this job. Generally should not be modified.
- -------------------------------------------------------------------------------------------------------------------
- -- Initialization function for this job file.
- function get_sets()
- mote_include_version = 2
- -- Load and initialize the include file.
- include('Mote-Include.lua')
- include('sammeh_custom_functions.lua')
- end
- -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
- function job_setup()
- state.Buff.Migawari = buffactive.migawari or false
- state.Buff.Doomed = buffactive.doomed or false
- state.Buff.Sange = buffactive.Sange or false
- state.Buff.Yonin = buffactive.Yonin or false
- state.Buff.Innin = buffactive.Innin or false
- state.Buff.Futae = buffactive.Futae or false
- gear.MovementFeet = {name="Danzo Sune-ate"}
- gear.DayFeet = "Danzo Sune-ate"
- gear.NightFeet = "Hachiya Kyahan"
- gear.AccAmmo = {name="Happo Shuriken +1"}
- gear.AccAmmoDay = "Seki Shuriken"
- gear.AccAmmoNight = "Seki Shuriken"
- gear.ElementalObi = {name="Hachirin-no-Obi"}
- gear.default.obi_waist = "Eschan Stone"
- send_command("alias fc gs equip sets.precast.FC")
- send_command("alias idle gs equip sets.idle")
- send_command("alias nindebuff gs equip sets.midcast.NinjutsuDebuff")
- send_command("alias ele gs equip sets.midcast.ElementalNinjutsu")
- send_command("alias utsus gs equip sets.midcast.Utsusemi")
- send_command("alias eng gs equip sets.engaged")
- send_command("alias wsset gs equip sets.precast.WS")
- send_command("alias meva gs equip sets.meva")
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
- -------------------------------------------------------------------------------------------------------------------
- -- Setup vars that are user-dependent. Can override this function in a sidecar file.
- function user_setup()
- windower.register_event('time change', time_change)
- -- Options: Override default values
- state.OffenseMode:options ('Normal', 'Acc', 'Acc2', 'Acc3')
- state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
- state.CastingMode:options('Normal', 'Resistant')
- state.IdleMode:options('Normal')
- select_movement_feet()
- select_default_macro_book()
- send_command('@wait 1;input /lockstyleset 7')
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Precast sets
- --------------------------------------
- -- React Sets --
- sets.React = {}
- sets.React.MEVA = {
- ammo="Yamarang",
- head="Mummu Bonnet +2",
- body="Adhemar Jacket +1",
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}},
- feet="Amm Greaves",
- neck="Warder's Charm +1",
- waist="Carrier's Sash",
- left_ear="Eabani Earring",
- right_ear="Flashward Earring",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Fugacity Mantle +1",
- }
- sets.React.Light = set_combine(sets.React.MEVA, {ring2="Wuji Ring"})
- sets.React.Dark = set_combine(sets.React.MEVA, {ring2="Wuji Ring"})
- sets.React.Thunder = set_combine(sets.React.MEVA, {ammo="Thunder Sachet", ring2="Icecrack Ring"})
- sets.React.Ice = set_combine(sets.React.MEVA, {ring2="Icecrack Ring"})
- sets.React.Water = set_combine(sets.React.MEVA, {})
- sets.React.Fire = set_combine(sets.React.MEVA, {})
- sets.React.Air = set_combine(sets.React.MEVA, {})
- sets.React.Stone = set_combine(sets.React.MEVA, {ring2="Kunaji Ring"})
- sets.React.Status = set_combine(sets.React.MEVA, {ammo="Staunch Tathlum +1",ear2="Hearty Earring",})
- sets.React.Paralyze = set_combine(sets.React.Status, {ring2="Icecrack Ring"})
- sets.React.Sleep = set_combine(sets.React.Status, {ring2="Wuji Ring"})
- sets.React.Charm = set_combine(sets.React.Status, {ring2="Wuji Ring"})
- sets.React.Stun = set_combine(sets.React.Status, {ring2="Icecrack Ring"})
- sets.React.Silence = set_combine(sets.React.Status, {ear1="Etiolation Earring"})
- sets.React.Slow = set_combine(sets.React.Status, {ring2="Kunaji Ring"})
- sets.React.Death = set_combine(sets.React.Status, {})
- sets.React.Gravity = set_combine(sets.React.Status, {})
- sets.React.Bind = set_combine(sets.React.Status, {})
- sets.React.Petrify = set_combine(sets.React.Status, {})
- sets.React.PDT = {
- ammo="Staunch Tathlum +1",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body="Emet Harness +1",
- hands="Macabre Gaunt. +1",
- legs="Mummu Kecks +2",
- feet="Amm Greaves",
- neck="Loricate Torque +1",
- waist="Flume Belt",
- left_ear="Ethereal Earring",
- right_ear="Hearty Earring",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Solemnity Cape",
- }
- sets.React.MDT = {
- ammo="Staunch Tathlum +1",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body="Adhemar Jacket +1",
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs="Mummu Kecks +2",
- feet="Amm Greaves",
- neck="Loricate Torque +1",
- waist="Carrier's Sash",
- left_ear="Flashward Earring",
- right_ear="Etiolation Earring",
- left_ring="Defending Ring",
- back="Solemnity Cape",
- }
- sets.React.BDT = {
- ammo="Staunch Tathlum +1",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body="Adhemar Jacket +1",
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs="Mummu Kecks +2",
- feet="Amm Greaves",
- neck="Loricate Torque +1",
- waist="Carrier's Sash",
- left_ear="Flashward Earring",
- right_ear="Etiolation Earring",
- left_ring="Defending Ring",
- back="Solemnity Cape",
- }
- sets.Enmity = {
- body="Emet Harness +1",
- hands="Macabre Gaunt. +1",
- neck="Warder's Charm +1",
- right_ring="Petrov Ring",
- }
- -- Precast sets to enhance JAs
- -- sets.precast.JA['Mijin Gakure'] = {}
- --sets.precast.JA['Futae'] = {}
- sets.precast.JA = {}
- sets.precast.JA['Sange'] = {}
- sets.precast.JA['Provoke'] = sets.Enmity
- sets.precast.JA['Warcry'] = sets.Enmity
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {
- head="Mummu Bonnet +2",
- legs="Dashing Subligar",
- left_ear="Handler's Earring +1",
- right_ring="Asklepian Ring",
- left_ring="Begrudging Ring"
- }
- -- Don't need any special gear for Healing Waltz.
- sets.precast.Waltz['Healing Waltz'] = {}
- -- Set for acc on steps, since Yonin drops acc a fair bit
- sets.precast.Step = {
- head="Mummu Bonnet +2",
- body="Adhemar Jacket +1",
- hands="Adhemar Wrist. +1",
- legs="Hiza. Hizayoroi +2",
- feet="Hiza. Sune-Ate +2",
- neck="Combatant's Torque",
- waist="Olseni Belt",
- left_ear="Mache Earring +1",
- right_ear="Mache Earring +1",
- left_ring="Patricius Ring",
- right_ring="Cacoethic Ring +1",
- back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- }
- sets.precast.Flourish1 = {}
- -- Fast cast sets for spells
- sets.precast.FC = {
- head={ name="Herculean Helm", augments={'"Fast Cast"+6','Enmity-6','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
- body={ name="Taeon Tabard", augments={'Pet: "Mag.Atk.Bns."+24','Crit. hit damage +2%',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs="Hiza. Hizayoroi +2",
- feet="Hiza. Sune-Ate +2",
- neck="Baetyl Pendant",
- left_ear="Loquac. Earring",
- right_ear="Etiolation Earring",
- left_ring="Prolix Ring",
- right_ring="Kishar Ring",
- }
- sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {back="Andartia's Mantle",neck="Magoraga Bead Necklace"})
- -- Snapshot for ranged
- sets.precast.RA = {}
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {
- head="Adhemar Bonnet +1",
- body="Adhemar Jacket +1",
- hands="Adhemar Wrist. +1",
- legs="Hiza. Hizayoroi +2",
- feet={ name="Herculean Boots", augments={'"Waltz" potency +2%','CHR+10','Weapon skill damage +8%','Accuracy+9 Attack+9','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
- neck="Fotia Gorget",
- waist="Fotia Belt",
- left_ear="Moonshade Earring",
- right_ear="Ishvara Earring",
- left_ring="Ilabrat Ring",
- right_ring="Epona's Ring",
- back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- }
- sets.cursnarec={waist="Gishdubar Sash",ring1="Purity Ring",}
- -- sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Honed Tathlum",hands="Ryuo Tekko",back="Yokaze Mantle"})
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- sets.precast.WS['Blade: Hi'] = set_combine(sets.precast.WS, {left_ring="Begrudging Ring", back={ name="Andartia's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
- sets.precast.WS['Blade: Ten'] = set_combine(sets.precast.WS, {back={ name="Andartia's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
- sets.precast.WS['Blade: Ku'] = set_combine(sets.precast.WS, {})
- sets.precast.WS['Blade: Jin'] = set_combine(sets.precast.WS, {back={ name="Andartia's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
- sets.precast.WS['Blade: Kamu'] = set_combine(sets.precast.WS, {back={ name="Andartia's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
- sets.precast.WS['Blade: Shun'] = {
- Ammo="Seeth. Bomblet +1",
- head="Adhemar Bonnet +1",
- body="Adhemar Jacket +1",
- hands="Adhemar Wrist. +1",
- legs="Samnuha Tights",
- feet={ name="Herculean Boots", augments={'"Waltz" potency +2%','CHR+10','Weapon skill damage +8%','Accuracy+9 Attack+9','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
- neck="Fotia Gorget",
- waist="Fotia Belt",
- left_ear="Moonshade Earring",
- right_ear="Mache Earring +1",
- left_ring="Ilabrat Ring",
- right_ring="Apate Ring",
- back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- }
- sets.precast.WS['Blade: Yu'] = {
- main="Heishi Shorinken",
- sub={ name="Shigi", augments={'Accuracy+50','Rng.Acc.+50','Damage Taken -5%',}},
- ammo="Seething Bomblet",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body={ name="Samnuha Coat", augments={'Mag. Acc.+14','"Mag.Atk.Bns."+13','"Fast Cast"+4','"Dual Wield"+3',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Herculean Trousers", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Dbl.Atk."+2','MND+9','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
- feet={ name="Herculean Boots", augments={'"Waltz" potency +2%','CHR+10','Weapon skill damage +8%','Accuracy+9 Attack+9','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
- neck="Baetyl Pendant",
- waist="Eschan Stone",
- left_ear="Friomisi Earring",
- right_ear="Ishvara Earring",
- left_ring="Epaminondas's Ring",
- right_ring="Shiva Ring +1",
- back={ name="Andartia's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
- }
- sets.precast.WS['Aeolian Edge'] = {
- main="Heishi Shorinken",
- sub={ name="Shigi", augments={'Accuracy+50','Rng.Acc.+50','Damage Taken -5%',}},
- ammo="Seething Bomblet",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body={ name="Samnuha Coat", augments={'Mag. Acc.+14','"Mag.Atk.Bns."+13','"Fast Cast"+4','"Dual Wield"+3',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Herculean Trousers", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Dbl.Atk."+2','MND+9','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
- feet={ name="Herculean Boots", augments={'"Waltz" potency +2%','CHR+10','Weapon skill damage +8%','Accuracy+9 Attack+9','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
- neck="Baetyl Pendant",
- waist="Eschan Stone",
- left_ear="Friomisi Earring",
- right_ear="Ishvara Earring",
- left_ring="Epaminondas's Ring",
- right_ring="Shiva Ring +1",
- back={ name="Andartia's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
- }
- --------------------------------------
- -- Midcast sets
- --------------------------------------
- sets.midcast.FastRecast = set_combine(sets.precast.FC, {})
- sets.midcast.Utsusemi = set_combine(sets.midcast.SelfNinjutsu, {feet="Hattori Kyahan",back="Andartia's Mantle"})
- sets.midcast.ElementalNinjutsu = {
- ammo="Pemphredo Tathlum",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body="Samnuha Coat",
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs="Dashing Subligar",
- feet={ name="Herculean Boots", augments={'"Waltz" potency +2%','CHR+10','Weapon skill damage +8%','Accuracy+9 Attack+9','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
- neck="Sanctity Necklace",
- waist="Eschan Stone",
- left_ear="Friomisi Earring",
- right_ear="Novio Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back="Argocham. Mantle",
- }
- sets.midcast.ElementalNinjutsuSan = sets.midcast.ElementalNinjutsu
- sets.midcast.ElementalNinjutsu.Burst = sets.midcast.ElementalNinjutsu
- sets.midcast.ElementalNinjutsu.Resistant = sets.midcast.ElementalNinjutsu
- sets.midcast.NinjutsuDebuff = sets.midcast.ElementalNinjutsu
- --sets.midcast.NinjutsuBuff = {}
- sets.midcast.RA = {}
- --------------------------------------
- -- Idle/resting/defense/etc sets
- --------------------------------------
- -- Resting sets
- sets.resting = {}
- -- Idle sets
- sets.idle = {
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body="Hiza. Haramaki +2",
- hands="Macabre Gaunt. +1",
- legs="Hiza. Hizayoroi +2",
- feet="Hiza. Sune-Ate +2",
- neck="Loricate Torque +1",
- waist="Flume Belt",
- left_ear="Infused Earring",
- right_ear="Dawn Earring",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Solemnity Cape",}
- sets.idle.Current = set_combine(sets.idle, {})
- sets.idle.Town = set_combine(sets.idle, {})
- sets.idle.Weak = set_combine(sets.idle, {})
- -- Defense sets
- sets.defense.Evasion = {}
- sets.defense.PDT = {
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- body="Emet Harness +1",
- hands="Macabre Gaunt. +1",
- legs="Mummu Kecks +2",
- feet="Mummu Gamash. +2",
- neck="Loricate Torque +1",
- waist="Flume Belt",
- left_ear="Mache Earring +1",
- right_ear="Brutal Earring",
- left_ring="Defending Ring",
- right_ring="Patricius Ring",
- back="Solemnity Cape",
- }
- sets.defense.MDT = {}
- sets.meva = {}
- sets.Kiting = {feet=gear.MovementFeet}
- --------------------------------------
- -- Engaged sets
- --------------------------------------
- -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
- -- sets if more refined versions aren't defined.
- -- If you create a set with both offense and defense modes, the offense mode should be first.
- -- EG: sets.engaged.Dagger.Accuracy.Evasion
- -- Normal melee group
- -- Acc 1138/1101 Heishi(Shigi) ::
- sets.engaged = {
- main="Heishi Shorinken",
- sub="Shigi",
- ammo="Seki Shuriken",
- head="Adhemar Bonnet +1",
- body="Adhemar Jacket +1",
- hands="Adhemar Wrist. +1",
- legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}},
- feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','Attack+12',}},
- neck="Moonlight Nodowa",
- waist="Windbuffet Belt +1",
- left_ear="Mache Earring +1",
- right_ear="Brutal Earring",
- left_ring="Epona's Ring",
- right_ring="Ilabrat Ring",
- back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- }
- -- Acc 1043 (Kikoku/Ochu) :: Acc 1070 (Ochu/Shigi) :: Acc 1077 (Ochu/Ochu)
- sets.engaged.Acc = set_combine(sets.engaged, {
- main="Heishi Shorinken",
- sub="Shigi",
- ammo="Seki Shuriken",
- head="Mummu Bonnet +2",
- body="Adhemar Jacket +1",
- hands="Adhemar Wrist. +1",
- legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}},
- feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','Attack+12',}},
- neck="Moonlight Nodowa",
- waist="Windbuffet Belt +1",
- left_ear="Mache Earring +1",
- right_ear="Brutal Earring",
- left_ring="Epona's Ring",
- right_ring="Ilabrat Ring",
- back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},})
- -- Acc 1072 (Kikoku/Ochu) :: Acc 1099 (Ochu/Shigi) :: Acc 1107 (Ochu/Ochu)
- sets.engaged.Acc2 = set_combine(sets.engaged, {})
- -- Acc 1139 (Kikoku/Ochu) :: Acc 1168 (Ochu/Shigi) :: Acc 1175 (Ochu/Ochu)
- sets.engaged.Acc3 = set_combine(sets.engaged, {
- head="Mummu Bonnet +2",
- body="Adhemar Jacket +1",
- hands="Adhemar Wrist. +1",
- legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}},
- feet="Mummu Gamash. +2",
- neck="Moonlight Nodowa",
- waist="Olseni Belt",
- left_ear="Mache Earring +1",
- right_ear="Mache Earring +1",
- left_ring="Patricius Ring",
- right_ring="Cacoethic Ring +1",
- back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
- })
- -- Custom melee group: High Haste (~20% DW)
- sets.engaged.HighHaste = set_combine(sets.engaged, {})
- sets.engaged.Acc.HighHaste = set_combine(sets.engaged.Acc, {})
- sets.engaged.Acc2.HighHaste = set_combine(sets.engaged.Acc2, {})
- sets.engaged.Acc3.HighHaste = set_combine(sets.engaged.Acc3, {})
- -- Custom melee group: Embrava Haste (7% DW)
- sets.engaged.EmbravaHaste = set_combine(sets.engaged, {})
- sets.engaged.Acc.EmbravaHaste = set_combine(sets.engaged.Acc, {})
- sets.engaged.Acc2.EmbravaHaste = set_combine(sets.engaged.Acc2, {})
- sets.engaged.Acc3.EmbravaHaste = set_combine(sets.engaged.Acc3, {})
- -- Custom melee group: Max Haste (0% DW)
- sets.engaged.MaxHaste = set_combine(sets.engaged, {})
- sets.engaged.Acc.MaxHaste = set_combine(sets.engaged.Acc, {})
- sets.engaged.Acc2.MaxHaste = set_combine(sets.engaged.Acc2, {})
- sets.engaged.Acc3.MaxHaste = set_combine(sets.engaged.Acc3, {})
- --------------------------------------
- -- Custom buff sets
- --------------------------------------
- sets.buff.Migawari = {}
- sets.buff.Doomed = {}
- sets.buff.Yonin = {}
- sets.buff.Innin = {}
- sets.buff.Sange = {}
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for standard casting events.
- -------------------------------------------------------------------------------------------------------------------
- function job_post_precast(spell, action, spellMap, eventArgs)
- if string.find(spell.name,'Utsusemi') then
- equip(sets.precast.FC.Utsusemi)
- end
- end
- -- Run after the general midcast() is done.
- -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
- function job_post_midcast(spell, action, spellMap, eventArgs)
- if string.find(spell.name,'Utsusemi') then
- equip(sets.midcast.Utsusemi)
- end
- if spell.type == "WeaponSkill" then
- tpspent = spell.tp_cost
- end
- if state.Buff.Doomed then
- equip(sets.buff.Doomed)
- end
- weathercheck(spell.element)
- end
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- function job_aftercast(spell, action, spellMap, eventArgs)
- if not spell.interrupted and spell.english == "Migawari: Ichi" then
- state.Buff.Migawari = true
- end
- if state.SpellDebug.value == "On" then
- spelldebug(spell)
- end
- equip(sets.idle)
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for non-casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Called when a player gains or loses a buff.
- -- buff == buff gained or lost
- -- gain == true if the buff was gained, false if it was lost.
- function job_buff_change(buff, gain)
- -- If we gain or lose any haste buffs, adjust which gear set we target.
- if S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then
- determine_haste_group()
- handle_equipping_gear(player.status)
- elseif state.Buff[buff] ~= nil then
- handle_equipping_gear(player.status)
- end
- end
- function job_status_change(new_status, old_status)
- if new_status == 'Idle' then
- select_movement_feet()
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Get custom spell maps
- function job_get_spell_map(spell, default_spell_map)
- if spell.skill == "Ninjutsu" then
- if not default_spell_map then
- if spell.target.type == 'SELF' then
- return 'NinjutsuBuff'
- else
- return 'NinjutsuDebuff'
- end
- end
- end
- end
- -- Modify the default idle set after it was constructed.
- function customize_idle_set(idleSet)
- if state.Buff.Migawari then
- idleSet = set_combine(idleSet, sets.buff.Migawari)
- end
- if state.Buff.Doomed then
- idleSet = set_combine(idleSet, sets.buff.Doomed)
- end
- return idleSet
- end
- -- Modify the default melee set after it was constructed.
- function customize_melee_set(meleeSet)
- if state.Buff.Migawari then
- meleeSet = set_combine(meleeSet, sets.buff.Migawari)
- end
- if state.Buff.Doomed then
- meleeSet = set_combine(meleeSet, sets.buff.Doomed)
- end
- if state.Buff.Sange then
- meleeSet = set_combine(meleeSet, sets.buff.Sange)
- end
- return meleeSet
- end
- -- Called any time we attempt to handle automatic gear equips (ie: engaged or idle gear).
- function job_handle_equipping_gear(playerStatus, eventArgs)
- if player.equipment.back == 'Mecisto. Mantle' or player.equipment.back == 'Nexus Cape' then
- disable('back')
- else
- enable('back')
- end
- if player.equipment.ring1 == 'Warp Ring' or player.equipment.ring1 == 'Vocation Ring' or player.equipment.ring1 == 'Capacity Ring' or player.equipment.ring1 == 'Echad Ring' or player.equipment.ring1 == 'Trizek Ring' then
- disable('ring1')
- else
- enable('ring1')
- end
- if player.equipment.ring2 == 'Warp Ring' or player.equipment.ring2 == 'Vocation Ring' or player.equipment.ring2 == 'Capacity Ring' or player.equipment.ring2 == 'Echad Ring' or player.equipment.ring2 == 'Trizek Ring' then
- disable('ring2')
- else
- enable('ring2')
- end
- end
- -- Called by the default 'update' self-command.
- function job_update(cmdParams, eventArgs)
- update_combat_form()
- select_movement_feet()
- determine_haste_group()
- end
- function job_state_change(stateField, newValue, oldValue)
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- function update_combat_form()
- -- Check for AM3
- -- if player.equipment.main == 'Tizona' and state.Buff['Aftermath: Lv.3'] then
- -- state.CombatForm:reset()
- -- else
- -- state.CombatForm:set('DW')
- -- end
- end
- function determine_haste_group()
- -- We have three groups of DW in gear: Hachiya body/legs, Ptica head + DW earrings
- -- Standard gear set reaches near capped delay with just Haste (77%-78%, depending on HQs)
- -- For high haste, we want to be able to drop one of the 10% groups.
- -- Basic gear hits capped delay (roughly) with:
- -- 1 March + Haste
- -- 2 March
- -- Haste + Haste Samba
- -- 1 March + Haste Samba
- -- Embrava
- -- High haste buffs:
- -- 2x Marches + Haste Samba == 19% DW in gear
- -- 1x March + Haste + Haste Samba == 22% DW in gear
- -- Embrava + Haste or 1x March == 7% DW in gear
- -- For max haste (capped magic haste + 25% gear haste), we can drop all DW gear.
- -- Max haste buffs:
- -- Embrava + Haste+March or 2x March
- -- 2x Marches + Haste
- -- So we want four tiers:
- -- Normal DW
- -- 20% DW -- High Haste
- -- 7% DW (earrings) - Embrava Haste (specialized situation with embrava and haste, but no marches)
- -- 0 DW - Max Haste
- classes.CustomMeleeGroups:clear()
- if ( buffactive[580] and ( buffactive.march or buffactive[33] or buffactive.embrava) ) or
- ( buffactive[33] and buffactive.march == 2 ) then
- classes.CustomMeleeGroups:append('MaxHaste')
- elseif ( buffactive.embrava and ( buffactive.march == 1 or buffactive[33] ) ) then
- classes.CustomMeleeGroups:append('EmbravaHaste')
- -- This is the line to change for with Koru-Moru
- elseif buffactive[33] and buffactive['haste samba'] and buffactive.march == 1 then
- classes.CustomMeleeGroups:append('MaxHaste')
- elseif (buffactive[33] and buffactive.march == 1) or (buffactive.march == 2 and buffactive['haste samba']) or buffactive[580] then
- classes.CustomMeleeGroups:append('HighHaste')
- elseif buffactive.embrava or buffactive.march == 2 then
- classes.CustomMeleeGroups:append('HighHaste')
- elseif buffactive[33] or buffactive.march == 1 then
- classes.CustomMeleeGroups:append('HighHaste')
- end
- end
- function select_movement_feet()
- if world.time >= (17*60) or world.time < (7*60) then
- gear.MovementFeet.name = gear.NightFeet
- else
- gear.MovementFeet.name = gear.DayFeet
- end
- end
- function select_acc_ammo()
- if world.time >= (18*60) or world.time <= (6*60) then
- gear.AccAmmo.name = gear.AccAmmoNight
- else
- gear.AccAmmo.name = gear.AccAmmoDay
- end
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- -- Default macro set/book
- if player.sub_job == 'DNC' then
- set_macro_page(1, 6)
- elseif player.sub_job == 'THF' then
- set_macro_page(1, 6)
- else
- set_macro_page(1, 6)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement