Creatures walk open doorways, and the interruption gets its fanfare
Player movement asked the full question of a door — removed, keyed this turn, or held — while creature movement only saw "door" and refused, so a skeleton balked at a doorway its master had unlocked for good. One doorIsOpen() now answers for both, and an open doorway costs a wraith none of its wall passes. And the interruption window earns the modal it deserved: "The maze holds its breath" — the card shown, the instruction plain, dismissed with "Seize it". No more hunting the rail for a slip while time stands parted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
44c14f5ce1
commit
e7c8ddc0b3
@@ -39,6 +39,11 @@
|
||||
/** Which pending attack the player has already acknowledged (modal dismissed). */
|
||||
const fxWorkshop = new URLSearchParams(location.search).has("fx");
|
||||
let attackNoticeSeen = $state<string | null>(null);
|
||||
/** The interruption fanfare, dismissed once per window. */
|
||||
let momentSeen = $state(false);
|
||||
$effect(() => {
|
||||
if (!view?.outOfTurnWindow) momentSeen = false;
|
||||
});
|
||||
/** Live spell flourishes on the board (cosmetic, self-expiring). */
|
||||
let boardFx = $state<BoardFx[]>([]);
|
||||
let fxCancels: (() => void)[] = [];
|
||||
@@ -1008,6 +1013,20 @@
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if view && view.outOfTurnWindow?.playerId === view.you && !momentSeen}
|
||||
<div class="scrim attack-scrim" role="alertdialog" aria-label="your interruption">
|
||||
<div class="attack-notice">
|
||||
<div class="attack-headline">The maze holds its breath</div>
|
||||
<div class="attack-card"><Card card={{ instanceId: "moment", cardId: view.outOfTurnWindow.kind }} /></div>
|
||||
<div class="attack-power">
|
||||
Time parts for your {cardDef(view.outOfTurnWindow.kind).name} —
|
||||
pick an attack card and a target, or let the moment pass.
|
||||
</div>
|
||||
<button class="stamp big" onclick={() => (momentSeen = true)}>Seize it</button>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if openingRolls}
|
||||
<div class="scrim attack-scrim" role="alertdialog" aria-label="the roll for first wizard">
|
||||
<div class="attack-notice">
|
||||
|
||||
Reference in New Issue
Block a user