diff --git a/packages/engine/src/view.ts b/packages/engine/src/view.ts index 3ce34fd..bd62ed0 100644 --- a/packages/engine/src/view.ts +++ b/packages/engine/src/view.ts @@ -328,7 +328,14 @@ export function eligibleCellsFor(view: GameView, cardId: string): Set | } if (cardId === "stone-to-water") { - return new Set(cells.filter((k) => view.squareContents[k]?.kind === "stone")); + // The cast demands sight of the stone block, so only sighted ones light. + // The card equally targets stone WALLS — edges the cell-shadow cannot + // express — so with no stone square in view, dimming would shroud the + // true targets: light everything instead. + const out = new Set( + cells.filter((k) => view.squareContents[k]?.kind === "stone" && sighted.has(k)), + ); + return out.size > 0 ? out : null; } if (cardId === "dispel-creation") { // Anything created — terrain or creature, whoever made it — in sight.