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:
co-authored by
Claude Fable 5
parent
77c5a6342f
commit
dfd7a2ff56
@@ -328,7 +328,14 @@ export function eligibleCellsFor(view: GameView, cardId: string): Set<string> |
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cardId === "stone-to-water") {
|
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") {
|
if (cardId === "dispel-creation") {
|
||||||
// Anything created — terrain or creature, whoever made it — in sight.
|
// Anything created — terrain or creature, whoever made it — in sight.
|
||||||
|
|||||||
Reference in New Issue
Block a user