Open Mr. Pokémon's house, the first rival battle and the return to Elm
Checks / web (push) Canceled after 0s

Mr. Pokémon's ROM scene gives the Mystery Egg and Pokédex, heals the
party, sets the Cherrygrove spawn with blackoutmod and queues Elm's
call. Cherrygrove's rival scene runs both triggers and all three
RIVAL1_1 parties as a CANLOSE battle; reloadmap returns to the script.
Smart AI is accepted for effects with no AI_Smart_EffectHandlers entry
(Normal Hit, Attack Down, Defense Down) and still refuses others before
any random draw, including for reserve Pokémon.

Special calls read SpecialPhoneCallList: the entry's condition decides,
and the ROM's CheckSpecialPhoneCall.script and Script_ReceivePhoneCall
run its caller script through memcall, ending with HangUp's timed
"Click!". Ringing and the caller box are not presented yet.

In Elm's lab, NameRival shows the ROM's "RIVAL'S NAME?" title (the
prompt previously had no page and soft-locked) and applies InitName's
default to blank names. Handing over the Egg and the aide's Poké Balls
run from the ROM. Saves gain rivalName and specialPhoneCall.

The quest fixtures use a seeded RNG (a constant byte never ends the
damage-variation loop) and no longer carry the house's moved objects
into Cherrygrove.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sébastien QUEROLandClaude Opus 5.5 committed 2026-09-24 19:38:20 +02:00
1 parent 7c1c0cc45b
commit dc10343520
18 files changed
+812 -34

No files matched your search

+40
View File
@@ -249,3 +249,43 @@ Changes are uncommitted.
Next: Mr. Pokémon's house and the Mystery Egg; Smart AI before enabling the
rival; capture and the catching tutorial. Joey's post-Egg phone scripts remain
unsupported.
## Mr. Pokémon and the return to Elm: 2026-09-24 (resumed from Codex)
Codex had enabled Mr. Pokémon's house and added `NameRival`, `blackoutmod`,
`reloadmap`, the queued Elm call and the no-handler Smart AI subset. It
stopped with all four quest browser tests failing and without docs. Claude
Code finished the increment:
- The rival scene needed `special FadeOutMusic` (audio only, now accepted).
- The quest fixture's constant `() => 0` RNG hung `BattleCommand_DamageVariation`,
which redraws until the byte is at least 217. The fixture now uses a seeded LCG.
Relocating to Cherrygrove had also carried the house's moved Mr. Pokémon and
Oak onto the Guide Gent and rival (ids 2 and 3), producing an unrestorable
save. The fixture now clears objects and starts off the Guide Gent's tile.
- The browser test expected `specialPhoneCall` 1; `SPECIALCALL_ROBBED` is 2.
- `NameRival` yielded a naming choice with zero pages, because `promptbutton`
had already flushed them. The dialogue never reached its last page, so the
officer scene soft-locked. It now shows the ROM's "RIVAL'S NAME?" and reads
the "SILVER" default from ROM. As in `InitName`, blank names of any number of
spaces take the default. The naming input's accessible label no longer says
"Nickname".
- Elm's call now runs the ROM's `CheckSpecialPhoneCall.script` →
`Script_ReceivePhoneCall` wrapper. It reads the condition and caller script
from `SpecialPhoneCallList` instead of hard-coding id 2, adds `memcall`, and
shows `HangUp`'s timed "Click!". Ringing and the caller name box are still
not presented.
- Added tests: the rival scene for all three starters and both triggers, a
`CANLOSE` loss, reload after each scene, the Elm call (indoors, outdoors,
mid-call reload), the officer naming (named, blank, all-space, reload at
the naming screen), the Egg handover and the aide's Poké Balls, plus a
browser naming-field test.
Checks: 191 unit tests with the local ROM (80 passed, 111 skipped without it);
50 Chromium/WebKit browser tests; native and reference builds; reference,
release and vendor checks; `git diff --check`. Not committed.
Next: capture and the Route 29 catching tutorial (`catchtutorial`), the
first remaining refusal in the opening quest. Then the ringing presentation,
player switching and items in battle. Joey's post-Egg phone scripts remain
unsupported.