Organizer Derp?

Language: JP EN DE FR
New Items
2023-11-19
users online
Forum » Windower » Support » Organizer derp?
Organizer derp?
 Phoenix.Keido
Offline
Server: Phoenix
Game: FFXI
user: Keido
Posts: 122
By Phoenix.Keido 2016-02-06 08:31:31
Link | Quote | Reply
 
First off I love Organizer. Great plugin never fails to grab all my gear. However, I cant figure out why it tell me its grabbed everything but 3 pieces are missing. Then when I do a //gs validate I in fact do have everything every time.

Is there a way to see what it thinks it cannot grab?
Administrator
Offline
Posts: 6495
By Rooks 2016-02-06 08:39:14
Link | Quote | Reply
 
There's a "verbose" setting in the config that'll be noisier about what it's doing.
[+]
 Phoenix.Keido
Offline
Server: Phoenix
Game: FFXI
user: Keido
Posts: 122
By Phoenix.Keido 2016-02-06 08:48:15
Link | Quote | Reply
 
Found it the XML!

Thank you very very much!

It says that these two items are missing over and over
"Togakushi shuriken"
"Happo Shuriken"

Yet it grabs them every time. Is there a different file that I might need to update to include the Shuriken?
Administrator
Offline
Posts: 6495
By Rooks 2016-02-06 13:17:52
Link | Quote | Reply
 
Can I see your gearswap file? There's a couple of common causes for that, so if it's one of those I'll know pretty quick after looking at the file.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-02-06 13:41:00
Link | Quote | Reply
 
Organizer will do this if you have the same item equipped in two different slots, ie; Rajas Ring on ring1 in one set, and ring2 in another.

Although these are ammo pcs and only go in one slot, I can't say for certain why it's saying it, unless your organizer set isn't right.
[+]
 Phoenix.Keido
Offline
Server: Phoenix
Game: FFXI
user: Keido
Posts: 122
By Phoenix.Keido 2016-02-06 13:55:29
Link | Quote | Reply
 
Here is the GS
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')
	include('organizer-lib')
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.Yonin = buffactive.Yonin or false
    state.Buff.Innin = buffactive.Innin or false
    state.Buff.Futae = buffactive.Futae or false
	state.Buff.Sange = buffactive.Sange or false
	state.warned = M(true)
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('Melee', 'Acc')
    state.WeaponskillMode:options('Normal')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal')
	state.MagicBurst = M(true, 'Magic Burst')
	
    gear.DakenShuriken = 													"Togakushi shuriken"
	gear.RAShuriken = 														"Happo Shuriken"
	options.ammo_warning_limit = 15

    gear.MovementFeet = {													name="Danzo Sune-ate"}
    gear.DayFeet = 															"Danzo Sune-ate"
    gear.NightFeet = 														"Hachiya kyahan +1"
    
    select_movement_feet()
    select_default_macro_book()
end


-- Define sets and vars used by this job file.
function init_gear_sets()
    --------------------------------------
    -- Precast sets
    --------------------------------------

    -- Precast sets to enhance JAs
    sets.precast.JA['Futae'] = {											hands="Hattori tekko +1"}
    sets.precast.JA['Sange'] = {											body="Mochizuki chainmail +1"}
	sets.precast.JA['Mijin Gakure'] = {										legs="Mochizuki hakama +1"}
	sets.precast.JA['Provoke'] = {											ammo="Sapience Orb",
																			neck="Unmoving Collar",
																			waist="Kasiri Belt",
																			ear1="Cryptic Earring",
																			--ear2="Trux Earring",
																			body="Emet Harness +1",
																			--hands="Kurys gloves",
																			ring1="Provocare Ring",
																			ring2="Supershear Ring",
																			back="Fravashi Mantle",
																			--legs="Obatala subligar",
																			feet="Mochi. Kyahan +1"}

    -- Waltz set (chr and vit)
    sets.precast.Waltz = {}								
	
    -- Fast cast sets for spells
    sets.precast.FC = {														ammo="Sapience Orb",
																			neck="Voltsurge torque",
																			head="Herculean helm",
																			ear1="Enchanter earring +1",
																			ear2="Etiolation earring",
																			body="Dread jupon",
																			hands="Leyline gloves",
																			ring1="Weatherspoon ring",
																			ring2="Prolix Ring",
																			legs="Gyve Trousers"}
    
    sets.precast.FC.Utsusemi = 												set_combine(sets.precast.FC,
																			{neck="Magoraga beads",
																			body="Mochizuki chainmail +1",
																			feet="Hattori kyahan +1",
																			back="Mujin Mantle"})

    -- Snapshot for ranged
    sets.precast.RA = {														ammo=gear.RAShuriken,
																			head="Taeon chapeau",
																			body="Pursuer's doublet",
																			hands="Manibozho gloves",
																			legs="Adhemar kecks",
																			feet="Adhemar gamashes"}
														
	-- Ninjutsu
    sets.precast.ElementalNinjutsu = 										set_combine(sets.precast.FC,
																			{neck="Incanter's torque",
																			head="Hachiya hatsuburi +1",
																			waist="Cimmerian Sash",
																			ear1="Ninjutsu Earring",
																			ear2="Stealth Earring",
																			feet="Mochizuki kyahan +1",
																			back="Mujin Mantle"})			
       
    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {														--ammo="Seething bomblet +1",
																			neck="Fotia gorget",
																			waist="Fotia belt",
																			ear1="Ishvara Earring",
																			ear2="Moonshade Earring",
																			ring1="Rajas Ring",
																			ring2="Rufescent Ring",
																			back="Yokaze mantle"}

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
	sets.precast.WS['Aeolian Edge'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			neck="Deviant necklace",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Leyline gloves",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			waist="Eschan Stone",
																			legs="Gyve trousers",
																			feet="Hachiya kyahan +1"})
	
	-- [[Blade: Rin]] Modifiers: STR:60% ; DEX:60% Equipment: Aligned with light equipment (Light Gorget & Light Belt). 
    sets.precast.WS['Blade: Rin'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Herculean Trousers",
																			feet="Herculean Boots"})
														
	-- [[Blade: Retsu]] Modifiers: 	STR:20% ; DEX:60% Equipment: Aligned with soil equipment (Soil Gorget & Soil Belt).
    sets.precast.WS['Blade: Retsu'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Herculean Trousers",
																			feet="Herculean Boots"})

	-- [[Blade: Teki]] Modifiers: 	STR:30% ; INT:30% Equipment: Aligned with aqua equipment (Aqua Gorget & Aqua Belt). 
    sets.precast.WS['Blade: Teki'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			neck="Deviant necklace",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Leyline gloves",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			waist="Eschan Stone",
																			legs="Gyve trousers",
																			feet="Hachiya kyahan +1"})
														
	-- [[Blade: To]] Modifiers: STR:30% ; INT:30% Equipment: Aligned with snow/breeze equipment (Snow/Breeze Gorget & Snow/Breeze Belt).
    sets.precast.WS['Blade: To'] = 											set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			neck="Deviant necklace",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Leyline gloves",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			waist="Eschan Stone",
																			legs="Gyve trousers",
																			feet="Hachiya kyahan +1"})
														
	-- [[Blade: Chi]] Modifiers: STR:30% ; INT:30% Equipment: Aligned with thunder/light equipment (Thunder/Light Gorget & Thunder/Light Belt). 
    sets.precast.WS['Blade: Chi'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			neck="Deviant necklace",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Leyline gloves",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			waist="Eschan Stone",
																			legs="Gyve trousers",
																			feet="Hachiya kyahan +1"})
														
	-- [[Blade: Ei]] Modifiers: STR:40% ; INT:40% Equipment: Aligned with shadow equipment (Shadow Gorget & Shadow Belt). 
    sets.precast.WS['Blade: Ei'] = 											set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			neck="Deviant necklace",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Leyline gloves",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			waist="Eschan Stone",
																			legs="Gyve trousers",
																			feet="Hachiya kyahan +1"})
														
	-- [[Blade: Jin]] Modifiers: STR:30% ; DEX:30% Equipment: Aligned with breeze/thunder equipment (Breeze/Thunder Gorget & Breeze/Thunder Belt).
    sets.precast.WS['Blade: Jin'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Herculean Trousers",
																			feet="Herculean Boots"})
														
	-- [[Blade: Ten]] Modifiers: STR:30% ; DEX:30% Equipment: Aligned with shadow/soil equipment (Shadow/Soil Gorget & Shadow/Soil Belt). 
    sets.precast.WS['Blade: Ten'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Herculean Trousers",
																			feet="Herculean Boots"})
														
	-- [[Blade: Yu]] Modifiers: DEX:40% ; INT:40% Equipment: Aligned with aqua/soil equipment (Aqua/Soil Gorget & Aqua/Soil Belt).
    sets.precast.WS['Blade: Yu'] = 											set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			neck="Deviant necklace",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Leyline gloves",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			waist="Eschan Stone",
																			legs="Gyve trousers",
																			feet="Hachiya kyahan +1"})
														
	-- [[Blade: Shun]] Modifiers: DEX:73~85%, depending on merit points ugrades. Equipment: Aligned with flame/thunder/light equipment (Flame/Thunder/Light Gorget & Flame/Thunder/Light Belt).
    sets.precast.WS['Blade: Shun'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Gyve Trousers",
																			feet="Pursuer's Gaiters"})

	-- [[Blade: Hi]] Modifiers: AGI:80% Equipment: Aligned with shadow/soil equipment (Shadow/Soil Gorget & Shadow/Soil Belt).
    sets.precast.WS['Blade: Hi'] = 											set_combine(sets.precast.WS,{
																			head="Pursuer's Beret",
																			body="Hattori Ningi +1",
																			hands="Pursuer's Cuffs",
																			ring1="Garuda ring +1",
																			ring2="Garuda ring +1",
																			legs="Adhemar Kecks",
																			feet="Pursuer's Gaiters"})
														
	-- [[Blade: Ku]] Modifiers:	STR:30% ; DEX:30% Equipment: Aligned with shadow/soil/light equipment (Shadow/Soil/Light Gorget & Shadow/Soil/Light Belt).
    sets.precast.WS['Blade: Ku'] = 											set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Herculean Trousers",
																			feet="Herculean Boots"})
														
	-- [[Blade: Kamu]] Modifiers: STR:60% ; INT:60%  Equipment: Aligned with shadow/thunder/breeze equipment (Shadow/Thunder/Breeze Gorget & Shadow/Thunder/Breeze Belt).
    sets.precast.WS['Blade: Kamu'] = 										set_combine(sets.precast.WS,{
																			head="Herculean Helm",
																			body="Hattori Ningi +1",
																			hands="Herculean Gloves",
																			legs="Mochizuki hakama +1",
																			feet="Herculean Boots"})														
    
    --------------------------------------
    -- Midcast sets
    --------------------------------------
	
	-- Day Weather Bonus
	sets.midcast.Bonus = 													{ring1="Zodiac ring",
																			waist="Hachirin-no-Obi"}

    sets.midcast.FastRecast = {												ammo="Sapience Orb",
																			neck="Voltsurge torque",
																			head="Herculean helm",
																			ear1="Enchanter earring +1",
																			ear2="Etiolation earring",
																			body="Dread jupon",
																			hands="Leyline gloves",
																			ring1="Weatherspoon ring",
																			legs="Gyve Trousers"}
        
    sets.midcast.Utsusemi = 												set_combine(sets.precast.FC,
																			{neck="Magoraga beads",
																			body="Mochizuki chainmail +1",
																			feet="Hattori kyahan +1"})

    sets.midcast.ElementalNinjutsu = {										--ammo="Seething bomblet +1"
																			neck="Deviant necklace",
																			waist="Eschan stone",
																			head="Mochizuki hatsuburi +1",
																			ear1="Friomisi earring",
																			ear2="Crematio earring",
																			body="Samnuha coat",
																			hands="Hattori tekko +1",
																			ring1="Fenrir ring +1",
																			ring2="Fenrir ring +1",
																			back="Toro Cape",
																			legs="Gyve trousers",
																			feet="Adhemar gamashes"}

    sets.midcast.ElementalNinjutsu.Resistant = 								set_combine(sets.midcast.ElementalNinjutsu, {
																			ammo="Hydrocera",
																			neck="Voltsurge torque",
																			head="Hachiya hatsuburi +1",
																			ear1="Gwati earring",
																			ear2="Enchanter earring +1",
																			hands="Leyline gloves",
																			ring1="Weatherspoon ring",
																			ring2="Sangoma Ring",
																			back="Yokaze mantle",
																			legs="Mochizuki hakama +1",
																			feet="Pursuer's gaiters"})

    sets.midcast.NinjutsuDebuff = 											sets.midcast.ElementalNinjutsu.Resistant

    sets.midcast.NinjutsuBuff = 											sets.precast.ElementalNinjutsu

    sets.midcast.RA = {														ammo=gear.RAShuriken,
																			neck="Erudition Necklace",
																			waist="Eschan stone",
																			head="Naga Somen",
																			ear2="Enervating earring",
																			body="Pursuer's doublet",
																			hands="Hachiya tekko +1",
																			ring1="Paqichikaji Ring",
																			ring2="Hajduk ring",
																			back="Yokaze mantle",
																			legs="Adhemar Kecks",
																			feet="Pursuer's gaiters"}

    --------------------------------------
    -- Idle/resting/defense/etc sets
    --------------------------------------
    
    -- Resting sets
    sets.resting = {														head="Herculean Helm",
																			body="Emet Harness +1",
																			hands="Umuthi Gloves",
																			legs="Herculean Trousers",
																			feet="Herculean Boots",
																			neck="Bathy Choker +1",
																			waist="Flume Belt",
																			ear1="Infused Earring",
																			ear2="Hibern. Earring",
																			ring1="Sheltered Ring",
																			ring2="Paguroidea Ring",
																			back="Solemnity Cape"}
    
    -- Idle sets
    sets.idle = 															set_combine(sets.resting,{
																			feet=gear.MovementFeet})

    sets.idle.Town = {														ammo=gear.DakenShuriken,
																			main="Aizushintogo",
																			sub="Aizushintogo",
																			neck="Fotia gorget",
																			waist="Fotia belt",
																			head="Hattori Zukin +1",
																			ear1="Ishvara Earring",
																			ear2="Moonshade Earring",
																			body="Hattori Ningi +1",
																			hands="Hattori Tekko +1",
																			ring1="Garuda ring +1",
																			ring2="Garuda ring +1",
																			back="Yokaze mantle",
																			legs="Hattori Hakama +1",
																			feet=gear.MovementFeet}

    -- Defense sets
    sets.defense.PDT = 														set_combine(sets.resting,{
																			ring1="Gelatinous ring",
																			ring2="Patricius ring",
																			neck="Twilight torque",
																			ear2="Colossus's earring"})

    sets.defense.MDT = 														set_combine(sets.resting, 
																			{head="Dampening tam",
																			neck="Twilight torque",
																			ear1="Merman's earring",
																			ear2="Etiolation earring",
																			ring1="Yacuruna ring",
																			ring2="Yacuruna ring",
																			waist="Flax sash"})


    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.Melee = {													ammo=gear.DakenShuriken,
																			head="Adhemar Bonnet",
																			neck="Clotharius torque",
																			ear1="Eabani earring",
																			ear2="Suppanomimi",
																			body="Samnuha coat",
																			hands="Herculean Gloves",
																			ring1="Epona's ring",
																			ring2="Oneiros Ring",
																			back="Bleating Mantle",
																			waist="Windbuffet belt +1",
																			legs="Herculean Trousers",
																			feet="Herculean Boots"}
							
    sets.engaged.Acc = 														set_combine(sets.engaged.Melee,{
																			head="Dampening tam",
																			neck="Ej necklace",
																			ear2="Steelflash earring",
																			ear1="Zennaroi earring",
																			ring1="Supershear ring",
																			ring2="Patricius ring",
																			back="Yokaze mantle",
																			waist="Olseni belt"})
														
	organizer_items = {								    					food="Sublime Sushi",
																			tooolbaginoshishinofuda="Toolbag (Ino)",
																			tooolbagchonofuda="Toolbag (Cho)",
																			tooolbagshikanofuda="Toolbag (Shika)",
																			inoshishinofuda="Inoshishinofuda",
																			shikanofuda="Shikanofuda",
																			chonofuda="Chonofuda",
																			togashuriken="Togakushi shuriken",
																			happoshuriken="Happo shuriken",
																			Extraboots="Danzo Sune-ate"}

    --------------------------------------
    -- Custom buff sets
    --------------------------------------

    sets.buff.Migawari = {													body="Hattori ningi +1"}
    sets.buff.Yonin = {														legs="Hattori hakama +1"}
    sets.buff.Innin = {														head="Hattori zukin +1"}
	sets.buff.Futae = {														hands="Hattori tekko +1"}
	sets.buff.Sange = 														set_combine(sets.midcast.RA, {
																			body="Mochizuki chainmail +1"})
														
    sets.magic_burst = {													main="Ochu",
																			sub="Ochu",
																			ear1="Static earring",
																			body="Samnuha coat",
																			ring1="Locus ring",
																			ring2="Mujin Band"}														
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------


function job_precast(spell, action, spellMap, eventArgs)
	if player.tp > 1000 then
		disable('main','sub')
		if spell.action_type == 'Ranged Attack' then
		state.CombatWeapon:set(player.equipment.range)
		end
		if spell.action_type == 'Ranged Attack' then
		do_shuriken_checks(spell, action, spellMap, eventArgs)
		end
	end
end

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.

function job_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == 'ElementalNinjutsu' and (spell.element == world.weather_element or spell.element == world.day_element) then
        equip(sets.midcast.Bonus)
	end
end

function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
        equip(sets.magic_burst)
    end
end

function job_aftercast(spell, action, spellMap, eventArgs)
    if player.tp < 1000 then
        enable('main','sub')
	elseif not spell.interrupted then
        if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
            state.MagicBurst:reset()
		elseif spell.english == 'Kurayami: Ichi' or spell.english == 'Kurayami: Ni' then
			send_command('@wait 55;input /echo ------- '..spell.english..'(Blind) is wearing off in 5 seconds -------')
		elseif spell.english == 'Hojo: Ichi' or spell.english == 'Hojo: Ni' then
			send_command('@wait 55;input /echo ------- '..spell.english..'(Slow) is wearing off in 5 seconds -------')
		elseif spell.english == 'Dokumori: Ichi' then
			send_command('@wait 55;input /echo ------- '..spell.english..'(Poison) is wearing off in 5 seconds -------')
		elseif spell.english == 'Jubaku: Ichi' then
			send_command('@wait 55;input /echo ------- '..spell.english..'(Paralyze) is wearing off in 5 seconds -------')
		elseif spell.english == 'Aisha: Ichi' then
			send_command('@wait 125;input /echo ------- '..spell.english..'(Attack Down) is wearing off in 5 seconds -------')
		elseif spell.english == 'Yurin: Ichi' then
			send_command('@wait 125;input /echo ------- '..spell.english..'(Inhibit TP) is wearing off in 5 seconds -------')
		elseif spell.english == "Migawari: Ichi" then
			state.Buff.Migawari = true
		elseif spell.english == "Yonin" then
			state.Buff.Yonin = true
		elseif spell.english == "Innin" then
			state.Buff.Innin = true
		elseif spell.english == "Sange" then
			state.Buff.Sange = true
		elseif spell.english == "Futae" then
			state.Buff.Futae = true
		end
    end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------

function job_buff_change(buff, gain)
	if buff == "Migawari" then
		if gain then
			equip(sets.buff.Migawari)
			disable('body')
		else
			enable('body')
		end
	elseif buff == "Yonin" then
		if gain then
			equip(sets.buff.Yonin)
			disable('legs')
		else
			enable('legs')
		end
	elseif buff == "Innin" then
		if gain then
			equip(sets.buff.Innin)
			disable('head')
		else
			enable('head')
		end
	elseif buff == "Sange" then
		if gain then
			equip(sets.buff.Sange)
			disable('ammo')
		else
			enable('ammo')
		end
	elseif buff == "Futae" then
		if gain then
			equip(sets.buff.Futae)
			disable('hands')
		else
			enable('hands')
		end
	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.Yonin then
		idleSet = set_combine(idleSet, sets.buff.Yonin)
	end	
	if state.Buff.Innin then
		idleSet = set_combine(idleSet, sets.buff.Innin)
	end	
	if state.Buff.Sange then
		idleSet = set_combine(idleSet, sets.buff.Sange)
	end	
	if state.Buff.Futae then
		idleSet = set_combine(idleSet, sets.buff.Futae)
	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.Yonin then
		meleeSet = set_combine(meleeSet, sets.buff.Yonin)
	end	
	if state.Buff.Innin then
		meleeSet = set_combine(meleeSet, sets.buff.Innin)
	end	
	if state.Buff.Sange then
		meleeSet = set_combine(meleeSet, sets.buff.Sange)
	end	
    return meleeSet
end

-- Called by the default 'update' self-command.
function job_update(cmdParams, eventArgs)
    select_movement_feet()
end

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

function select_movement_feet()
    if world.time >= 17*60 or world.time < 7*60 then
        gear.MovementFeet.name = gear.NightFeet
    else
        gear.MovementFeet.name = gear.DayFeet
    end
end

function do_shuriken_checks(spell, spellMap, eventArgs)
    local shuriken_name
    local shuriken_min_count = 1
    
    if spell.action_type == 'Ranged Attack' then
        shuriken_name = gear.RAShuriken
    end
    
    local available_shurikens = player.inventory[shuriken_name] or player.wardrobe[shuriken_name]
    
    -- If no ammo is available, give appropriate warning and end.
    if not available_shurikens then
        if spell.action_type == 'Ranged Attack' and player.equipment.ammo == gear.RAShuriken then
            add_to_chat(104, 'No Shuriken ammo left.')
            return
        else
            add_to_chat(104, 'No ammo ('..tostring(shuriken_name)..') available for that action.')
            eventArgs.cancel = true
            return
        end
    end
    
    -- Low ammo warning.
    if spell.action_type == 'Ranged Attack' and state.warned.value == false
        and available_shurikens.count > 1 and available_shurikens.count <= options.ammo_warning_limit then
        local msg = '*****  LOW AMMO WARNING: '..shuriken_name..' *****'
        --local border = string.repeat("*", #msg)
        local border = ""
        for i = 1, #msg do
            border = border .. "*"
        end
        
        add_to_chat(104, border)
        add_to_chat(104, msg)
        add_to_chat(104, border)

        state.warned:set()
    elseif available_shurikens.count > options.ammo_warning_limit and state.warned then
        state.warned:reset()
    end
end

-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
	set_macro_page(1, 2)
end
Administrator
Offline
Posts: 6495
By Rooks 2016-02-06 18:54:16
Link | Quote | Reply
 
As speedyjim points out, it's because you have them assigned to two places. You don't need them in organizer_items if they're assigned in sets.
[+]
 Phoenix.Keido
Offline
Server: Phoenix
Game: FFXI
user: Keido
Posts: 122
By Phoenix.Keido 2016-02-06 19:35:10
Link | Quote | Reply
 
Thank you!
Log in to post.