Add real replay variety: 15 new reports, random per-day roster
All checks were successful
Docker / build-and-push (push) Successful in 49s
All checks were successful
Docker / build-and-push (push) Successful in 49s
Same fix as Retur (which this engine is descended from): every playthrough showed the same fixed 25 reports in the same order, with zero randomization anywhere. Added 15 new reports (3 per day, d26-d40) citing more of Djupet's event pool (the bridge's impossible vibration frequency, the investigator in the grey suit whose shadow didn't follow, a mirror showing an older version of the room), bringing each day's pool to 8, and changed the engine to draw PER_DAY_COUNT (5) at random per game instead of a fixed set. Same shape as Retur's fix: buildRoster() shuffles and slices each day's pool, GameState carries a `roster` generated once at createState() and persisted, reportsForDay/currentReport read through it. Save key bumped to v2 for the same reason — no backfill for old saves, just start fresh. Tests rewritten the same way: buildRoster() property tests plus engine tests that either check general correctness or construct an explicit roster when a specific report's behavior needs locking in (d04's escalation-even-when-correct case). Verified: 12/12 vitest, tsc clean, real browser test confirming 4 distinct first-report sources across 5 fresh games. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,8 @@ The reports aren't invented from nothing — several cite real events from `djup
|
||||
|
||||
Unlike Retur, **escalating always costs you something**, whether or not it was the correct call — the *Insyn* (insight/notice) meter rises by one every time you choose `ESKALERA`, on top of any wrong-route penalty. The regulations sometimes tell you the right move is to escalate; doing so is never free. That's the core tension: being correct doesn't make you invisible.
|
||||
|
||||
Each shift also draws 5 reports at random from a larger pool (currently 8) — same pattern as Retur — so which reports you see, and in what order, varies between playthroughs.
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user