Add support for group placements
This commit is contained in:
+11
-11
@@ -38,12 +38,12 @@ twinSlowDoorRoom drID w h x = Room
|
||||
]
|
||||
, _rmPath = []
|
||||
, _rmPS =
|
||||
[ PS (0,h/2) 0 putLamp
|
||||
, PS (25,5) 0 putLamp
|
||||
, PS (negate 25,5) 0 putLamp
|
||||
, PS (0,0) 0 $ PutDoor col (not . cond) drL
|
||||
, PS (0,0) 0 $ PutDoor col (not . cond) drR
|
||||
, PS (0,h-5) pi $ PutButton $ makeButton col
|
||||
[ sPS (0,h/2) 0 putLamp
|
||||
, sPS (25,5) 0 putLamp
|
||||
, sPS (negate 25,5) 0 putLamp
|
||||
, sPS (0,0) 0 $ PutDoor col (not . cond) drL
|
||||
, sPS (0,0) 0 $ PutDoor col (not . cond) drR
|
||||
, sPS (0,h-5) pi $ PutButton $ makeButton col
|
||||
(over worldState (M.insert (DoorNumOpen drID) True))
|
||||
]
|
||||
, _rmBound = ps
|
||||
@@ -69,7 +69,7 @@ twinSlowDoorChasers drid = do
|
||||
let lps = (-65 ,) <$> [20,40 .. 180]
|
||||
rps = (65 ,) <$> [20,40 .. 180]
|
||||
ps <- takeN 4 $ lps ++ rps
|
||||
let plmnts = map (\p -> PS p 0 $ PutCrit chaseCrit) ps
|
||||
let plmnts = map (\p -> sPS p 0 $ PutCrit chaseCrit) ps
|
||||
return $ twinSlowDoorRoom drid 80 200 40 & rmPS %~ (plmnts ++)
|
||||
|
||||
slowDoorRoom :: RandomGen g => State g (Tree (Either Room Room))
|
||||
@@ -88,9 +88,9 @@ slowDoorRoom = do
|
||||
let ps = zip xs ys
|
||||
xs' <- replicateM 5 $ state $ randomR (10,x-10)
|
||||
ys' <- replicateM 5 $ state $ randomR (h+20,y)
|
||||
let crits = zipWith (\p r -> PS p r randC1) ps rs
|
||||
lsources = [PS (x/2,30) 0 putLamp, PS (x/2,y-30) 0 putLamp]
|
||||
barrels = zipWith (\x y -> PS (x,y) 0 $ PutCrit explosiveBarrel) xs' ys'
|
||||
let crits = zipWith (\p r -> sPS p r randC1) ps rs
|
||||
lsources = [sPS (x/2,30) 0 putLamp, sPS (x/2,y-30) 0 putLamp]
|
||||
barrels = zipWith (\x y -> sPS (x,y) 0 $ PutCrit explosiveBarrel) xs' ys'
|
||||
pillarsa = []
|
||||
pillarsb = putBlockRect (x/5-20) (x/5+20) (h/2-20) (h/2+20)
|
||||
++ putBlockRect (2*x/5-20) (2*x/5+20) (h/2-20) (h/2+20)
|
||||
@@ -107,7 +107,7 @@ slowDoorRoom = do
|
||||
fmap connectRoom
|
||||
(filterLinks cond =<<
|
||||
changeLinkTo cond2
|
||||
(set rmPS ([PS (0,0) 0 but] ++ crits ++ pillars ++ barrels ++ lsources)
|
||||
(set rmPS ([sPS (0,0) 0 but] ++ crits ++ pillars ++ barrels ++ lsources)
|
||||
$ roomRectAutoLinks x y
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user