Allow for random choice between placements in different rooms
This commit is contained in:
+11
-8
@@ -60,8 +60,8 @@ roomPillars = roomRect 240 240 2 2
|
||||
plmnts = spanLightI (V2 120 24) (V2 120 216)
|
||||
: mntLS vShape (V2 12 12) (V3 25 25 70)
|
||||
: mntLS vShape (V2 228 228) (V3 215 215 70)
|
||||
: sps0 (PutForeground $ thinHighBar 75 (V2 26 25) (V2 120 25))
|
||||
: sps0 (PutForeground $ thinHighBar 75 (V2 214 215) (V2 120 215))
|
||||
: sps0 (PutShape $ thinHighBar 75 (V2 26 25) (V2 120 25))
|
||||
: sps0 (PutShape $ thinHighBar 75 (V2 214 215) (V2 120 215))
|
||||
: g 180 150 90 60
|
||||
f a x b y = putBlockRect a x b y
|
||||
g a b c d = f a b a b ++ f a b c d ++ f c d a b ++ f c d c d
|
||||
@@ -150,7 +150,7 @@ miniRoom3 = do
|
||||
w <- state $ randomR (300,400)
|
||||
h <- state $ randomR (300,400)
|
||||
let cp = V2 0 (h/2+40)
|
||||
let b = PutBlock StoneBlock [5,20,20] baseBlockPane $ map toV2 [(-10,-60)
|
||||
let b = PutBlock StoneBlock 5 [20,20] baseBlockPane $ map toV2 [(-10,-60)
|
||||
,( 10,-60)
|
||||
,( 10,-80)
|
||||
,(-10,-80)
|
||||
@@ -273,15 +273,18 @@ weaponEmptyRoom = do
|
||||
weaponUnderCrits :: RandomGen g => State g (SubCompTree Room)
|
||||
weaponUnderCrits = do
|
||||
let plmnts =
|
||||
[sPS (V2 20 0) 0 $ RandPS randFirstWeapon
|
||||
,sPS (V2 20 0) (negate $ pi/2) randC1
|
||||
[--sPS (V2 20 0) 0 $ RandPS randFirstWeapon
|
||||
sPS (V2 20 0) (negate $ pi/2) randC1
|
||||
,sPS (V2 20 20) (negate $ pi/2) randC1
|
||||
]
|
||||
addwpat p = rmPmnts %~ ((PickOnePlacement 0 $ sPS p 0 $ RandPS randFirstWeapon) :)
|
||||
let continuationRoom = treeFromTrunk
|
||||
[PassDown corridorN,PassDown corridorN]
|
||||
[PassDown $ addwpat (V2 20 0) corridorN,PassDown $ addwpat (V2 20 0) corridorN]
|
||||
(singleUseAll (set rmPmnts plmnts corridorN))
|
||||
rcp <- roomCenterPillar
|
||||
deadEndRoom' <- takeOne [roomPillars,rcp]
|
||||
deadEndRoom' <- takeOne
|
||||
[ addwpat (V2 120 20) roomPillars
|
||||
, addwpat (V2 120 20) rcp]
|
||||
junctionRoom <- takeOne [PassDown tEast,PassDown tWest]
|
||||
return $ treeFromTrunk [PassDown corridorN,PassDown corridorN]
|
||||
$ Node junctionRoom
|
||||
@@ -313,7 +316,7 @@ weaponBetweenPillars = do
|
||||
critPlacementSpots <- replicateM 2 $ randDirPS $ unusedSpotAwayFromInLink 100
|
||||
let plmnts =
|
||||
sPS wpPos 0 (RandPS randFirstWeapon) :
|
||||
map (\ps -> sps ps randC1) critPlacementSpots
|
||||
map (`sps` randC1) critPlacementSpots
|
||||
theRoom = roomPillars & rmPmnts %~ (++ plmnts)
|
||||
(fmap singleUseAll . randomiseOutLinks) =<< filterLinks f theRoom
|
||||
where
|
||||
|
||||
Reference in New Issue
Block a user