The cruel draw gets its modal, and its own words
GIFT FROM BELOW bit for three in the middle of end-of-turn noise and nobody saw it — not live, not in the replay, where its log line even claimed "lose a turn" (the other trap's fate). The trapSprung event now names its card; drawing a trap YOURSELF raises the full modal — the card, what it did, "Curse the deck" — and the chronicle tells each trap's true consequence. The amplify narration was already fixed; replays re-derive events, so both now show in old games' reels too. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
028ff813f3
commit
bed7d849eb
@@ -57,7 +57,9 @@ export function humanize(e: GameEvent): string | null {
|
||||
case "wallCreated": return `A wall appears!`;
|
||||
case "wallDestroyed": return e.wasDoor ? `A door is blasted to rubble!` : `A wall crumbles!`;
|
||||
case "extraTurnGranted": return `${e.player} speeds up — extra turn banked.`;
|
||||
case "trapSprung": return `${e.player} walked into an old TRAP! Lose a turn.`;
|
||||
case "trapSprung": return e.cardId === "gift-from-below"
|
||||
? `${e.player} draws GIFT FROM BELOW — it bites for 3, then deals again!`
|
||||
: `${e.player} walked into an old TRAP! Lose a turn.`;
|
||||
case "attackMissed": return e.because === "invisible"
|
||||
? `The attack passes through empty air — ${e.defender} is invisible!`
|
||||
: `${e.defender} is too small to hit — the attack misses!`;
|
||||
|
||||
Reference in New Issue
Block a user