The Old, Good and Super Rods run FishFunction facing water: the map's fish
group and Fish pick no fish, no bite, or a Pokémon from FishGroups and the
time of day's TimeFishGroups. The player casts and jiggles with the
fishing frames drawn from LoadFishingGFX's tiles, shows "!" on a bite, and
the hooked Pokémon attacks as BATTLETYPE_FISH. Facing pieces now use
signed offsets, which the rod above and left of the player needs.
Wild Magikarp no longer stop a battle: LoadEnemyMon redraws their DVs
through CalcMagikarpLength and its filters, as the original does. The
length routine matches the original in the reference emulator.
Part of #27
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Run every non-ball item effect usable in battle from the ROM's
ItemEffects: Full Restore, revives, bitter medicine, Bitter Berry, Ethers
and Elixers, X items, X Accuracy, Guard Spec, Dire Hit and Poké Doll.
- Read happiness changes from HappinessChanges, including the larger
level-up gain where a Pokémon was caught.
- Model hBattleTurn at the battle menu, including the trainer AI's writes,
and drop the status-heal refusal.
- Port the stats screen for battles and Bill's PC.
- Compare the send-out and withdraw texts, RestoreHealth, RestorePP,
ChangeHappiness and CalcPlayerStats with the original routines.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Decode evolution lists from the ROM; all 251 match the pinned PRET source.
- Compare CalcMonStats and CalcExpAtLevel against the original routines in
the reference emulator.
- Add a continuous opening playthrough from the intro to the catching
tutorial, reloading a JSON save after every stage.
- Port player switching in battle: the PKMN menu, forced choices after a
faint, Shift mode's offer and double faints, with the original texts.
- Port HP and status healing items in battle through the ROM's ItemEffects,
HealingHPAmounts and StatusHealingActions tables.
- Add the battle party menu and the Items pocket to the UI.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Enable Route 29, its Route 46 gate, Cherrygrove City and its buildings.
- Run item balls through FindItemInBallScript and fruit trees through
FruitTreeScript, with a native daily reset of the daily engine flags.
- Port the Pokémon Center nurse (HealParty with the PP Up clamp,
CheckPokerus, phone-call checks) and record the whiteout spawn on
entering a Pokémon Center, as EnterMapWarp does.
- Port standard Poké Marts with keyboard, D-pad and pointer menus.
- Add the recoil battle command (Struggle) and VAR_BOXSPACE.
- Save fruit trees, the daily reset day and the last spawn map; older
version-3 backups migrate by absence.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>