Improve rooms, make consumable use type

This commit is contained in:
2022-03-09 10:51:01 +00:00
parent 8ff18178b1
commit a4ec4e4889
16 changed files with 98 additions and 50 deletions
+12
View File
@@ -4,6 +4,7 @@ import Dodge.LevelGen.Data
--import Dodge.PlacementSpot
import Dodge.Room.RunPast
import Dodge.Room.Tanks
import Dodge.Room.Containing
--import Dodge.RoomLink
--import Dodge.Data
--import Dodge.Default
@@ -56,6 +57,7 @@ startRoom i = join $ uncurry takeOneWeighted $ unzip
, (,) 1 rezBoxThenWeaponRoom
, (,) one rezBoxesWpCrit
, (,) 1 $ runPastStart i
, (,) 5 $ startCrafts >>= roomsContaining [] >>= rezBoxThenRooms
]
where
one = 1::Float
@@ -87,6 +89,16 @@ rezBoxThenWeaponRoom = do
rcol <- rezColor
treeFromTrunk [PassDown $ rezBox rcol,PassDown door] <$> weaponRoom
rezBoxThenRoom :: RandomGen g => Room -> State g (SubCompTree Room)
rezBoxThenRoom r = do
rcol <- rezColor
treeFromTrunk [PassDown $ rezBox rcol,PassDown door] <$> (return $ singleUseAll r)
rezBoxThenRooms :: RandomGen g => SubCompTree Room -> State g (SubCompTree Room)
rezBoxThenRooms r = do
rcol <- rezColor
return . treeFromTrunk [PassDown $ rezBox rcol,PassDown door] $ r
startCrafts :: RandomGen g => State g [Item]
startCrafts = takeOne $ map (map makeTypeCraft)
[ [PIPE,PIPE,HARDWARE]