Safes finally open to keys — and the clockwork stops clawing at the lid
'All LOCK-type cards will work on it' was never wired: openSafes was reset every turn and filled by nothing. A PICK LOCK or MASTER KEY aimed at a safe's square (underfoot or beside) now opens it until turn's end, with its own chronicle line; the dead never-emitted safeOpened variant and its null humanize go. The automaton — H4EN's Automaton II spent six turns grabbing at a locked lid saying 'I meant to do that' — now cracks the box first (key or DISPEL CREATION, which it held the whole time) and drops unopenable safes from its goals rather than marching to one forever. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015RCWSTnb1KYTPyL4GmhGnF
This commit is contained in:
co-authored by
Claude Fable 5
parent
12ece6065a
commit
eabc10f18c
@@ -79,6 +79,7 @@ export function humanize(e: GameEvent): string | null {
|
||||
: `${e.player} is stone — the damage has no effect.`;
|
||||
case "lifeGained": return `${e.player} gains ${e.amount} life (${e.source}) — now ${e.lifeAfter}.`;
|
||||
case "madDash": return `${e.player} MAD DASHES — every stride doubles: ${e.newAllowance} movement this turn!`;
|
||||
case "safeOpened": return `${e.player}'s ${cardDef(e.withCardId).name} clicks the safe open — until turn's end.`;
|
||||
case "spellSustained": return `${spellName(e.cardId)} settles over ${e.target} (${e.turns} turn${e.turns === 1 ? "" : "s"}).`;
|
||||
case "spellExpired": return `${spellName(e.cardId)} wears off ${e.target}.`;
|
||||
case "teleported": return e.by === e.player
|
||||
@@ -162,7 +163,6 @@ export function humanize(e: GameEvent): string | null {
|
||||
case "boobytrapBlank": return `${e.player} flips a face-down token — a blank. The rest still wait.`;
|
||||
case "objectsGlued": return `Everything on that square is glued down (${e.turns} turns).`;
|
||||
case "safeCreated": return `A massive safe slams down around the loot.`;
|
||||
case "safeOpened": return null;
|
||||
case "itemsTraded": return `Two items blink and trade places.`;
|
||||
case "stoneTurnedToWater": return `Stone runs like water — a wave crashes out!`;
|
||||
case "handsSwapped": return `${e.a} and ${e.b} trade entire hands of cards!`;
|
||||
|
||||
Reference in New Issue
Block a user