|
ninja lua problem
By hamany9 2017-03-22 11:54:55
I just finished doing my nin lua. Everything is working fine except Precast fast cast and precast/midcast utsusemi. here is my lua:
Code -------------------------------------------------------------------------------------------------------------------
-- 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')
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.Doom = buffactive.doom or false
state.Buff.Yonin = buffactive.Yonin or false
state.Buff.Innin = buffactive.Innin or false
state.Buff.Futae = buffactive.Futae or false
determine_haste_group()
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()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'Evasion', 'PDT')
state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'Evasion')
gear.MovementFeet = {name="Danzo Sune-ate"}
gear.DayFeet = "Danzo Sune-ate"
gear.NightFeet = "Ninja Kyahan"
send_command('wait 6;input /lockstyleset 98')
select_movement_feet()
select_default_macro_book(1, 3)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Mijin Gakure'] = {legs="Mochizuki Hakama"}
sets.precast.JA['Futae'] = {legs="Iga Tekko +2"}
sets.precast.JA['Sange'] = {legs="Mochizuki Chainmail"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Mummu bonnet +1",ear1="Odnowa earring +1",ear2="Genmei earring",
body="Reiki osode",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Nahtirah Trousers",feet="Otronif Boots +1"}
-- Uk'uxkaj Cap, Daihanshi Habaki
-- 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="Ryuo somen",neck="Sanctity Necklace",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Patricius Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch Belt +1",legs="Hizamaru hizayoroi +1",feet="Mummu gamashes +1"}
sets.precast.Flourish1 = {waist="Chaac Belt"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="",feet=""}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads",body="Mochizuki Chainmail +1"})
-- Snapshot for ranged
sets.precast.RA = {hands="Adhemar wristbands",legs="Adhemar kecks",feet="Adhemar gamashes"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Seething bomblet +1",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Blade: Jin'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Hi'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Mummu wrists +1",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Shun'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Aeolian Edge'] = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands={ name="Herculean Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +2%','"Mag.Atk.Bns."+11',}},
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="Luhlaza Jubbah +1",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Lengo Pants",feet="Amalric nails"}
sets.midcast.Utsusemi = set_combine(sets.midcast.SelfNinjutsu, {hands="Mochizuki tekko +1",back="Andartia's mantle",feet="Hattori Kyahan +1"})
sets.midcast.ElementalNinjutsu = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.ElementalNinjutsu.Resistant = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuDebuff = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuBuff = {head="Hachiya Hatsuburi",hands="Mochizuki tekko +1"}
sets.midcast.RA = {
head="Felistris Mask",neck="Ej Necklace",
body="Hachiya Chainmail +1",hands="Hachiya Tekko",ring1="Beeline Ring",
back="Yokaze Mantle",legs="Nahtirah Trousers",feet="Qaaxo Leggings"}
-- Hachiya Hakama/Thurandaut Tights +1
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
-- Resting sets
sets.resting = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
-- Idle sets
sets.idle = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Town = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Councilor's garb",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Weak = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
-- Defense sets
sets.defense.Evasion = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.PDT = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.MDT = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
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
sets.engaged = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Acc = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Evasion = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.PDT = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Suppanomimi",ear2="Cessance Earring",
body="Emet harness +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending ring",ring2="Patricius ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Migawari = {body="Iga Ningi +2"}
sets.buff.Doom = {ring2="Saida Ring"}
sets.buff.Yonin = {}
sets.buff.Innin = {}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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 state.Buff.Doom then
equip(sets.buff.Doom)
end
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
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.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
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.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
-- Called by the default 'update' self-command.
function job_update(cmdParams, eventArgs)
select_movement_feet()
determine_haste_group()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
-- We have three groups of DW in gear: Hachiya body/legs, Iga head + Patentia Sash, and 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.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 and buffactive.haste then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.embrava and (buffactive.haste or buffactive.march) then
classes.CustomMeleeGroups:append('EmbravaHaste')
elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 2 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
-- 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(4, 3)
elseif player.sub_job == 'THF' then
set_macro_page(5, 3)
else
set_macro_page(1, 3)
end
end
By hamany9 2017-03-22 11:57:35
It's working fine other than these 2 problems.
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-22 12:01:14
Do a //gs showswaps and take a look to see what set it 'thinks' needs to be on and it's easier to start from there.
Nothing jumps out at me initially from a very quick glance.
By hamany9 2017-03-22 12:10:57
it shows nothing when i cast utsusemi, but when i cast elemental ninjutsu it shows the gear i've set for it. looks like it's not recognizing something?
By Dagmaar 2017-03-22 12:14:01
I didn't read through the entire file, but is this problem only happening on Utsusemi: San? I remember I had the same problem since the file didn't recognize san, only ich and ni.
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-22 12:15:59
Which utsusemi are you casting? And is that spell a part of the correct spell group? (Is it San and for some reason San is still not a part of your correct mappings?)
Reference this post and check your mappings:
http://www.ffxiah.com/forum/topic/41580/gearswap-support-thread/64/#2898794
By hamany9 2017-03-22 12:16:56
Ichi and Ni, i dont even have san unlocked lol
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-22 12:22:57
You reference a sets.midcast.SelfNinjutsu in sets.midcast.Utsusemi that is not defined in the paste. I think the set_combine function handles this scenario, but just in case you should try creating that set or remove the set_combine and just go with the two pieces to see if that helps.
Edit: To make it a little clearer
Line 138 could read: Code sets.midcast.Utsusemi = set_combine(sets.midcast.FastRecast, {hands="Mochizuki tekko +1",back="Andartia's mantle",feet="Hattori Kyahan +1"})
Edit edit: (And probably want to update the fastrecast set to include NIN specific gear. ;) )
By hamany9 2017-03-22 12:45:46
I edited the fast cast and recast but still nothing, here is the file after edit:
Code -------------------------------------------------------------------------------------------------------------------
-- 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')
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.Doom = buffactive.doom or false
state.Buff.Yonin = buffactive.Yonin or false
state.Buff.Innin = buffactive.Innin or false
state.Buff.Futae = buffactive.Futae or false
determine_haste_group()
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()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'Evasion', 'PDT')
state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'Evasion')
gear.MovementFeet = {name="Danzo Sune-ate"}
gear.DayFeet = "Danzo Sune-ate"
gear.NightFeet = "Ninja Kyahan"
send_command('wait 6;input /lockstyleset 98')
select_movement_feet()
select_default_macro_book(1, 3)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Mijin Gakure'] = {legs="Mochizuki Hakama"}
sets.precast.JA['Futae'] = {legs="Iga Tekko +2"}
sets.precast.JA['Sange'] = {legs="Mochizuki Chainmail"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Mummu bonnet +1",ear1="Odnowa earring +1",ear2="Genmei earring",
body="Reiki osode",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Nahtirah Trousers",feet="Otronif Boots +1"}
-- Uk'uxkaj Cap, Daihanshi Habaki
-- 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="Ryuo somen",neck="Sanctity Necklace",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Patricius Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch Belt +1",legs="Hizamaru hizayoroi +1",feet="Mummu gamashes +1"}
sets.precast.Flourish1 = {waist="Chaac Belt"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="",feet=""}
sets.precast.FC.Utsusemi = {ammo="Impatiens",
head="Herculean helm",neck="Magoraga beads",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="Mochizuki Chainmail +1",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="",feet=""}
-- Snapshot for ranged
sets.precast.RA = {hands="Adhemar wristbands",legs="Adhemar kecks",feet="Adhemar gamashes"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Seething bomblet +1",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Blade: Jin'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Hi'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Mummu wrists +1",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Shun'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Aeolian Edge'] = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands={ name="Herculean Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +2%','"Mag.Atk.Bns."+11',}},
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Lengo Pants",feet="Amalric nails"}
sets.midcast.Utsusemi = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Mochizuki tekko +1",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Lengo Pants",feet="Hattori Kyahan +1"}
sets.midcast.ElementalNinjutsu = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.ElementalNinjutsu.Resistant = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuDebuff = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuBuff = {head="Hachiya Hatsuburi",hands="Mochizuki tekko +1"}
sets.midcast.RA = {
head="Felistris Mask",neck="Ej Necklace",
body="Hachiya Chainmail +1",hands="Hachiya Tekko",ring1="Beeline Ring",
back="Yokaze Mantle",legs="Nahtirah Trousers",feet="Qaaxo Leggings"}
-- Hachiya Hakama/Thurandaut Tights +1
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
-- Resting sets
sets.resting = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
-- Idle sets
sets.idle = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Town = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Councilor's garb",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Weak = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
-- Defense sets
sets.defense.Evasion = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.PDT = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.MDT = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
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
sets.engaged = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Acc = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Evasion = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.PDT = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Suppanomimi",ear2="Cessance Earring",
body="Emet harness +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending ring",ring2="Patricius ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Migawari = {body="Iga Ningi +2"}
sets.buff.Doom = {ring2="Saida Ring"}
sets.buff.Yonin = {}
sets.buff.Innin = {}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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 state.Buff.Doom then
equip(sets.buff.Doom)
end
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
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.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
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.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
-- Called by the default 'update' self-command.
function job_update(cmdParams, eventArgs)
select_movement_feet()
determine_haste_group()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
-- We have three groups of DW in gear: Hachiya body/legs, Iga head + Patentia Sash, and 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.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 and buffactive.haste then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.embrava and (buffactive.haste or buffactive.march) then
classes.CustomMeleeGroups:append('EmbravaHaste')
elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 2 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
-- 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(4, 3)
elseif player.sub_job == 'THF' then
set_macro_page(5, 3)
else
set_macro_page(1, 3)
end
end
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-22 12:52:25
If you are able to input //gs equip sets.precast.FC.Utsusemi in game and get it to equip correctly, then the only thing I can possibly think is your mapping is incorrect/somehow misspelled, the //gs reload didn't in fact reload after you saved the file, you're editing a lua file outside of the correct folder, or there's something else going hinky in the file. *shrugs*
I'm at work currently so I don't have access to my lua at home or I'd just post it and get you to try it. Hope you can find some kind of fix. I'll poke about again after lunch but only shortly as I have to be off to teach a class. GL~
(try posting in the gearswap help thread?)
Serveur: Asura
Game: FFXI
Posts: 28
By Asura.Massacres 2017-03-22 13:00:41
yup, //gs equip sets.precast.FC.Utsusemi equips my fc utsusemi gear
By SpoonfulOfChris 2017-03-22 14:02:36
I see no function job_precast in the lua.
You could try adding an ustu function into this.
Perhaps something simple like this would solve you issue.
Code function job_precast (spell, action, spellMap, eventArgs)
if spell.type == 'Utsusemi' then
equip(sets.precast.FC.Utsusemi)
end
end
You might have something messed up in your Motes file that is preventing it.
By hamany9 2017-03-22 14:21:33
where do i add this I see no function job_precast in the lua.
You could try adding an ustu function into this.
Perhaps something simple like this would solve you issue.
Code function job_precast (spell, action, spellMap, eventArgs)
if spell.type == 'Utsusemi' then
equip(sets.precast.FC.Utsusemi)
end
end
You might have something messed up in your Motes file that is preventing it.
where do i add this?
and about my mote file being messed up, which one you mean is it mote-globals?
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-22 16:37:35
You can add that wherever you wish. Just not within another function. (Append it to the end of your file if you're unsure).
By hamany9 2017-03-22 18:21:29
Tried everything, still not working. Can anyone please give me a working Nin lua? i already tried motenten's and Allan warren, same issue.
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-23 01:04:26
By hamany9 2017-03-23 02:57:43
hmm tried your lua, still not working.
This is annoying, why tf it won't swap gear when casting utsusemi? rest of gear swaps work fine, including elemental ninjutsu.
By hamany9 2017-03-23 03:21:44
Ok so i tried to sub /whm and cast some spells, precast fast is working fine. So it is a problem with ninjutsu i think, somehow gearswap is not recognizing ninjutsu when it comes to fast cast?
Quetzalcoatl.Langly
Serveur: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2017-03-23 07:32:43
The rest of your files may be corrupt or somethin.
Quite weird.
[+]
By SpoonfulOfChris 2017-03-23 12:59:44
Do you have all of the proper files in addons\gearswap\libs\ ?
Serveur: Odin
Game: FFXI
Posts: 177
By Odin.Speedyjim 2017-03-23 19:47:01
First of all, your sets.midcast.FastRecast has Blue Mage gear (Luhlaza and Amalric). Secondly, I tested your first lua on my Ninja and it's working perfectly with all 3 Utsusemi's.
I don't believe it's the actual nin.lua file, gotta be some other file like the globals, include. Here's mine, which is a Mote version. https://drive.google.com/open?id=0ByGS22kY0-SpdUgyOW5Md0JGXzA
[+]
Necro Bump Detected!
[405 days between previous and next post]
Serveur: Asura
Game: FFXI
Posts: 28
By Asura.Massacres 2018-05-03 02:27:17
Looks gearswap is only working for Utsusemi:San,When i cast Utsusemi: Ichi or Ni gearswap doesn't work, It won't change Precast and midcast gear. Any idea why is it working fine for San and not ichi/ni?
Here's my file:
Code -------------------------------------------------------------------------------------------------------------------
-- 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')
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.Doom = buffactive.doom or false
state.Buff.Yonin = buffactive.Yonin or false
state.Buff.Innin = buffactive.Innin or false
state.Buff.Futae = buffactive.Futae or false
determine_haste_group()
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()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'Evasion', 'PDT')
state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'Evasion')
gear.MovementFeet = {name="Danzo Sune-ate"}
gear.DayFeet = "Danzo Sune-ate"
gear.NightFeet = "Ninja Kyahan"
send_command('wait 6;input /lockstyleset 98')
select_movement_feet()
select_default_macro_book(1, 3)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Mijin Gakure'] = {legs="Mochizuki Hakama"}
sets.precast.JA['Futae'] = {legs="Iga Tekko +2"}
sets.precast.JA['Sange'] = {legs="Mochizuki Chainmail"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Mummu bonnet +1",ear1="Genmei earring",ear2="Odnowa earring +1",
body="Reiki osode",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Nahtirah Trousers",feet="Otronif Boots +1"}
-- Uk'uxkaj Cap, Daihanshi Habaki
-- 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="Ryuo somen",neck="Sanctity Necklace",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Patricius Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch Belt +1",legs="Hizamaru hizayoroi +1",feet="Mummu gamashes +1"}
sets.precast.Flourish1 = {waist="Chaac Belt"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Leyline Gloves",ring1="Prolix Ring",ring2="Kishar ring",
back="Swith Cape",waist="Witful Belt",legs="",feet=""}
sets.precast.FC.Utsusemi = {ammo="Impatiens",
head="Herculean helm",neck="Magoraga beads",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="Mochizuki Chainmail +1",hands="Leyline Gloves",ring1="Prolix Ring",ring2="Kishar ring",
back="Swith Cape",waist="Witful Belt",legs="",feet=""}
-- Snapshot for ranged
sets.precast.RA = {hands="Adhemar wristbands",legs="Adhemar kecks",feet="Adhemar gamashes"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Seething bomblet +1",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Blade: Jin'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Abnoba kaftan",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Hi'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Abnoba kaftan",hands="Kobo kote",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Shun'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Attack+29','Weapon skill damage +4%','DEX+10',}}}
sets.precast.WS['Aeolian Edge'] = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands={ name="Herculean Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +2%','"Mag.Atk.Bns."+11',}},
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Lengo Pants",feet="Amalric nails"}
sets.midcast.Utsusemi = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="Mochizuki Chainmail +1",hands="Mochizuki tekko +1",ring1="Prolix Ring",
back="Andartia's Mantle",waist="Witful Belt",legs="Lengo Pants",feet="Hattori Kyahan +1"}
sets.midcast.ElementalNinjutsu = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.ElementalNinjutsu.Resistant = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuDebuff = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuBuff = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="Mochizuki Chainmail +1",hands="Mochizuki tekko +1",ring1="Prolix Ring",
back="Andartia's Mantle",waist="Witful Belt",legs="Lengo Pants",feet="Hattori Kyahan +1"}
sets.midcast.RA = {
head="Felistris Mask",neck="Ej Necklace",
body="Hachiya Chainmail +1",hands="Hachiya Tekko",ring1="Beeline Ring",
back="Yokaze Mantle",legs="Nahtirah Trousers",feet="Qaaxo Leggings"}
-- Hachiya Hakama/Thurandaut Tights +1
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
-- Resting sets
sets.resting = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
-- Idle sets
sets.idle = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Town = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Councilor's garb",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Weak = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
-- Defense sets
sets.defense.Evasion = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.PDT = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.MDT = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
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
sets.engaged = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Acc = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Evasion = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.PDT = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Suppanomimi",ear2="Cessance Earring",
body="Emet harness +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending ring",ring2="Patricius ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Migawari = {body="Iga Ningi +2"}
sets.buff.Doom = {ring2="Saida Ring"}
sets.buff.Yonin = {}
sets.buff.Innin = {}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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 state.Buff.Doom then
equip(sets.buff.Doom)
end
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
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.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
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.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
-- Called by the default 'update' self-command.
function job_update(cmdParams, eventArgs)
select_movement_feet()
determine_haste_group()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
-- We have three groups of DW in gear: Hachiya body/legs, Iga head + Patentia Sash, and 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.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 and buffactive.haste then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.embrava and (buffactive.haste or buffactive.march) then
classes.CustomMeleeGroups:append('EmbravaHaste')
elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 2 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
-- 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(4, 3)
elseif player.sub_job == 'THF' then
set_macro_page(5, 3)
else
set_macro_page(1, 3)
end
end
Necro Bump Detected!
[175 days between previous and next post]
Asura.Psylo
Serveur: Asura
Game: FFXI
Posts: 446
By Asura.Psylo 2018-10-25 05:18:47
Hello Nin, i'm looking for a function about drop Shadows when i cast a lower version of utsu.
Like begin with San, cast Ni even if i have shadow left but erase it.
Any idea ?
Necro Bump Detected!
[72 days between previous and next post]
By Monko 2019-01-04 16:31:27
Hello Nin, i'm looking for a function about drop Shadows when i cast a lower version of utsu.
Like begin with San, cast Ni even if i have shadow left but erase it.
Any idea ?
Something like this should work:
if string.find(spell.name,'Utsusemi') then
equip(sets.midcast.Utsusemi)
if ((spell.name == 'Utsusemi: Ichi' and (ShadowType == 'Ni' or ShadowType == 'San')) or (spell.name=='Utsusemi: Ni' and ShadowType == 'San')) then
if buffactive['Copy Image'] then
windower.ffxi.cancel_buff(66)
elseif buffactive['Copy Image (2)'] then
windower.ffxi.cancel_buff(444)
elseif buffactive['Copy Image (3)'] then
windower.ffxi.cancel_buff(445)
elseif buffactive['Copy Image (4+)'] then
windower.ffxi.cancel_buff(446)
end
end
Edit: Hot damn sorry for the necro!
Necro Bump Detected!
[213 days between previous and next post]
Serveur: Phoenix
Game: FFXI
Posts: 119
By Phoenix.Rizzspeed 2019-08-05 13:00:32
Necro bump, i know but i thought i'd share a similar situation that happened to me.
If certain spells, job abilites don't fire off your gearswap, it may be the way your macro is written.
Friends that are better with lua writing than i wrote and rewrote parts of my lua several times until i tried using the menu instead of a macro and suddenly everything worked.
i looked at my macro and it required a space between the action i was trying to do and <me>.
so, in short;
/nin "Utsusemi: Ichi"<me>
doesn't activate gearswap
/nin "Utsusemi: Ichi" <me>
does activate gearswap
little annoying feature that i figured i'd share if you didn't already know. =)
I just finished doing my nin lua. Everything is working fine except Precast fast cast and precast/midcast utsusemi. here is my lua:
Code -------------------------------------------------------------------------------------------------------------------
-- 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')
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.Doom = buffactive.doom or false
state.Buff.Yonin = buffactive.Yonin or false
state.Buff.Innin = buffactive.Innin or false
state.Buff.Futae = buffactive.Futae or false
determine_haste_group()
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()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'Evasion', 'PDT')
state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'Evasion')
gear.MovementFeet = {name="Danzo Sune-ate"}
gear.DayFeet = "Danzo Sune-ate"
gear.NightFeet = "Ninja Kyahan"
send_command('wait 6;input /lockstyleset 98')
select_movement_feet()
select_default_macro_book(1, 3)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Mijin Gakure'] = {legs="Mochizuki Hakama"}
sets.precast.JA['Futae'] = {legs="Iga Tekko +2"}
sets.precast.JA['Sange'] = {legs="Mochizuki Chainmail"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Mummu bonnet +1",ear1="Odnowa earring +1",ear2="Genmei earring",
body="Reiki osode",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Nahtirah Trousers",feet="Otronif Boots +1"}
-- Uk'uxkaj Cap, Daihanshi Habaki
-- 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="Ryuo somen",neck="Sanctity Necklace",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Patricius Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch Belt +1",legs="Hizamaru hizayoroi +1",feet="Mummu gamashes +1"}
sets.precast.Flourish1 = {waist="Chaac Belt"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="",feet=""}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads",body="Mochizuki Chainmail +1"})
-- Snapshot for ranged
sets.precast.RA = {hands="Adhemar wristbands",legs="Adhemar kecks",feet="Adhemar gamashes"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Seething bomblet +1",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Blade: Jin'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands={ name="Herculean Gloves", augments={'Accuracy+24 Attack+24','Crit.hit rate+2','STR+9','Accuracy+8','Attack+15',}},ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Hi'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Mummu wrists +1",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Blade: Shun'] = {ammo="Seething bomblet +1",
head="Adhemar bonnet",neck="Fotia gorget",ear1="Ishvara Earring",ear2="Brutal Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Fotia belt",legs="Samnuha tights",
feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.precast.WS['Aeolian Edge'] = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands={ name="Herculean Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +2%','"Mag.Atk.Bns."+11',}},
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {ammo="Impatiens",
head="Herculean helm",neck="Orunmila's torque",ear2="Loquacious Earring",ear1="Etiolation Earring",
body="Luhlaza Jubbah +1",hands="Leyline Gloves",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Lengo Pants",feet="Amalric nails"}
sets.midcast.Utsusemi = set_combine(sets.midcast.SelfNinjutsu, {hands="Mochizuki tekko +1",back="Andartia's mantle",feet="Hattori Kyahan +1"})
sets.midcast.ElementalNinjutsu = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.ElementalNinjutsu.Resistant = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuDebuff = {ammo="Seething bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +1%','INT+10','Mag. Acc.+1','"Mag.Atk.Bns."+12',}},neck="Sanctity necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Magic burst dmg.+3%','Mag. Acc.+14','"Mag.Atk.Bns."+12',}},hands="Mochizuki tekko +1",
ring1="Acumen Ring",ring2="Dingir Ring",back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Eschan stone",
legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Phys. dmg. taken -1%','STR+5','Mag. Acc.+10','"Mag.Atk.Bns."+15',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Fast Cast"+1','STR+9','Mag. Acc.+6','"Mag.Atk.Bns."+14',}}}
sets.midcast.NinjutsuBuff = {head="Hachiya Hatsuburi",hands="Mochizuki tekko +1"}
sets.midcast.RA = {
head="Felistris Mask",neck="Ej Necklace",
body="Hachiya Chainmail +1",hands="Hachiya Tekko",ring1="Beeline Ring",
back="Yokaze Mantle",legs="Nahtirah Trousers",feet="Qaaxo Leggings"}
-- Hachiya Hakama/Thurandaut Tights +1
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
-- Resting sets
sets.resting = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
-- Idle sets
sets.idle = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Town = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Councilor's garb",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
sets.idle.Weak = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet=gear.MovementFeet}
-- Defense sets
sets.defense.Evasion = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.PDT = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
sets.defense.MDT = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Genmei Earring",ear2="Infused Earring",
body="Hizamaru haramaki +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending Ring",ring2="Patricius ring",
back="Solemnity Cape",waist="Flume Belt",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
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
sets.engaged = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Acc = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.Evasion = {ammo="Togakushi shuriken",
head={ name="Herculean Helm", augments={'Attack+15','"Triple Atk."+4','Accuracy+11',}},neck="Clotharius torque",ear1="Suppanomimi",ear2="Cessance Earring",
body="Adhemar jacket",hands="Adhemar wristbands",ring1="Ilabrat Ring",ring2="Epona's Ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Samnuha tights",feet={ name="Herculean Boots", augments={'Accuracy+21 Attack+21','"Triple Atk."+2','STR+5','Attack+13',}}}
sets.engaged.PDT = {ammo="Staunch Tathlum",
head={ name="Herculean Helm", augments={'Phys. dmg. taken -4%','Accuracy+14','Attack+11',}},neck="Loricate torque +1",ear1="Suppanomimi",ear2="Cessance Earring",
body="Emet harness +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -4%','STR+8','Accuracy+4','Attack+5',}},ring1="Defending ring",ring2="Patricius ring",
back={ name="Andartia's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}},waist="Kentarch belt +1",legs="Mummu kecks +1",feet={ name="Herculean Boots", augments={'Accuracy+2','Phys. dmg. taken -5%','Attack+11',}}}
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Migawari = {body="Iga Ningi +2"}
sets.buff.Doom = {ring2="Saida Ring"}
sets.buff.Yonin = {}
sets.buff.Innin = {}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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 state.Buff.Doom then
equip(sets.buff.Doom)
end
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
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.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
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.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
-- Called by the default 'update' self-command.
function job_update(cmdParams, eventArgs)
select_movement_feet()
determine_haste_group()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
-- We have three groups of DW in gear: Hachiya body/legs, Iga head + Patentia Sash, and 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.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 and buffactive.haste then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.embrava and (buffactive.haste or buffactive.march) then
classes.CustomMeleeGroups:append('EmbravaHaste')
elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 2 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
-- 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(4, 3)
elseif player.sub_job == 'THF' then
set_macro_page(5, 3)
else
set_macro_page(1, 3)
end
end
|
|