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.
This commit is contained in:
Greyson Parrelli
2026-07-23 16:11:07 -04:00
parent db1a6ef290
commit 72e198a750
15 changed files with 273 additions and 297 deletions
+11 -9
View File
@@ -48,18 +48,20 @@ Set via environment or a `.env` file (see `.env.example`):
Six rounds, each with its own shop tier deck. Per round:
1. **Shop** — each player has 3 gold and players alternate actions, 1 gold
each: **buy** one of 4 face-up cards; **sell** any number of hand cards
(each becomes an 🍎 apple, +1 power food, and Sell effects fire); or
**trade in** 3 same-suit pets (the Triple action) to pick 1 of the top 2
cards of the next tier's deck — Triple effects fire on the traded cards
and the received pet's Buy effect fires. Passing forfeits remaining gold.
2. **Cleanup** — anyone holding more than 5 pets must sell down to 5.
3. **Arrange** — Battle Prep effects fire first (e.g. Giraffe hands out
1. **Shop** — each player has 3 gold and players alternate actions: **buy**
one of 4 face-up cards (1 gold — the only action that costs anything);
**sell** any number of hand cards for free (each becomes an 🍎 apple, +1
power food, and Sell effects fire); or **trade in** 3 same-suit pets (the
Triple action, also free) to pick 1 of the top 2 cards of the next tier's
deck — Triple effects fire on the traded cards and the received pet's Buy
effect fires. **Passing** is a final action, only legal at 5 pets or
fewer: it forfeits remaining gold and ends that player's shopping for the
round. The shop closes once everyone has passed.
2. **Arrange** — Battle Prep effects fire first (e.g. Giraffe hands out
apples), then players secretly order their decks. Food cards apply to the
next pet after them; trailing foods are wasted. A pet only benefits from
its last-applied **perk** (e.g. Honey, Garlic).
4. **Battle** — automatic stack machine. Cards reveal off the top of each
3. **Battle** — automatic stack machine. Cards reveal off the top of each
deck until a pet is in play. Play effects fire on reveal (rocks roll a d6
with faces 0/0/1/1/2/2 and hit the opposing pet before the clash; Skunk
strips foods; Wolverine steals apples; Chili mills the enemy deck). The