Files
gen1recomp/tests
Shane McGovern 7ec1d9be0c fix(game3): gate the level-up stat window on the EXP sequence (#2324)
The FRLG level-up stat window opened and the sequence kept pumping, so the
box outlived its own step: it stopped taking input (routing is phase-gated),
never closed, and drew over the win/money text.

- exp_seq: update() now waits while the window is open (mirroring the
  already-correct busy()), and finish()/reset() tear the window down silently
  so a stale onDone cannot advance a sequence that no longer owns it.
- stat_growth: close(opts) gains opts.silent for teardown callers.
- init: the input-routing phase list moves into STAT_WINDOW_PHASES behind
  Battle.statWindowPhase(), and Battle.update() tears down a window whose
  phase can no longer dismiss it.
- ui: the stat-window draw keys off the same predicate, so input and drawing
  can never disagree.

Tests: the "In-Battle Level Up Stat Growth Window" block in
tests/game3_battle_switch_and_faint_test.lua now pumps ExpSeq.update() while
the box is open, and a new CI-covered tests/engine suite pins the same
regression.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-19 13:26:02 +01:00
..
2026-07-19 16:18:18 -04:00
2026-09-18 16:49:48 -04:00
2026-07-17 20:30:02 -04:00
2026-07-19 16:18:18 -04:00
2026-08-15 06:04:04 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 15:42:32 -04:00
2026-09-18 13:11:33 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-13 01:06:04 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 13:11:33 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-13 01:06:04 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 03:34:39 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 16:49:48 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-18 10:49:04 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-18 15:37:27 -05:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-07-19 16:18:18 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-07-19 16:18:18 -04:00
2026-08-13 06:05:27 -04:00
2026-08-12 09:22:30 -04:00
2026-08-12 09:22:30 -04:00
2026-07-24 09:06:29 -04:00
2026-09-04 09:56:35 -04:00
2026-08-28 14:15:51 -04:00
2026-08-28 10:14:44 -04:00
2026-09-04 09:56:35 -04:00
2026-08-28 10:14:44 -04:00
2026-08-04 10:32:51 -04:00
2026-07-21 05:50:40 -04:00
2026-08-04 09:41:44 -04:00
2026-08-04 09:41:44 -04:00
2026-07-24 09:06:29 -04:00
2026-07-19 16:18:18 -04:00
2026-08-04 09:41:44 -04:00
2026-07-24 09:06:29 -04:00
2026-08-18 11:43:23 -04:00
2026-07-19 16:18:18 -04:00
2026-07-26 13:38:52 -04:00
2026-07-19 16:18:18 -04:00
2026-07-24 09:06:29 -04:00
2026-08-27 07:11:43 -04:00
2026-07-23 16:55:03 -04:00
2026-07-21 05:50:40 -04:00
2026-07-24 09:06:29 -04:00
2026-07-21 05:50:40 -04:00
2026-07-19 16:18:18 -04:00
2026-08-24 07:52:05 -04:00
2026-08-13 06:05:27 -04:00
2026-07-30 10:17:30 -04:00
2026-08-11 11:53:30 -04:00
2026-07-19 16:18:18 -04:00
2026-07-19 16:18:18 -04:00
2026-07-27 08:37:11 -04:00
2026-09-13 03:34:39 -04:00