Rev 19: breaching the rim opens a new warp across the maze
Destroying a wall on the board's outer edge used to leave a one-sided hole into nothing. The table's physics prevail: the outer rim wraps, so the breach goes clean through — the opposite perimeter wall in the same row or column crumbles too (collapse damage and all), and a new warp pair opens between the two edges, shimmering at both mouths. Rev-gated: stored games hold one-sided breaches and replay so. Sector moves recompute the wraparounds and forget improvised openings, as the maze's own reshaping always has. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
766ec0a726
commit
a17b5238f0
@@ -208,6 +208,11 @@ export function fxForEvents(
|
||||
push({ kind: "portal-cell", at: e.to }, 150);
|
||||
beat++;
|
||||
break;
|
||||
case "warpOpened":
|
||||
push({ kind: "portal", cell: e.a.cell, side: e.a.side });
|
||||
push({ kind: "portal", cell: e.b.cell, side: e.b.side }, 200);
|
||||
beat++;
|
||||
break;
|
||||
case "wallCreated":
|
||||
case "wallDestroyed":
|
||||
push({ kind: "edge-dust", cell: e.edge.cell, side: e.edge.side });
|
||||
|
||||
@@ -136,7 +136,7 @@ class LocalGame {
|
||||
seed,
|
||||
sets: expansion ? ["basic", "expansion1"] : ["basic"],
|
||||
...(colors ? { colors } : {}),
|
||||
deckRev: 18,
|
||||
deckRev: 19,
|
||||
};
|
||||
const { state, events } = createGame(config);
|
||||
for (const e of events) {
|
||||
|
||||
@@ -56,6 +56,7 @@ export function humanize(e: GameEvent): string | null {
|
||||
case "stonesDestroyed": return `${e.player}'s magic stones are destroyed!`;
|
||||
case "wallCreated": return `A wall appears!`;
|
||||
case "wallDestroyed": return e.wasDoor ? `A door is blasted to rubble!` : `A wall crumbles!`;
|
||||
case "warpOpened": return `The outer wall breaches clean through — a new warp opens across the maze!`;
|
||||
case "extraTurnGranted": return `${e.player} speeds up — extra turn banked.`;
|
||||
case "trapSprung": return e.cardId === "gift-from-below"
|
||||
? `${e.player} draws GIFT FROM BELOW — it bites for 3, then deals again!`
|
||||
|
||||
Reference in New Issue
Block a user