Open the League: Victory Road, the Elite Four, the Hall of Fame and the credits (#33)
Routes 26 and 27 with their houses, Tohjo Falls, the Victory Road gate, Victory Road, Route 23, Indigo Plateau, the Elite Four's rooms, Lance's room and the Hall of Fame are open. - halloffame (game/scripts/league.ts): the music fades as SAVING RECORD shows, the win and the team (without Eggs) are recorded, each Pokémon's back picture passes and its front picture slides in for its "New Hall of Famer!" page and cry, then the player's card with the play time and Professor Oak's rating; the play time stops meanwhile. The world then continues at New Bark as Continue does after the cartridge's reset. - credits and the credits after the Hall of Fame (CreditsMachine): the ROM's script, strings, banner Pokémon and THE END, frame by frame as VBlank_Credits presents them, with the frames each command group runs over measured on the cartridge. B shortens credits seen before. - wait, appear/disappear of the player, and rival names in battle texts (PlaceEnemysName prints wRivalName alone: "???" before he is named). - The tile-screen renderer wraps hSCX/hSCY at 256 pixels and gives rows their own hSCX. - Reference: the credits match the cartridge on every frame (BG map, banner tiles, CRAM palettes, LY overrides, parser), with and without B; the ceremony's pages match for every species and the player's card for Chris and Kris. - Playthrough: five stages from Tin Tower to the Hall of Fame (HM07 from Ice Path, Tohjo Falls' waterfall, Victory Road's ladders, the Elite Four and Lance); the driver follows warps within a map and fights carefully from here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b6fdc23508
commit
f05fd8ebee
23 files changed
+1943
-107
No files matched your search
+17
-11
@@ -520,23 +520,29 @@ describe.skipIf(!existsSync(romPath))(
|
||||
() => new Date("2026-09-22T12:00:00"),
|
||||
);
|
||||
const start = world.save();
|
||||
// New Bark Town's east edge is water leading to Route 27, which
|
||||
// stays closed: a surfer is refused.
|
||||
// New Bark Town's east edge is water leading to Route 27; with Route
|
||||
// 27 closed for this test, a surfer is refused.
|
||||
const town = world.assets.map("24:4"),
|
||||
right = town.width - 1;
|
||||
const edge = Array.from({ length: town.height }, (_, y) => y).find(
|
||||
(y) =>
|
||||
world.assets.permission(world.assets.collision(town, right, y)) === 1,
|
||||
)!;
|
||||
world.restore({
|
||||
...world.save(),
|
||||
map: "24:4",
|
||||
x: right,
|
||||
y: edge,
|
||||
playerState: 4, // PLAYER_SURF
|
||||
});
|
||||
expect(world.move("right")).toBe(false);
|
||||
expect(world.notice).toBe("Route 27 is not ported yet.");
|
||||
const route27 = NATIVE_MAPS["24:2"];
|
||||
delete NATIVE_MAPS["24:2"];
|
||||
try {
|
||||
world.restore({
|
||||
...world.save(),
|
||||
map: "24:4",
|
||||
x: right,
|
||||
y: edge,
|
||||
playerState: 4, // PLAYER_SURF
|
||||
});
|
||||
expect(world.move("right")).toBe(false);
|
||||
expect(world.notice).toBe("Route 27 is not ported yet.");
|
||||
} finally {
|
||||
NATIVE_MAPS["24:2"] = route27;
|
||||
}
|
||||
world.restore(start);
|
||||
const {
|
||||
scenes,
|
||||
|
||||
Reference in new issue
Block a user