12 Commits
Author SHA1 Message Date
Greyson Parrelli 8ccde03023 Add replayable debug reports.
A report dumps everything needed to understand a game that went wrong:
the full state (decks card by card, shop row and tier deck order,
discards, pending choices, banked Mana/Trumpets/apples), the round's
battles, and the whole event log. Available as JSON, which replays, or
text, which reads — and the text ends with a paste-ready repro test.

Battles now record the randomness they consume alongside what they
started from, so a result can be replayed long after the round cleared
those banks: same lineups, same dice, same events, down to the log text.
Results predating the recording say so rather than quietly re-rolling.

Three ways in: the 🐛 panel's download/copy buttons, GET
/api/debug/report (DEBUG-only, since a report holds both players' hands
and the shop deck order), and `mise run report`, which reads the
database directly so a live game can be dumped without DEBUG.
2026-08-10 10:06:06 -04:00
Greyson Parrelli a4f5f6910d Add support for up to 6 players. 2026-07-28 07:36:09 -04:00
Greyson Parrelli a1d57fe1dd Initial pass at unicorn pack. 2026-07-25 00:37:44 -04:00
Greyson Parrelli f3783b44bf Improve AI difficulty scaling. 2026-07-24 23:03:02 -04:00
Greyson Parrelli 5a396e6efe Improve AI to stop selling everything. 2026-07-24 22:34:55 -04:00
Greyson Parrelli 0a1e2f9bee Make the AI a little smarter. 2026-07-24 16:20:45 -04:00
Greyson Parrelli e25a85e394 Fix bugs around AI opponents. 2026-07-24 12:52:10 -04:00
Greyson Parrelli 0fe0757e18 Fix nurse shark and remove mid-battle choice. 2026-07-24 10:12:17 -04:00
Greyson Parrelli dd395f4bbf Initial pass at Golden Pack. 2026-07-24 07:47:05 -04:00
Greyson Parrelli e74f983470 Add lobby and pack concept. 2026-07-23 22:01:54 -04:00
Greyson Parrelli 72e198a750 Fix shop action costs and pass semantics.
Only buying costs gold; selling and trading (Triple) are free. Pass is
now a final action, legal only at or under the pet limit: it forfeits
remaining gold and ends that player's shopping for the round, with the
shop closing once everyone has passed. That makes the separate cleanup
phase unreachable (you sell down in-shop before passing), so it is
removed. The client asks for confirmation before passing, and the bot
knows buys are the only coin sink, when passing is legal, and that it
must sell down before it can pass.
2026-07-23 16:11:07 -04:00
Greyson Parrelli db1a6ef290 Add bot to play against. 2026-07-23 15:58:12 -04:00