The discard pile lies face-up, and the chronicle names what falls
At the table the discards sit face-up for anyone to leaf through. The view now carries the pile (deck order stays secret), the "discards N" count in the rail became a link, and it opens a booklet-styled reader: every cast-away card newest first, tap any to enlarge. And the chronicle stops mumbling "discards 1 card(s)" — it names names, so a wraith's theft reads "bob discards Fireball," exactly what a table would see as the card hits the pile. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d1eace9530
commit
0ebae03b1c
@@ -47,6 +47,8 @@ export interface GameView {
|
||||
treasures: TreasureState[];
|
||||
deckCount: number;
|
||||
discardCount: number;
|
||||
/** The discard pile, face-up as at the table (last = most recent). */
|
||||
discardPile: CardInstance[];
|
||||
/** Cards on the stack are face-up: the whole exchange is public. */
|
||||
stack: CastStack | null;
|
||||
pendingDiscard: PlayerId | null;
|
||||
@@ -121,6 +123,7 @@ export function viewFor(state: GameState, playerId: PlayerId): GameView {
|
||||
treasures: state.treasures.map((t) => ({ ...t })),
|
||||
deckCount: state.deck.length,
|
||||
discardCount: state.discard.length,
|
||||
discardPile: [...state.discard],
|
||||
stack: state.stack,
|
||||
pendingDiscard: state.pendingDiscard,
|
||||
sustained: state.sustained.map((s) => ({ ...s })),
|
||||
|
||||
Reference in New Issue
Block a user