Commit mid big tree composing change
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
module Dodge.Room.RunPast where
|
||||
import Dodge.UseAll
|
||||
import Dodge.LevelGen.Data
|
||||
import Dodge.LightSource
|
||||
import Dodge.RoomLink
|
||||
@@ -41,7 +42,7 @@ roomCritLS = do
|
||||
critRoom :: Room
|
||||
critRoom = corridorWallN & rmRandPSs .~ [psRandRanges (15,25) (30,45) (pi,2*pi)]
|
||||
|
||||
runPastRoom :: RandomGen g => Int -> State g (SubCompTree Room)
|
||||
runPastRoom :: RandomGen g => Int -> State g (Tree Room)
|
||||
runPastRoom i = do
|
||||
h <- state $ randomR (200,400::Float)
|
||||
theedgetest <- takeOne [horEdgeTest (<1), horEdgeTest (>39)]
|
||||
@@ -59,10 +60,10 @@ runPastRoom i = do
|
||||
}
|
||||
switchdoor = triggerDoorRoom i
|
||||
n = length $ filter theedgetest $ map lnkPosDir $ _rmLinks cenroom
|
||||
controom = treeFromPost [PassDown switchdoor,PassDown linkcor] (UseAll door)
|
||||
critrooms :: [SubCompTree Room]
|
||||
critrooms = treeFromPost [PassDown switchdoor] (PassDown critroom) :
|
||||
replicate (n-2) (treeFromPost [PassDown switchdoor] (PassDown linkcor))
|
||||
return $ Node (PassDown cenroom) $
|
||||
map (applyToCompRoot $ rmConnectsTo .~ S.member (OnEdge theedge)) (controom : critrooms)
|
||||
++ [return $ PassDown aswitchroom]
|
||||
controom = treeFromPost [ switchdoor, linkcor] (useAll door)
|
||||
critrooms :: [Tree Room]
|
||||
critrooms = treeFromPost [ switchdoor] ( critroom) :
|
||||
replicate (n-2) (treeFromPost [ switchdoor] ( linkcor))
|
||||
return $ Node ( cenroom) $
|
||||
map (over root $ rmConnectsTo .~ S.member (OnEdge theedge)) (controom : critrooms)
|
||||
++ [return $ aswitchroom]
|
||||
|
||||
Reference in New Issue
Block a user