Manual test: Headbutt tree shake and tree battles #51

Open
opened 2026-10-02 12:20:44 +02:00 by kawa · 0 comments
Owner

Why a person: the automated tests check the shake and the tree battle against our own reading of the ROM. They can't tell whether it looks like the original game.

Setup (on a machine with the ROM)

  1. MAKE_TEST_SAVES=1 npx vitest run tests/human-test-saves.test.ts writes test-saves/headbutt.crystal-save.json.
  2. npm run dev, load the ROM, then Savegames → Import native backup → that file, then Play.

The save stands on Route 29, facing up at a tree that can be headbutted, with TOTODILE (HEADBUTT, TACKLE).

Steps and expected results

  • A shows "A POKéMON could be in this tree." then "Want to HEADBUTT it?" with YES/NO. NO closes the box and nothing else happens.
  • YES shows "TOTODILE did a HEADBUTT!". After A, the box closes and the tree in front shakes left and right for about a second, then stands still. No other tree changes.
  • Then either "Nope. Nothing…" or a battle that opens with " fell out of the tree!" instead of "Wild appeared!". It is a level 10 HOOTHOOT, SPINARAK, LEDYBA, EXEGGCUTE or PINECO.
  • By day, a HOOTHOOT or SPINARAK that falls is already asleep (SLP). At night, LEDYBA and EXEGGCUTE are asleep and HOOTHOOT and SPINARAK are awake. PINECO is never asleep.
  • RUN works, and you are back in front of the tree afterwards. Headbutting the same tree again and again keeps the same odds, so some trees give something often and others hardly ever.
  • Start → POKéMON → TOTODILE → HEADBUTT while facing the tree skips the question and goes straight to "did a HEADBUTT!". Facing grass, it says "Can't use that here."
  • If you can compare with the original (cartridge, emulator or video): the shake's speed, its size, the tree's colours while it shakes and the battle's opening text look the same.

Known differences, don't report these: no sound and no cry.

Rock Smash can't be checked by hand yet: no open map has smashable rocks.

Report: tick each line that matches; for anything else, add a comment with a screenshot or a short video and what you expected.

Commit: f259163

Why a person: the automated tests check the shake and the tree battle against our own reading of the ROM. They can't tell whether it looks like the original game. **Setup** (on a machine with the ROM) 1. `MAKE_TEST_SAVES=1 npx vitest run tests/human-test-saves.test.ts` writes `test-saves/headbutt.crystal-save.json`. 2. `npm run dev`, load the ROM, then Savegames → Import native backup → that file, then Play. The save stands on Route 29, facing up at a tree that can be headbutted, with TOTODILE (HEADBUTT, TACKLE). **Steps and expected results** - [ ] A shows "A POKéMON could be in this tree." then "Want to HEADBUTT it?" with YES/NO. NO closes the box and nothing else happens. - [ ] YES shows "TOTODILE did a HEADBUTT!". After A, the box closes and the tree in front shakes left and right for about a second, then stands still. No other tree changes. - [ ] Then either "Nope. Nothing…" or a battle that opens with "<name> fell out of the tree!" instead of "Wild <name> appeared!". It is a level 10 HOOTHOOT, SPINARAK, LEDYBA, EXEGGCUTE or PINECO. - [ ] By day, a HOOTHOOT or SPINARAK that falls is already asleep (SLP). At night, LEDYBA and EXEGGCUTE are asleep and HOOTHOOT and SPINARAK are awake. PINECO is never asleep. - [ ] RUN works, and you are back in front of the tree afterwards. Headbutting the same tree again and again keeps the same odds, so some trees give something often and others hardly ever. - [ ] Start → POKéMON → TOTODILE → HEADBUTT while facing the tree skips the question and goes straight to "did a HEADBUTT!". Facing grass, it says "Can't use that here." - [ ] If you can compare with the original (cartridge, emulator or video): the shake's speed, its size, the tree's colours while it shakes and the battle's opening text look the same. Known differences, don't report these: no sound and no cry. Rock Smash can't be checked by hand yet: no open map has smashable rocks. **Report**: tick each line that matches; for anything else, add a comment with a screenshot or a short video and what you expected. Commit: f259163
kawa added this to the Pokemon Crystal - Web project 2026-10-02 12:20:54 +02:00
kawa moved this to A tester in Pokemon Crystal - Web on 2026-10-02 12:20:54 +02:00
PestoRosso self-assigned this 2026-10-03 15:12:44 +02:00
PestoRosso added the P0 - nowparity labels 2026-10-03 15:19:49 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kawa/Crystal#51