Port evolution, Rare Candy, evolution stones and vitamins
Checks / web (push) Canceled after 0s

Pokémon that levelled up evolve after a won battle, following
EvolveAfterBattle's checks over the ROM's evolution bytes, with the
evolution screen that B can stop and move learning outside battle. The pack
uses Rare Candy, stones (with ABLE/NOT ABLE labels) and vitamins, and its
pocket tabs now sit in their own row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Sébastien QUEROLandClaude Opus 5.5 committed 2026-09-30 16:21:59 +02:00
1 parent 1af2beacdc
commit 45275ba83b
19 files changed
+1032 -39

No files matched your search

+35 -2
View File
@@ -1,7 +1,6 @@
# Recovered Claude session
Latest continuation: see **Start menu, party menu and pack: 2026-09-30**
at the end of this file. Earlier sections are historical snapshots.
Latest continuation: see **Evolution: 2026-09-30** at the end of this file. Earlier sections are historical snapshots.
Recovered on 2026-09-23 from the local Claude Code transcript
`~/.claude/projects/-Users-kawa-Crystal/4ac88f30-29e6-4fd5-a4b2-b6a318dd83b3.jsonl`.
@@ -729,3 +728,37 @@ and reference builds, reference, vendor and release checks; `git diff
Next: evolution (`EvolveAfterBattle` after battles and from stones/Rare
Candy, with the level-up flags the battle must record), then vitamins,
MOVE PKMN W/O MAIL, SEL/registered items and field moves from the menu.
The start menu increment was committed and pushed as `1af2bea`.
## Evolution: 2026-09-30
Continued in the same session after `1af2bea`.
- `src/game/scripts/evolution.ts` (`PartyEvolution`): `EvolveAfterBattle`
walking the raw evolution bytes with the original's skip counts
(forced evolutions misread `EVOLVE_STAT` like the original), the texts,
a timed `evolve` effect (40 ticks, then seven wait/flash rounds; B only in
the waits and never for stones), nickname update only for unnicknamed
Pokémon, stats with stat experience, HP rise, `LearnLevelMoves`,
`LearnMove`/`ForgetMove` outside battle, and the Pokédex.
- The battle records `wEvolvableFlags` on level-up and returns them; after a
win the world runs the evolution as a script interlude before resuming
the battle's script (same draft, commits together).
- PACK: Rare Candy (level, exp, HP rise that revives, happiness, level-up
text, stat page, moves, evolution), evolution stones (ABLE/NOT ABLE party
labels with the original 10-byte/3-step check; Everstone and no-match
have no effect) and vitamins (stat experience high byte +10 up to 100).
- UI: the picture box shows the flashing evolution; the pack's pocket tabs
moved into their own compact row (`#mart-tabs`).
Checks: 360 unit tests with the local ROM (5 new start-menu evolution
tests, 2 new battle-world tests); 111 Chromium/WebKit browser tests passed,
19 skipped intentionally (a new Rare Candy evolution flow in both
browsers); native and reference builds, reference, vendor and release
checks; `git diff --check`. No emulator comparison of evolution or the
menus; no CI or physical-device run.
Next: MOVE PKMN W/O MAIL, SEL/registered items with Select, field moves
from the menu (Cut, Surf, Strength already have their ROM scripts), then
the Pokégear. Trade evolutions wait for Link.