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.Data
, module Dodge.Annotation , module Dodge.Annotation
) where ) where
import Dodge.UseAll import Dodge.Cleat
import RandomHelp import RandomHelp
import Dodge.Tree import Dodge.Tree
import Dodge.Data import Dodge.Data
+1 -1
View File
@@ -4,7 +4,7 @@
module Dodge.Floor module Dodge.Floor
( initialRoomTree ( initialRoomTree
) where ) where
import Dodge.UseAll import Dodge.Cleat
--import Geometry.Data --import Geometry.Data
--import Dodge.Data --import Dodge.Data
import Dodge.LockAndKey import Dodge.LockAndKey
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-} --{-# LANGUAGE TupleSections #-}
module Dodge.LockAndKey where module Dodge.LockAndKey where
import Dodge.UseAll import Dodge.Cleat
import Dodge.Data import Dodge.Data
import Dodge.Tree import Dodge.Tree
--import Dodge.LevelGen.Data --import Dodge.LevelGen.Data
+1 -1
View File
@@ -1,7 +1,7 @@
module Dodge.Room.BlinkAcross where module Dodge.Room.BlinkAcross where
--import Dodge.LevelGen.Data --import Dodge.LevelGen.Data
import Dodge.PlacementSpot import Dodge.PlacementSpot
import Dodge.UseAll import Dodge.Cleat
import Dodge.Data import Dodge.Data
import Dodge.Tree import Dodge.Tree
--import Dodge.RoomLink --import Dodge.RoomLink
+1 -1
View File
@@ -6,7 +6,7 @@ module Dodge.Room.Branch
--import Geometry --import Geometry
--import Dodge.LevelGen.Data --import Dodge.LevelGen.Data
import Dodge.Data import Dodge.Data
import Dodge.UseAll import Dodge.Cleat
import Dodge.Room.Door import Dodge.Room.Door
import Dodge.Room.Link import Dodge.Room.Link
import Dodge.Room.Procedural import Dodge.Room.Procedural
+1 -1
View File
@@ -8,7 +8,7 @@ import Dodge.Room.Procedural
import Dodge.Room.Tanks import Dodge.Room.Tanks
import Dodge.Room.Link import Dodge.Room.Link
import Dodge.Room.Ngon import Dodge.Room.Ngon
import Dodge.UseAll import Dodge.Cleat
import LensHelp import LensHelp
import Geometry import Geometry
--import Dodge.Item.Equipment --import Dodge.Item.Equipment
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-} --{-# LANGUAGE TupleSections #-}
module Dodge.Room.GlassLesson where module Dodge.Room.GlassLesson where
import Dodge.UseAll import Dodge.Cleat
import Dodge.Annotation.Data import Dodge.Annotation.Data
import Dodge.RoomLink import Dodge.RoomLink
import Dodge.Creature import Dodge.Creature
+1 -1
View File
@@ -1,7 +1,7 @@
--{-# LANGUAGE TupleSections #-} --{-# LANGUAGE TupleSections #-}
module Dodge.Room.LasTurret where module Dodge.Room.LasTurret where
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.UseAll import Dodge.Cleat
import Dodge.PlacementSpot import Dodge.PlacementSpot
import Dodge.Data import Dodge.Data
import Dodge.Tree import Dodge.Tree
+1 -1
View File
@@ -3,7 +3,7 @@
-} -}
module Dodge.Room.LongDoor where module Dodge.Room.LongDoor where
import Dodge.Data import Dodge.Data
import Dodge.UseAll import Dodge.Cleat
import Dodge.RoomLink import Dodge.RoomLink
import Dodge.Base import Dodge.Base
import Dodge.Tree import Dodge.Tree
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-} --{-# LANGUAGE TupleSections #-}
module Dodge.Room.LongRoom where module Dodge.Room.LongRoom where
import Dodge.UseAll import Dodge.Cleat
import Dodge.RoomLink import Dodge.RoomLink
import Dodge.Tree import Dodge.Tree
--import Dodge.Default.Room --import Dodge.Default.Room
+1 -1
View File
@@ -1,6 +1,6 @@
module Dodge.Room.Pillar where module Dodge.Room.Pillar where
import Dodge.Data import Dodge.Data
import Dodge.UseAll import Dodge.Cleat
import Dodge.PlacementSpot import Dodge.PlacementSpot
import Dodge.Room.Modify.Girder import Dodge.Room.Modify.Girder
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
+1 -1
View File
@@ -1,6 +1,6 @@
module Dodge.Room.RezBox where module Dodge.Room.RezBox where
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.UseAll import Dodge.Cleat
--import Dodge.PlacementSpot --import Dodge.PlacementSpot
--import Dodge.Room.RunPast --import Dodge.Room.RunPast
import Dodge.RoomLink import Dodge.RoomLink
+1 -1
View File
@@ -1,6 +1,6 @@
{- Connecting rooms designed with a pass-through technique in mind. -} {- Connecting rooms designed with a pass-through technique in mind. -}
module Dodge.Room.RoadBlock where module Dodge.Room.RoadBlock where
import Dodge.UseAll import Dodge.Cleat
import Dodge.Data import Dodge.Data
import Dodge.RoomLink import Dodge.RoomLink
import Geometry import Geometry
+1 -1
View File
@@ -8,7 +8,7 @@ module Dodge.Room.Room
, pistolerRoom , pistolerRoom
, spawnerRoom , spawnerRoom
) where ) where
import Dodge.UseAll import Dodge.Cleat
import Dodge.Data import Dodge.Data
import Dodge.PlacementSpot import Dodge.PlacementSpot
import Dodge.RoomLink import Dodge.RoomLink
+1 -1
View File
@@ -1,7 +1,7 @@
module Dodge.Room.RunPast module Dodge.Room.RunPast
( lockedStart ( lockedStart
) where ) where
import Dodge.UseAll import Dodge.Cleat
import Geometry.Polygon import Geometry.Polygon
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.LightSource import Dodge.LightSource
+1 -1
View File
@@ -1,7 +1,7 @@
--{-# LANGUAGE TupleSections #-} --{-# LANGUAGE TupleSections #-}
module Dodge.Room.SensorDoor where module Dodge.Room.SensorDoor where
import Dodge.Annotation.Data import Dodge.Annotation.Data
import Dodge.UseAll import Dodge.Cleat
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.PlacementSpot import Dodge.PlacementSpot
import Dodge.Placement.Instance.Terminal import Dodge.Placement.Instance.Terminal
+5 -24
View File
@@ -3,7 +3,7 @@ module Dodge.Room.Start
( startRoom ( startRoom
, randomChallenges , randomChallenges
) where ) where
import Dodge.UseAll import Dodge.Cleat
import Dodge.Data import Dodge.Data
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
--import Dodge.PlacementSpot --import Dodge.PlacementSpot
@@ -82,38 +82,19 @@ rezBoxStart = do
ls <- rezColor ls <- rezColor
return $ treePost [ rezBox ls, cleatOnward door ] 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 :: RandomGen g => State g (MetaTree Room String)
preCritStart = join $ takeOneWeighted preCritStart = join $ takeOneWeighted
[10,10,(1::Float)] [10,10,1::Float]
[rezBoxes [rezBoxes
,rezBox' ,rezBox'
,attachOnward "rezBoxPowerFakeout" <$> rezBox' <*> powerFakeout' ,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 :: RandomGen g => State g [Item]
startCrafts = takeOne $ map (map makeTypeCraft) startCrafts = takeOne $ map (map makeTypeCraft)
[ [PIPE,PIPE,HARDWARE] [ [PIPE,PIPE,HARDWARE]
, [TUBE,PIPE,HARDWARE] , [TUBE,PIPE,HARDWARE]
, [PIPE,HARDWARE,HARDWARE]
, [TUBE,TUBE,HARDWARE]
, [TUBE,HARDWARE,HARDWARE]
] ]
+1 -1
View File
@@ -1,6 +1,6 @@
--{-# LANGUAGE TupleSections #-} --{-# LANGUAGE TupleSections #-}
module Dodge.Room.Warning where module Dodge.Room.Warning where
import Dodge.UseAll import Dodge.Cleat
import Dodge.Terminal import Dodge.Terminal
--import Dodge.LevelGen.Data --import Dodge.LevelGen.Data
import Dodge.PlacementSpot 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)