This commit is contained in:
2022-06-14 17:03:14 +01:00
parent 339fc14152
commit cfb8a88c57
19 changed files with 22 additions and 72 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ module Dodge.Annotation
( module Dodge.Annotation.Data
, module Dodge.Annotation
) where
import Dodge.UseAll
import Dodge.Cleat
import RandomHelp
import Dodge.Tree
import Dodge.Data
+1 -1
View File
@@ -4,7 +4,7 @@
module Dodge.Floor
( initialRoomTree
) where
import Dodge.UseAll
import Dodge.Cleat
--import Geometry.Data
--import Dodge.Data
import Dodge.LockAndKey
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.LockAndKey where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Data
import Dodge.Tree
--import Dodge.LevelGen.Data
+1 -1
View File
@@ -1,7 +1,7 @@
module Dodge.Room.BlinkAcross where
--import Dodge.LevelGen.Data
import Dodge.PlacementSpot
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Data
import Dodge.Tree
--import Dodge.RoomLink
+1 -1
View File
@@ -6,7 +6,7 @@ module Dodge.Room.Branch
--import Geometry
--import Dodge.LevelGen.Data
import Dodge.Data
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Room.Door
import Dodge.Room.Link
import Dodge.Room.Procedural
+1 -1
View File
@@ -8,7 +8,7 @@ import Dodge.Room.Procedural
import Dodge.Room.Tanks
import Dodge.Room.Link
import Dodge.Room.Ngon
import Dodge.UseAll
import Dodge.Cleat
import LensHelp
import Geometry
--import Dodge.Item.Equipment
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Room.GlassLesson where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Annotation.Data
import Dodge.RoomLink
import Dodge.Creature
+1 -1
View File
@@ -1,7 +1,7 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Room.LasTurret where
import Dodge.LevelGen.Data
import Dodge.UseAll
import Dodge.Cleat
import Dodge.PlacementSpot
import Dodge.Data
import Dodge.Tree
+1 -1
View File
@@ -3,7 +3,7 @@
-}
module Dodge.Room.LongDoor where
import Dodge.Data
import Dodge.UseAll
import Dodge.Cleat
import Dodge.RoomLink
import Dodge.Base
import Dodge.Tree
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Room.LongRoom where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.RoomLink
import Dodge.Tree
--import Dodge.Default.Room
+1 -1
View File
@@ -1,6 +1,6 @@
module Dodge.Room.Pillar where
import Dodge.Data
import Dodge.UseAll
import Dodge.Cleat
import Dodge.PlacementSpot
import Dodge.Room.Modify.Girder
import Dodge.LevelGen.Data
+1 -1
View File
@@ -1,6 +1,6 @@
module Dodge.Room.RezBox where
import Dodge.LevelGen.Data
import Dodge.UseAll
import Dodge.Cleat
--import Dodge.PlacementSpot
--import Dodge.Room.RunPast
import Dodge.RoomLink
+1 -1
View File
@@ -1,6 +1,6 @@
{- Connecting rooms designed with a pass-through technique in mind. -}
module Dodge.Room.RoadBlock where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Data
import Dodge.RoomLink
import Geometry
+1 -1
View File
@@ -8,7 +8,7 @@ module Dodge.Room.Room
, pistolerRoom
, spawnerRoom
) where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Data
import Dodge.PlacementSpot
import Dodge.RoomLink
+1 -1
View File
@@ -1,7 +1,7 @@
module Dodge.Room.RunPast
( lockedStart
) where
import Dodge.UseAll
import Dodge.Cleat
import Geometry.Polygon
import Dodge.LevelGen.Data
import Dodge.LightSource
+1 -1
View File
@@ -1,7 +1,7 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Room.SensorDoor where
import Dodge.Annotation.Data
import Dodge.UseAll
import Dodge.Cleat
import Dodge.LevelGen.Data
import Dodge.PlacementSpot
import Dodge.Placement.Instance.Terminal
+5 -24
View File
@@ -3,7 +3,7 @@ module Dodge.Room.Start
( startRoom
, randomChallenges
) where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Data
import Dodge.LevelGen.Data
--import Dodge.PlacementSpot
@@ -82,38 +82,19 @@ rezBoxStart = do
ls <- rezColor
return $ treePost [ rezBox ls, cleatOnward door ]
rezBoxesThenWeaponRoom :: RandomGen g => Int -> State g (MetaTree Room String)
rezBoxesThenWeaponRoom i = do
rboxes <- rezBoxes
wroom <- weaponRoom i
return $ attachOnward "rezBoxesThenWeaponRoom" rboxes wroom
preCritStart :: RandomGen g => State g (MetaTree Room String)
preCritStart = join $ takeOneWeighted
[10,10,(1::Float)]
[10,10,1::Float]
[rezBoxes
,rezBox'
,attachOnward "rezBoxPowerFakeout" <$> rezBox' <*> powerFakeout'
]
startThenWeaponRoom :: RandomGen g => Int -> State g (MetaTree Room String)
startThenWeaponRoom i = do
startrm <- preCritStart
wroom <- weaponRoom i
return $ attachOnward "rezBoxThenWeaponRoom" startrm wroom
rezBoxThenRoom :: RandomGen g => Room -> State g (Tree Room)
rezBoxThenRoom r = do
rcol <- rezColor
return $ treeFromTrunk [ rezBox rcol, cleatOnward door] $ pure r
rezBoxThenRooms :: RandomGen g => Tree Room -> State g (Tree Room)
rezBoxThenRooms r = do
rcol <- rezColor
return . treeFromTrunk [ rezBox rcol, door] $ r
startCrafts :: RandomGen g => State g [Item]
startCrafts = takeOne $ map (map makeTypeCraft)
[ [PIPE,PIPE,HARDWARE]
, [TUBE,PIPE,HARDWARE]
, [PIPE,HARDWARE,HARDWARE]
, [TUBE,TUBE,HARDWARE]
, [TUBE,HARDWARE,HARDWARE]
]
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Room.Warning where
import Dodge.UseAll
import Dodge.Cleat
import Dodge.Terminal
--import Dodge.LevelGen.Data
import Dodge.PlacementSpot
-31
View File
@@ -1,31 +0,0 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.UseAll
( toLabel
, cleatOnward
, cleatSide
, rToOnward
, cleatLabel
) where
import Dodge.Data
import Dodge.Tree.Compose
import Data.Tree
import Control.Lens
import qualified Data.Set as S
toLabel :: Int -> Room -> Maybe Room
toLabel i rm
| LabelCluster i `elem` rm ^?! rmClusterStatus . csLinks = Just rm
| otherwise = Nothing
rToOnward :: Monad m => String -> Tree Room -> m (MetaTree Room String)
rToOnward s t = return $ tToBTree s t
cleatOnward :: Room -> Room
cleatOnward = rmClusterStatus . csLinks .~ S.singleton OnwardCluster
cleatSide :: Room -> Room
cleatSide = rmClusterStatus . csLinks . at SideCluster ?~ ()
cleatLabel :: Int -> Room -> Room
cleatLabel i = rmClusterStatus . csLinks .~ S.singleton (LabelCluster i)