clay-borg/scenarios/ground/gr-d03-darvo-deny.yaml
tegwick 0e92535f11 T08 iter 5: the DARVO sequence machine
Resolution step 3 (GR-R06), the last unimplemented step:

- GR-D02 binding: one stage per consecutive round, DENY then ATTACK
  then REVERSE, regardless of the player's later Stress.
- GR-D03 DENY: turn one face-up, unsolved, unprotected Problem face
  down and Deny it. Under the U3 default no legal target is a no-op and
  the sequence still advances.
- GR-D04 ATTACK: one extra Attack under the normal relation rules, then
  place the Focus token beside the target even if it was cancelled.
- GR-D05 REVERSE: flip Focus to Blame, +1 Stress to the holder, one
  Protection to the owner, unless the holder's GROUND-ND rejects it.
  Under the U5 default the owner takes -2 either way and the sequence
  ends.
- GR-D06 early end: a Support through a Bond that predates this round's
  Support step cancels the stage and ends the sequence, and the placed
  Focus token is removed. GROUND-GR ends it after the stage resolves.
- GR-D07: the marker returns to OFF, so a later End can re-trigger.

The Attack rules are now one routine shared by the chosen ATTACK Action
and the DARVO extra Attack, so GR-A06..A09 cannot drift between them.

Stage targets are named by their own command during Reveal, validated
against what the stage admits: DENY needs an eligible Problem, ATTACK
another player, and only a player with a live sequence may choose.

18 scenarios pass; AM-1 coverage 47/58 (81%), up from 41/58.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 02:30:58 +02:00

48 lines
1.2 KiB
YAML

scenario: ground/gr-d03-darvo-deny
description: >
The DENY stage turns one face-up, unsolved, unprotected Problem face
down and Denies it (GR-D03), then the sequence advances to ATTACK
(GR-D02). A protected Problem is not a legal DENY target (GR-A11).
covers: [GR-D02, GR-D03, GR-P01]
provisional: false
seed: 42
setup:
players: 3
preset: standard-3p
patch:
"lead": 0
"players.0.darvo": Deny
"problems.2.face_up": true
commands:
- actor: P1
cmd: select_action
args: { action: INVESTIGATE, problem: 3 }
- actor: P2
cmd: select_action
args: { action: INVESTIGATE, problem: 3 }
- actor: P3
cmd: select_action
args: { action: INVESTIGATE, problem: 3 }
- actor: SYSTEM
cmd: reveal
# GR-D02: only a player with a live sequence names a stage target.
- actor: P2
cmd: choose_darvo_target
args: { problem: 1 }
- actor: P1
cmd: choose_darvo_target
args: { problem: 1 }
- actor: SYSTEM
cmd: resolve
expect:
events:
- kind: ProblemDenied
problem: 1
- kind: DarvoAdvanced
player: 0
stage: Attack
state:
"problems.1.denied": true
"problems.1.face_up": false
"players.0.darvo": Attack
rejects: [4]