Stone to Water's targeting aid honors sight and its wall targets

The cast validation demands LOS to a stone block, but the dimming aid lit
every stone square on the map — including ones the caster cannot see. Now
only sighted blocks light; and since the card equally targets stone walls
(edges the cell-shadow cannot express), no sighted block means no shadow
at all rather than a maze dimmed away from its true targets.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0138A8CjeQRpvzKxuMfz1Bqc
This commit is contained in:
Eric Wagoner
2026-08-17 19:31:26 -04:00
co-authored by Claude Fable 5
parent 77c5a6342f
commit dfd7a2ff56
+8 -1
View File
@@ -328,7 +328,14 @@ export function eligibleCellsFor(view: GameView, cardId: string): Set<string> |
}
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.