Work on weapon positioning, analyser terminal positioning

This commit is contained in:
2026-03-31 13:16:24 +01:00
parent ab04516279
commit 6bcf03b30d
18 changed files with 252 additions and 178 deletions
+5 -1
View File
@@ -5,6 +5,7 @@ module Dodge.Room.Warning (
addDoorToggleTerminal',
addDoorAtNthLinkToggleTerminal,
addDoorAtNthLinkToggleInterrupt,
byNthLink,
) where
import Dodge.LevelGen.PlacementHelper
@@ -40,6 +41,9 @@ warningRooms str n = do
addDoorToggleTerminal :: [TerminalLine] -> Int -> Room -> Room
addDoorToggleTerminal = addDoorAtNthLinkToggleTerminal 0
byNthLink :: Int -> PlacementSpot
byNthLink = rprShift . moveToSideNthOutLink (S.singleton UsedPosLow)
addDoorAtNthLinkToggleInterrupt :: Int -> [String] -> Int -> Room -> Room
addDoorAtNthLinkToggleInterrupt j x i =
(rmName .++~ "doorInterrupt-")
@@ -47,7 +51,7 @@ addDoorAtNthLinkToggleInterrupt j x i =
where
outplace =
extTrigLitPos
(atNthLnkOutShiftBy j (\(p, a) -> ((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)))
(atNthLnkOutShiftBy j (\(p, a) -> ((p + rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)))
( Just . set plSpot (rprShift (moveToSideNthOutLink (S.singleton UsedPosLow) j))
. putInterrupt
)