Port the fishing rods and wild Magikarp
The Old, Good and Super Rods run FishFunction facing water: the map's fish group and Fish pick no fish, no bite, or a Pokémon from FishGroups and the time of day's TimeFishGroups. The player casts and jiggles with the fishing frames drawn from LoadFishingGFX's tiles, shows "!" on a bite, and the hooked Pokémon attacks as BATTLETYPE_FISH. Facing pieces now use signed offsets, which the rod above and left of the player needs. Wild Magikarp no longer stop a battle: LoadEnemyMon redraws their DVs through CalcMagikarpLength and its filters, as the original does. The length routine matches the original in the reference emulator. Part of #27 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4cb4676c7d
commit
397dcef44c
20 files changed
+681
-47
No files matched your search
@@ -20,7 +20,6 @@ const BICYCLE = 7,
|
||||
ANTIDOTE = 9,
|
||||
FULL_RESTORE = 0x0e,
|
||||
POTION = 0x12,
|
||||
OLD_ROD = 0x3a,
|
||||
THUNDERSTONE = 0x17,
|
||||
HP_UP = 0x1a,
|
||||
RARE_CANDY = 0x20,
|
||||
@@ -625,10 +624,8 @@ describe.skipIf(!existsSync(romPath))("the start menu", () => {
|
||||
expect(world.state.registeredItem).toEqual({ which: 0, item: 0 });
|
||||
});
|
||||
|
||||
it("offers no USE without a field menu, and a notice for unported effects", () => {
|
||||
it("offers no USE without a field menu", () => {
|
||||
const world = fixture();
|
||||
world.state.bag.items.push({ item: BERRY, quantity: 1 });
|
||||
world.state.bag.keyItems.push(OLD_ROD);
|
||||
world.state.bag.balls = [{ item: 5, quantity: 3 }];
|
||||
open(world);
|
||||
pick(world, "PACK");
|
||||
@@ -636,11 +633,7 @@ describe.skipIf(!existsSync(romPath))("the start menu", () => {
|
||||
pickItem(world, 5);
|
||||
expect(menuItems(world)).toEqual(["GIVE", "TOSS", "QUIT"]);
|
||||
pick(world, "QUIT");
|
||||
pickItem(world, OLD_ROD);
|
||||
pick(world, "USE");
|
||||
expect(world.notice).toBe("Using OLD ROD is not ported yet.");
|
||||
close(world);
|
||||
expect(world.state.bag.keyItems).toContain(OLD_ROD);
|
||||
});
|
||||
|
||||
it("raises a level with a Rare Candy, forgetting a move to learn a new one", () => {
|
||||
|
||||
Reference in new issue
Block a user