Skip to content

Read "Each opponent discards a card and loses N life" - #432

Merged
valzargaming merged 1 commit into
mainfrom
claude/card-coverage-gaps-sc84tj
Oct 24, 2026
Merged

valzargaming merged 1 commit into
mainfrom
claude/card-coverage-gaps-sc84tj

Conversation

@valzargaming

Copy link
Copy Markdown
Member

Requested by Val · project thread

Before: "Each opponent discards a card and loses 2 life." and similar sentences (each player draws a card and loses 1 life, and so on) were listed as unsupported text, although each half read on its own.

After: a sentence where "each opponent" or "each player" does two of discard, lose life, mill, draw, sacrifice or gain reads as both actions in order, done by the same players.

How: TextParser::sentenceEffects() splits the sentence into its two clauses, repeats the subject, and reads each clause with the existing rules. Targeted subjects ("Target opponent … and …") are left unread, because the second action would need the same target. A new fixture and test check that the opponent chooses the discard before losing the life. Recognition only; the ledger's source pins are refreshed.


Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFHHk3MFEhWxdBccQvEG7C
@valzargaming
valzargaming merged commit d0431f1 into main Oct 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants