Open Tin Tower and Whirl Islands: Suicune, Ho-Oh and Lugia (#32)

Tin Tower's floors and roof and the Whirl Islands are open. The Clear Bell
gets the player past the sages to Suicune in Tin Tower; after the League,
the Rainbow Wing leads up to Ho-Oh, and the Silver Wing to Lugia.

New specials: MonCheck and BeastsCheck (CheckOwnMonAnywhere, with its
five-letter OT comparison and no Day-Care search).

The playthrough driver plans ledge jumps for the later stages, waterfall
descents, warp panels and Surf between warps; the run gains two stages,
Routes 45 and 46 back to Ecruteak and Tin Tower's Suicune.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
kawaandClaude Opus 5.5 committed 2026-10-13 14:47:45 +02:00
1 parent 9c3579937c
commit 3fbc6798eb
10 files changed
+369 -21

No files matched your search

+55
View File
@@ -207,6 +207,13 @@ const BASEMENT_KEY = 0x85,
EVENT_GOT_DRATINI = 0xbd,
EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG = 0xc1,
ENGINE_RISINGBADGE = 0x22;
const ROUTE_46 = "5:9",
ROUTE_29_ROUTE_46_GATE = "24:13",
TIN_TOWER_ENTRANCE = "4:1",
WISE_TRIOS_ROOM = "4:2",
TIN_TOWER_1F = "3:4",
EVENT_RANG_CLEAR_BELL_2 = 0x767,
EVENT_FOUGHT_SUICUNE = 0x335;
/** The acceptance run for PLAN section 2: a new game played from the
* introduction to the catching tutorial through the world's own inputs,
@@ -1431,5 +1438,53 @@ describe.skipIf(!existsSync(romPath))(
reload();
writeTestSave("blackthorn-city");
}, 240_000);
it("takes Routes 45 and 46 down to Route 29 and walks back to Ecruteak", () => {
traceFailures();
// From here on the driver plans ledge jumps (Route 45, Tin Tower).
p.ledges = true;
heal(BLACKTHORN_CENTER, BLACKTHORN);
cross("down", ROUTE_45);
// Route 45's ledges only lead down; Route 46 joins it on the west.
cross("left", ROUTE_46);
stairs(ROUTE_29_ROUTE_46_GATE);
stairs(ROUTE_29);
cross("left", CHERRYGROVE);
cross("up", ROUTE_30);
cross("up", ROUTE_31);
stairs(ROUTE_31_GATE);
stairs(VIOLET);
cross("left", ROUTE_36);
cross("up", ROUTE_37);
cross("up", ECRUTEAK);
reload();
}, 240_000);
it("rings the Clear Bell for the sages and faces Suicune in Tin Tower", () => {
traceFailures();
heal(ECRUTEAK_CENTER, ECRUTEAK);
enter(TIN_TOWER_ENTRANCE, "up");
// EcruteakTinTowerEntranceSageBlocks: a sage steps in the way; told
// about the Clear Bell, he lets the player through.
walk(5, 8);
p.world.move("up");
play();
if (p.world.save().direction !== "up") p.world.move("up");
p.world.interact();
play();
expect(p.log.join(" ")).toContain("The sound of that\nCLEAR BELL!");
expect(p.world.state.events.has(EVENT_RANG_CLEAR_BELL_2)).toBe(true);
walk(5, 4); // the stairs at (5, 3) lead to the building's far side
p.world.move("up");
play();
stairs(WISE_TRIOS_ROOM);
stairs(ECRUTEAK);
// TinTower1FSuicuneBattleScript: Raikou and Entei run; Suicune stays.
stairs(TIN_TOWER_1F);
expect(p.world.state.events.has(EVENT_FOUGHT_SUICUNE)).toBe(true);
expect(p.log.join(" ")).toContain("SUICUNE");
expect(p.log.join(" ")).toContain("rainbow-");
reload();
writeTestSave("tin-tower");
}, 240_000);
},
);