Port evolution, Rare Candy, evolution stones and vitamins
Checks / web (push) Canceled after 0s

Pokémon that levelled up evolve after a won battle, following
EvolveAfterBattle's checks over the ROM's evolution bytes, with the
evolution screen that B can stop and move learning outside battle. The pack
uses Rare Candy, stones (with ABLE/NOT ABLE labels) and vitamins, and its
pocket tabs now sit in their own row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Sébastien QUEROLandClaude Opus 5.5 committed 2026-09-30 16:21:59 +02:00
1 parent 1af2beacdc
commit 45275ba83b
19 files changed
+1032 -39

No files matched your search

+6 -3
View File
@@ -264,7 +264,9 @@ function showMart(world: GameWorld, mart: MartChoice | undefined) {
const key = JSON.stringify(mart);
if (key === martMenuKey) return;
martMenuKey = key;
const menu = get("mart-menu");
const menu = get("mart-menu"),
tabs = get("mart-tabs");
tabs.hidden = mart.kind !== "pack";
const button = (
label: string,
action: () => void,
@@ -299,7 +301,7 @@ function showMart(world: GameWorld, mart: MartChoice | undefined) {
}
if (mart.kind === "pack") {
// Pocket tabs (left and right on the keyboard), then the pocket's items.
const tabs = mart.pockets.map((pocket, index) => {
const pocketTabs = mart.pockets.map((pocket, index) => {
const tab = button(pocket.name, () => {
const world = runtime.world;
const choice = world?.dialogue?.choice;
@@ -328,7 +330,8 @@ function showMart(world: GameWorld, mart: MartChoice | undefined) {
buttons.push(empty);
}
buttons.push(button("BACK", () => runtime.choose(-1), { wide: true }));
menu.replaceChildren(...tabs, ...buttons);
tabs.replaceChildren(...pocketTabs);
menu.replaceChildren(...buttons);
return;
}
if (mart.kind === "martlist") {