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
@@ -256,6 +256,32 @@ describe.skipIf(!existsSync(romPath))("MAIL", () => {
|
||||
expect(world.state.bag.items).toEqual([{ item: FLOWER_MAIL, quantity: 1 }]);
|
||||
});
|
||||
|
||||
it("prints with Start, waits for B on the error and restores the letter", () => {
|
||||
const world = fixture();
|
||||
const mon = world.state.party[0];
|
||||
mon.item = FLOWER_MAIL;
|
||||
mon.mail = letter(world, "“HELLO…”");
|
||||
mailMenu(world);
|
||||
world.choose(0);
|
||||
const before = world.dialogue?.choice;
|
||||
expect(before?.kind).toBe("screen");
|
||||
world.choose("down");
|
||||
expect(world.mailView).toEqual(mon.mail);
|
||||
world.choose("start");
|
||||
const printer = world.dialogue?.choice;
|
||||
expect(printer?.kind === "screen" && printer.screen.label).toContain("Printer Error 2");
|
||||
expect(world.mailView).toBeUndefined();
|
||||
world.choose("a");
|
||||
expect(world.dialogue?.choice).toEqual(printer);
|
||||
world.choose("b");
|
||||
expect(world.mailView).toEqual(mon.mail);
|
||||
expect(world.dialogue?.choice).toEqual(before);
|
||||
world.choose("a");
|
||||
until(world);
|
||||
close(world);
|
||||
expect(world.state.party[0].mail).toEqual(mon.mail);
|
||||
});
|
||||
|
||||
it("keeps a Pokémon holding MAIL out of the boxes", () => {
|
||||
const world = fixture();
|
||||
const mon = world.state.party[1];
|
||||
|
||||
Reference in new issue
Block a user