A warp mouth is a wallable line — and the tunnel seals whole
Create Wall refused the board-edge openings: no far cell, so "walls must be created between two spaces". But bricking over a lettered opening is a classic play, and the far space is the tunnel itself. A warp mouth now counts as wallable — with the wall raised at BOTH mouths, since a tunnel has one passage: no walking in from the far board, no warp sight through a sealed pair, and tearing down either end reopens both. The client grows edge hitboxes at the perimeter mouths so the line is clickable at all. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
bed7d849eb
commit
766ec0a726
@@ -372,6 +372,9 @@ export function hasWarpLineOfSight(
|
||||
// A filled mouth chokes the tunnel unless the viewer/target IS the mouth.
|
||||
if (blockedCells?.[cellKey(mouthA)] && cellKey(from) !== cellKey(mouthA)) continue;
|
||||
if (blockedCells?.[cellKey(mouthB)] && cellKey(to) !== cellKey(mouthB)) continue;
|
||||
// A wall built over either mouth seals the tunnel to sight entirely.
|
||||
if (edgeState(board, mouthA, sideA) !== "open") continue;
|
||||
if (edgeState(board, mouthB, w.to.side) !== "open") continue;
|
||||
|
||||
// Rotation taking the far board's inward direction onto sideA.
|
||||
const u = DIR[inward], v = DIR[sideA];
|
||||
|
||||
Reference in New Issue
Block a user