The Ward is played in the moment (rules rev 31)
'When a player picks up one of your treasures, you may play at that time (out of turn) this card on him' — the owner read the card and is right: no arming ahead. When a treasure whose owner holds WARD is grabbed, the grab hangs (new wardPending phase, outranking all other input) and the owner alone answers: spring it (3 damage, card spent) or let them go (card kept, silence). Automatons always spring it on a thief of their gold. The arming mechanic is refused at rev 31 and its button hidden; rev 3-30 games keep their armed wards and rev 1-2 keep the automatic spring, replaying unchanged. The window does reveal that the owner holds SOMETHING - as it would at any real table when the room turns to look at them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138A8CjeQRpvzKxuMfz1Bqc
This commit is contained in:
co-authored by
Claude Fable 5
parent
b7f93fe454
commit
75d3d44c6c
@@ -54,7 +54,7 @@ export interface Room {
|
||||
const rooms = new Map<string, Room>();
|
||||
|
||||
/** Rules revision new games are dealt under (stored games keep their own). */
|
||||
const RULES_REV = 30;
|
||||
const RULES_REV = 31;
|
||||
|
||||
const ROOM_CODE_ALPHABET = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
|
||||
|
||||
@@ -275,6 +275,7 @@ function actingSeat(room: Room): PlayerId | null {
|
||||
const s = room.state;
|
||||
if (!s || s.phase !== "playing") return null;
|
||||
return (
|
||||
s.wardPending?.ownerId ??
|
||||
s.stack?.waitingOn ??
|
||||
s.pendingDiscard ??
|
||||
s.chaosPending?.queue[0] ??
|
||||
|
||||
Reference in New Issue
Block a user