Fix glass debris bug
This commit is contained in:
@@ -27,7 +27,7 @@ import Dodge.Placement.Instance
|
||||
--import Dodge.LevelGen.Data
|
||||
import Dodge.Room.Procedural
|
||||
import Dodge.Room.Corridor
|
||||
import Dodge.Room.Tanks
|
||||
--import Dodge.Room.Tanks
|
||||
import Dodge.Room.Link
|
||||
import Dodge.Room.Door
|
||||
import Dodge.Room.Airlock
|
||||
@@ -40,18 +40,13 @@ import qualified Data.Set as S
|
||||
roomC :: RandomGen g => Float -> Float -> State g Room
|
||||
roomC w h = do
|
||||
wallf <- takeOne [ crystalLine , windowLine ]
|
||||
ntanks <- takeOne [0,0,0,0,0,1,1,1,1,2,3,4]
|
||||
thetank <- randomTank <&> plSpot .~ rprBool (\rp _ ->
|
||||
_rpPlacementUse rp == 0
|
||||
&& rpIsOffPath rp
|
||||
&& (xV2 (_rpPos rp) > w / 2 + 5 || xV2 (_rpPos rp) < w / 2 - 5 ))
|
||||
maybeaddgird <- takeOne [return, addRandomGirderFrom West 0, addRandomGirderFrom North 0]
|
||||
maybeaddgird =<< shuffleLinks (roomRectAutoLinks w h
|
||||
& rmLinks %~
|
||||
( setInLinks (\rl -> S.fromList [FromEdge East 0,OnEdge South] `S.isSubsetOf` _rlType rl)
|
||||
. setOutLinks (\rl -> OnEdge West `S.member` _rlType rl)
|
||||
)
|
||||
& rmPmnts .++~ (wallf (V2 (w/2) 0) (V2 (w/2) (h-60)) : replicate ntanks thetank)
|
||||
& rmPmnts .:~ wallf (V2 (w/2) 0) (V2 (w/2) (h-60))
|
||||
& rmRandPSs .~ [farside]
|
||||
)
|
||||
where
|
||||
|
||||
Reference in New Issue
Block a user