Port Headbutt and Rock Smash encounters
Facing a Headbutt tree asks to HEADBUTT it, and HEADBUTT from the party menu skips the question. ShakeHeadbuttTree shakes the tree as a sprite over grass, then TreeMonEncounter scores the facing tile against the trainer ID and draws from the map's common or rare tree table. A Pokémon that falls fights as BATTLETYPE_TREE: "fell out of the tree!", and the time of day's AsleepTreeMons species start asleep. Smashable rocks run SmashRockScript, and ROCK SMASH from the party menu acts on the facing rock; after the rock breaks, RockMonEncounter gives the map's rock set a 40% chance of a wild battle. Closes #26 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ee55d344af
commit
f259163da9
18 files changed
+789
-36
No files matched your search
@@ -65,5 +65,12 @@ describe.skipIf(!existsSync(romPath) || !process.env.MAKE_TEST_SAVES)(
|
||||
expect(world.mapId).toBe("24:4");
|
||||
write("fly-teleport", world);
|
||||
});
|
||||
|
||||
it("writes headbutt: Route 29 facing a Headbutt tree", () => {
|
||||
// Totodile with Headbutt and Tackle, below the first reachable tree.
|
||||
const world = foundationFixture(assets(), "headbutt");
|
||||
expect(world.mapId).toBe("24:3");
|
||||
write("headbutt", world);
|
||||
});
|
||||
},
|
||||
);
|
||||
Reference in new issue
Block a user