Room with doors and central ledge terminal

This commit is contained in:
2026-02-01 22:23:06 +00:00
parent a6976eae8d
commit f3aaf8ba57
7 changed files with 286 additions and 148 deletions
+13
View File
@@ -2,10 +2,12 @@
module Dodge.Room.Warning (
warningRooms,
addDoorToggleTerminal,
addDoorToggleTerminal',
addDoorAtNthLinkToggleTerminal,
addDoorAtNthLinkToggleInterrupt,
) where
import Dodge.LevelGen.PlacementHelper
import Dodge.Default
import Color
import Control.Monad
@@ -78,6 +80,17 @@ addDoorAtNthLinkToggleTerminal j xs i =
[("DOOR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True))
]
addDoorToggleTerminal' :: Int -> PlacementSpot -> Room -> Room
addDoorToggleTerminal' i pspot rm = rm
& rmPmnts .:~ (pmnt & plExternalID ?~ i)
where
pmnt = ptCont (PutTrigger False) $ \pl -> Just $ putMessageTerminal (
lineOutputTerminal []
& tmToggles
.~ M.fromList
[("DOOR", TerminalToggle (fromJust $ _plMID pl) (BlConst True))
]) & plSpot .~ pspot
addWarningTerminal :: String -> Int -> Room -> Room
addWarningTerminal str =
addDoorToggleTerminal