Work on rooms
This commit is contained in:
+46
-61
@@ -2,7 +2,6 @@
|
||||
|
||||
module Dodge.Room.Tutorial where
|
||||
|
||||
import Dodge.Room.Modify
|
||||
import Control.Monad
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.IntSet as IS
|
||||
@@ -29,6 +28,7 @@ import Dodge.Room.Door
|
||||
import Dodge.Room.LasTurret
|
||||
import Dodge.Room.Link
|
||||
import Dodge.Room.LongDoor
|
||||
import Dodge.Room.Modify
|
||||
import Dodge.Room.Ngon
|
||||
import Dodge.Room.Path
|
||||
import Dodge.Room.Pillar
|
||||
@@ -54,48 +54,31 @@ tutAnoTree = do
|
||||
foldMTRS
|
||||
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||
, corDoor
|
||||
, passthroughLockKeyLists lockRoomKeyItems itemRooms
|
||||
--bbb , -- , return . tToBTree "door" $ treePost [corridor, cleatOnward door]
|
||||
--bbb corDoor
|
||||
--bbb , -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||
--bbb lasRunRand
|
||||
--bbb , corDoor
|
||||
--bbb , passthroughLockKeyLists lockRoomKeyItems itemRooms
|
||||
--bbb , -- , passthroughLockKeyLists lockRoomKeyItems itemRooms
|
||||
--bbb tToBTree "door" . return <$> return (cleatOnward door)
|
||||
--bbb , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||
--bbb , -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||
--bbb -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||
--bbb -- , passthroughLockKeyLists
|
||||
--bbb -- [(sensorRoomRunPast ElectricSensor, takeOne
|
||||
--bbb -- [-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
|
||||
--bbb -- HELD SPARKGUN])]
|
||||
--bbb -- itemRooms
|
||||
--bbb -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||
--bbb -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||
--bbb tToBTree "sdr" . return . cleatOnward
|
||||
--bbb <$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
|
||||
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
|
||||
--bbb -- aaa---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
|
||||
--bbb -- aaa-- , return $ tToBTree "door" $ return $ cleatOnward door
|
||||
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa-- , tToBTree "sdr" . return . cleatOnward <$>
|
||||
--bbb -- aaa-- (shuffleLinks =<< tanksPipesRoom)
|
||||
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa , return $ tToBTree "door" $ return $ cleatOnward door
|
||||
--bbb -- aaa , tutHub
|
||||
--bbb -- aaa , chasmSpitTerminal
|
||||
--bbb -- aaa , tutLight
|
||||
--bbb -- aaa , tutDrop
|
||||
--bbb -- aaa , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--bbb -- aaa ---- , AnTree $ pickupTut
|
||||
--bbb -- aaa ---- , AnTree $ weaponTut
|
||||
, chasmSpitTerminal
|
||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
, corDoor
|
||||
, tToBTree "sdr" . return . cleatOnward
|
||||
<$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
|
||||
, -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
|
||||
---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
|
||||
-- , return $ tToBTree "door" $ return $ cleatOnward door
|
||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
-- , tToBTree "sdr" . return . cleatOnward <$>
|
||||
-- (shuffleLinks =<< tanksPipesRoom)
|
||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
return $ tToBTree "door" $ return $ cleatOnward door
|
||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
, tutHub
|
||||
, chasmSpitTerminal
|
||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
, tutLight
|
||||
, tutDrop
|
||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
---- , AnTree $ pickupTut
|
||||
---- , AnTree $ weaponTut
|
||||
]
|
||||
|
||||
foldMTRS ::
|
||||
@@ -131,8 +114,7 @@ tutDrop = do
|
||||
isUnusedLnk
|
||||
(\(p, a) -> ((p + 10 *.* unitVectorAtAngle (a - pi / 2), a), S.singleton UsedPosLow))
|
||||
ss =
|
||||
[ makeTermLine "--------------------------------------------"
|
||||
, makeTermLine "YOU CAN ONLY CARRY A LIMITED AMOUNT OF ITEMS"
|
||||
[ makeTermLine "YOU CAN ONLY CARRY A LIMITED AMOUNT OF ITEMS"
|
||||
, makeTermLine "--------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE")
|
||||
@@ -273,19 +255,21 @@ midChasmSpit = do
|
||||
y = 300
|
||||
r <- roomRectAutoLights x y
|
||||
cs <- join $ takeOne [censquare x y]
|
||||
foutlnks <-
|
||||
takeOne
|
||||
[ \rl ->
|
||||
isMidEdgeLink r North rl
|
||||
|| isMidEdgeLink r East rl
|
||||
|| isMidEdgeLink r West rl
|
||||
, \rl -> OnEdge North `S.member` (rl ^. rlType)
|
||||
&& not (FromEdge East 0 `S.member` (rl ^. rlType))
|
||||
&& not (FromEdge West 0 `S.member` (rl ^. rlType))
|
||||
]
|
||||
shuffleLinks $
|
||||
r
|
||||
& rmLinks
|
||||
%~ setOutLinks
|
||||
( \rl ->
|
||||
isMidEdgeLink r North rl
|
||||
|| isMidEdgeLink r East rl
|
||||
|| isMidEdgeLink r West rl
|
||||
)
|
||||
& rmLinks
|
||||
%~ setInLinks (isMidEdgeLink r South)
|
||||
& rmPmnts
|
||||
.~ cs
|
||||
& rmLinks %~ setOutLinks foutlnks
|
||||
& rmLinks %~ setInLinks (isMidEdgeLink r South)
|
||||
& rmPmnts .~ cs
|
||||
where
|
||||
censquare x y = do
|
||||
z <- state $ randomR (40, 60)
|
||||
@@ -304,8 +288,11 @@ chasmSpitTerminal :: State LayoutVars MTRS
|
||||
chasmSpitTerminal = do
|
||||
i1 <- nextLayoutInt
|
||||
y <- midChasmSpit
|
||||
l3 <- mntLightLnkCond $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 0 rp
|
||||
l4 <- mntLightLnkCond $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 1 rp
|
||||
shp <- takeOne [vShape, lShape, jShape, liShape]
|
||||
let l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 0 rp
|
||||
l4 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 1 rp
|
||||
l5 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> isOutLnkNum 2 rp
|
||||
-- let y' = y & rmPmnts <>~ [l3, l4, l5]
|
||||
let y' = y & rmPmnts <>~ [l3, l4]
|
||||
return $
|
||||
tToBTree "chasmTerm" $
|
||||
@@ -430,9 +417,7 @@ tutHub = do
|
||||
where
|
||||
ds = ["DESTROY THIS TO OPEN THE DOOR"]
|
||||
ss =
|
||||
[ makeTermLine "---------------------------------------------"
|
||||
, makeTermLine "YOU CAN INTERACT WITH SOME TERMINALS DIRECTLY"
|
||||
, makeTermLine " THESE WILL DISPLAY A PROMPT SYMBOL"
|
||||
[ makeTermLine "SOME TERMINALS HAVE A PROMPT"
|
||||
, makeTermLine " *****"
|
||||
, makeTermLine " * * TYPE OR SCROLL TO ENTER COMMANDS"
|
||||
, makeTermLine " * > *"
|
||||
|
||||
Reference in New Issue
Block a user