78 lines
2.9 KiB
Markdown
78 lines
2.9 KiB
Markdown
|
|
# Module: `problem_deal.pressure_deck`
|
|||
|
|
|
|||
|
|
| | |
|
|||
|
|
|---|---|
|
|||
|
|
| **aspect** | `problem_deal` |
|
|||
|
|
| **module_id** | `problem_deal.pressure_deck` |
|
|||
|
|
| **role** | Small start set + mid-game **Pressure deck** draws |
|
|||
|
|
| **status** | **ready-for-implement** (draft frozen for v0 kernel) |
|
|||
|
|
| **rules_delta** | [`rules_delta.yaml`](rules_delta.yaml) |
|
|||
|
|
| **design** | [history/260808-deal-end-sequences-design.md](../../../history/260808-deal-end-sequences-design.md) |
|
|||
|
|
|
|||
|
|
Independent of end_condition. **Recommended** compose with
|
|||
|
|
`problem_stress.scoped` so drawn scopes matter. Measure alone first if
|
|||
|
|
possible (with default problem_stress.none, influx still adds board clutter).
|
|||
|
|
|
|||
|
|
## Frozen v0 rules
|
|||
|
|
|
|||
|
|
### DEAL-START
|
|||
|
|
|
|||
|
|
- **Always in play at setup:** Surface Problem (priority 0).
|
|||
|
|
- **Also deal face-down:** hidden priority **1** (and priority **2** only if
|
|||
|
|
seats ≥ 4).
|
|||
|
|
- All other scenario Problems for that scenario go into the **Pressure deck**,
|
|||
|
|
shuffled with the game seed (deterministic).
|
|||
|
|
- Seat-band `k` from r0 does **not** bulk-deal the rest; influx replaces
|
|||
|
|
“deal all k at once.”
|
|||
|
|
|
|||
|
|
| seats | starters in play | rest → pressure deck |
|
|||
|
|
|------:|------------------|----------------------|
|
|||
|
|
| 2–3 | Surface + H1 | H2… |
|
|||
|
|
| 4–6 | Surface + H1 + H2 | H3… |
|
|||
|
|
|
|||
|
|
### DEAL-INFLUX
|
|||
|
|
|
|||
|
|
At **Round End** (after problem-stress ticks if any, before DARVO arm):
|
|||
|
|
|
|||
|
|
- If Pressure deck non-empty **and** unclaimed Problems in play < **open_cap**,
|
|||
|
|
draw **1** card into play.
|
|||
|
|
- **open_cap** = number of seats.
|
|||
|
|
- Placement: face-down if hidden/personal/bond as printed; Surface-like global
|
|||
|
|
face-up if scope is global.
|
|||
|
|
- Stop drawing for that End once one card is drawn (v0: max 1 per round).
|
|||
|
|
|
|||
|
|
### DEAL-OWN (if problem_stress.scoped also active)
|
|||
|
|
|
|||
|
|
- **personal:** owner = Lead at time of draw (or next free seat clockwise if
|
|||
|
|
Lead already owns ≥2 personal — v0 simplify: **drawer seat = current Lead**).
|
|||
|
|
- **bond:** same owner rule; network = Bond network of owner.
|
|||
|
|
- **global:** no owner.
|
|||
|
|
|
|||
|
|
If `problem_stress.none`, owners may still be recorded for table clarity but
|
|||
|
|
have no stress effect.
|
|||
|
|
|
|||
|
|
### DEAL-POINTS (v0)
|
|||
|
|
|
|||
|
|
- Cards that entered via **Pressure deck draw** have **point_value 0** for
|
|||
|
|
scoring (stress / fiction only).
|
|||
|
|
- **Starters** keep printed `point_value`.
|
|||
|
|
- Scenario **thresholds unchanged** (5/7/9) and apply only to starter claims
|
|||
|
|
+ any printed values that were starters.
|
|||
|
|
|
|||
|
|
This avoids reopening GR-E01 arithmetic while testing influx.
|
|||
|
|
|
|||
|
|
## Non-goals (v0)
|
|||
|
|
|
|||
|
|
- Problems in Solution hand.
|
|||
|
|
- Multiple draws per round.
|
|||
|
|
- Owner-only SOLVE.
|
|||
|
|
- Changing thresholds mid-game.
|
|||
|
|
|
|||
|
|
## Success criteria (when clay-borg implements)
|
|||
|
|
|
|||
|
|
1. Games show mid-game influx (deck depletes or open_cap binds).
|
|||
|
|
2. With scoped stress: variance and DARVO still possible; greedy SHARED 3–4p
|
|||
|
|
wins not collapsed to H1-zero.
|
|||
|
|
3. Threshold success still well-defined (starter points only).
|
|||
|
|
4. Composable: works with default end_condition and with hybrid end.
|