Breed at the Day-Care, hatch Eggs, draw MAIL stationery and browse the Hall of Fame (Closes #29)
- Day-Care and breeding: deposits, withdrawal pricing and growth, compatibility, egg species, DVs and moves, DayCareStep, egg collection and the Odd Egg, compared with the cartridge's routines. - CountStep: walking happiness, DoEggStep, DayCareStep and DoBikeStep in the original's order; HatchEggs with the ROM's hatch animation, compared frame by frame with the original. - MAIL: all ten stationery types and the Portrait MAIL picture, compared with the cartridge's tilemaps, graphics and palettes. - Printing: Bill's PC boxes, Pokedex PRNT, MAIL and the Photo Studio take the original's absent-printer path. - Hall of Fame records (saved apart from the League flag, ready for the League to call) and the Hall of Fame PC, compared with the cartridge's _HallOfFamePC on 255 pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7d03f5c5ca
commit
e49bc6de9a
49 files changed
+6028
-88
No files matched your search
+4
-3
@@ -415,8 +415,7 @@ function mailField(answer: (message: string) => void): HTMLElement[] {
|
||||
box.append(...lines);
|
||||
return [box, ok];
|
||||
}
|
||||
/** ReadAnyMail: the message at its two lines and the author below. The
|
||||
* stationery's graphics are not drawn. */
|
||||
/** ReadAnyMail: cartridge stationery plus accessible message text. */
|
||||
function showMail(world: GameWorld) {
|
||||
const mail = world.mailView;
|
||||
get("mail-view").hidden = !mail;
|
||||
@@ -424,6 +423,8 @@ function showMail(world: GameWorld) {
|
||||
get("mail-type").textContent = world.assets.pokemon.itemName(mail.type);
|
||||
get("mail-message").textContent = mail.message;
|
||||
get("mail-author").textContent = mail.author;
|
||||
const choice = world.dialogue?.choice;
|
||||
if (choice?.kind === "screen") drawTileScreen(get<HTMLCanvasElement>("mail-canvas"), choice.screen, 0);
|
||||
}
|
||||
type MartChoice = Extract<
|
||||
Choice,
|
||||
@@ -1349,7 +1350,7 @@ let tileScreenKey = "";
|
||||
* world's frames. */
|
||||
function showTileScreen(world: GameWorld) {
|
||||
const choice = world.dialogue?.choice;
|
||||
const screen = choice?.kind === "screen" ? choice.screen : undefined;
|
||||
const screen = choice?.kind === "screen" && !world.mailView ? choice.screen : undefined;
|
||||
get("tile-screen").hidden = !screen;
|
||||
get("tile-screen").classList.toggle("overlay", Boolean(screen?.overlay));
|
||||
if (!screen) {
|
||||
|
||||
Reference in new issue
Block a user