Commit Graph
11 Commits
Author SHA1 Message Date
Greyson Parrelli 6ae4d41976 Put the bug report behind an always-available button.
The debug report was only reachable in DEBUG mode, which is the one mode
a player hitting a real bug won't be running. Move it to a "🐛 Report a
bug" item in the game menu: a note field, a download, and a copy-as-text,
on any server.

That knowingly shows the reporter their opponents' hands and the shop
deck order. Credentials are still required, so a report only ever reaches
someone seated at that table. The buy-any-card panel stays DEBUG-only —
it changes the game; a report only reads it.
2026-08-10 13:42:31 -04:00
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 0fe0757e18 Fix nurse shark and remove mid-battle choice. 2026-07-24 10:12:17 -04:00
Greyson Parrelli 10b6346874 More UX improvements. 2026-07-24 09:07: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
Greyson Parrelli 10ac457e2e Add pets for tiers 4-6. 2026-07-23 00:10:20 -04:00
Greyson Parrelli 8d43bbf61e Add pets for tiers 1-3. 2026-07-23 00:10:17 -04:00
Greyson Parrelli 612a4e6227 Initial commit. 2026-07-22 23:07:29 -04:00