Work on placements

This commit is contained in:
2025-09-24 22:16:38 +01:00
parent da8230fe00
commit 91e67e37dc
7 changed files with 99 additions and 406 deletions
+17 -6
View File
@@ -37,13 +37,14 @@ import TreeHelp
--import Data.List (intersperse)
tutAnoTree :: State LayoutVars MTRS
tutAnoTree =
tutAnoTree = do
(is,wbp) <- setTreeInts =<< weaponBehindPillar
foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, tutRooms
, tutRooms is
, corDoor
, tToBTree "critroom" <$> weaponBehindPillar
, tToBTree "critroom" <$> return wbp
, corDoor
, tutDrop
, return $ tToBTree "cor" $ return $ cleatOnward corridor
@@ -64,6 +65,11 @@ setRoomInt x = do
where
f i rm _ = genInts . at i ?~ (rm ^?! rmMID . _Just)
setTreeInts :: Tree Room -> State LayoutVars ([Int],Tree Room)
setTreeInts x = do
y <- traverse setRoomInt x
return (foldMap ((:[]) . fst) y, fmap snd y)
tutDrop :: State LayoutVars (MetaTree Room String)
tutDrop = do
x <- shuffleLinks =<< roomNgon 6 100
@@ -97,12 +103,16 @@ tutDrop = do
, makeTermLine "-------------------------------------------"
]
tutRooms :: State LayoutVars (MetaTree Room String)
tutRooms = do
tutRooms :: [Int] -> State LayoutVars (MetaTree Room String)
tutRooms is = do
i <- nextLayoutInt
j <- nextLayoutInt
k <- nextLayoutInt
let a gw = analyserByNthLinkWithPrompt 3 sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) k
x <-
shuffleLinks . analyserByDoorWithPrompt sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) i
shuffleLinks
. analyserByDoorWithPrompt sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) i
. (rmInPmnt .:~ a)
=<< addDoorAtNthLinkToggleTerminal 1 ss j
<$> roomNgon 6 100
bcor <- blockedCorridor
@@ -115,6 +125,7 @@ tutRooms = do
[ treeFromPost [triggerDoorRoom i] r1
, treeFromPost [triggerDoorRoom j] r2
, bcor
-- , treeFromPost [triggerDoorRoom k] r2
]
where
ss =