Add decorations to chasmspit room
This commit is contained in:
+47
-28
@@ -2,6 +2,8 @@
|
||||
|
||||
module Dodge.Room.Tutorial where
|
||||
|
||||
import Dodge.Room.Foreground
|
||||
import Data.Foldable
|
||||
import Control.Monad
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.IntSet as IS
|
||||
@@ -55,30 +57,30 @@ tutAnoTree = do
|
||||
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||
, corDoor
|
||||
, 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
|
||||
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a , corDoor
|
||||
--a , tToBTree "sdr" . return . cleatOnward
|
||||
--a <$> (shuffleLinks =<< distributerRoom BulletAmmo 100000)
|
||||
--a , -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a -- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
|
||||
--a ---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
|
||||
--a -- , return $ tToBTree "door" $ return $ cleatOnward door
|
||||
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a -- , tToBTree "sdr" . return . cleatOnward <$>
|
||||
--a -- (shuffleLinks =<< tanksPipesRoom)
|
||||
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a -- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a return $ tToBTree "door" $ return $ cleatOnward door
|
||||
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a , tutHub
|
||||
--a , chasmSpitTerminal
|
||||
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a , tutLight
|
||||
--a , tutDrop
|
||||
--a , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
--a ---- , AnTree $ pickupTut
|
||||
--a ---- , AnTree $ weaponTut
|
||||
]
|
||||
|
||||
foldMTRS ::
|
||||
@@ -289,11 +291,25 @@ chasmSpitTerminal = do
|
||||
i1 <- nextLayoutInt
|
||||
y <- midChasmSpit
|
||||
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 l1 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp North East
|
||||
l2 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp North West
|
||||
l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East North
|
||||
l4 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East South
|
||||
ls <- takeOne [[l1,l2],[l3,l4]
|
||||
,[spanLightI (V2 120 0) (V2 120 300)]
|
||||
, [spanLightI (V2 0 128) (V2 300 128)]
|
||||
, [spanLightI (V2 300 0) (V2 0 300), sps0 $ putShape $ thinHighBar 95 0 300]
|
||||
]
|
||||
gh <- takeOne [55,97]
|
||||
gird <- takeOne [girderZ gh 30 10,girder gh 30 10,girderV gh 30 10]
|
||||
dec <- takeOne $ -- replicate 3 [] <>
|
||||
[
|
||||
[sps0 $ putShape $ gird (V2 30 0) (V2 30 300)
|
||||
,sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
|
||||
,[sps0 $ putShape $ gird (V2 0 20) (V2 300 20)]
|
||||
]
|
||||
-- let y' = y & rmPmnts <>~ [l3, l4, l5]
|
||||
let y' = y & rmPmnts <>~ [l3, l4]
|
||||
let y' = y & rmPmnts <>~ ls <> dec
|
||||
return $
|
||||
tToBTree "chasmTerm" $
|
||||
Node
|
||||
@@ -302,6 +318,9 @@ chasmSpitTerminal = do
|
||||
, treePost [triggerDoorRoom i1, critDeadEnd]
|
||||
, return $ cleatOnward $ triggerDoorRoom i1
|
||||
]
|
||||
where
|
||||
f rp a b = FromEdge a 2 `S.member` (fold $ rp ^? rpType . rplsType)
|
||||
&& OnEdge b `S.member` (fold $ rp ^? rpType . rplsType)
|
||||
|
||||
polyChasm :: Int -> Float -> State LayoutVars Room
|
||||
polyChasm n x =
|
||||
|
||||
Reference in New Issue
Block a user