Repository navigation
v1.4.269 — Gen 3 item-ball hotfix
Hotfix — Gen 3 (FireRed/LeafGreen/Emerald) only. One file changed.
The bug (reported by darthtron64 — thank you!)
In Gen 3, item Poké Balls on the ground were being treated as NPCs by the mod's interaction system: talking to one gave it a generated trainer name and dialogue ("Trevor" the Pokéball), and worse, the ball could never be picked up — the mod's dialogue swallowed the talk, so the native pickup script never ran. Repeat talks could even trigger item/trade/battle events from a ball.
Root cause
FireRedInteractions decided "is this a regular NPC?" by checking for a script and trainer type, but native object defs carry no item flag — so item balls (graphics id 92) passed every exclusion and were adopted as ambient NPCs. The routines and sleep systems already excluded prop graphics; the interaction module was the one place missing the guard.
The fix
isRegularNpc now excludes the prop graphics ids (92 = item ball, 95/96/97 = cut tree / rock / boulder), mirroring the guard the routines module already used. Item balls now fall through to their normal pickup script.
Verified headless on engine 0.3.94 and 0.3.95 by driving the real item ball in Viridian Forest through the game's actual talk hook: before the fix the ball got a name and opened trainer dialogue; after the fix it passes straight through to pickup. Gen 1 and Gen 2 checked and not affected (their interaction paths only ever adopt mod-spawned NPCs). No other features or behavior changed.