Tweak start rooms

This commit is contained in:
2021-11-26 14:40:32 +00:00
parent 040849a550
commit b0f89db66e
5 changed files with 19 additions and 17 deletions
-2
View File
@@ -46,7 +46,6 @@ generateLevelFromRoomList gr' w
. doPartialPlacements . doPartialPlacements
. doExtendedPlacements . doExtendedPlacements
. doIndividualPlacements . doIndividualPlacements
-- . flip (mapAccumR doRoomPlacements) (IM.elems rs')
. setFloors . setFloors
. worldToGenWorld rs' . worldToGenWorld rs'
$ w { _walls = wallsFromRooms rs $ w { _walls = wallsFromRooms rs
@@ -207,7 +206,6 @@ gameRoomsFromRooms = fmap gameRoomFromRoom
gameRoomFromRoom :: Room -> GameRoom gameRoomFromRoom :: Room -> GameRoom
gameRoomFromRoom rm = GameRoom gameRoomFromRoom rm = GameRoom
{ _grViewpoints = map doshift $ _rmViewpoints rm ++ (map fst . foldl' (flip cutWalls) [] $ _rmPolys rm) { _grViewpoints = map doshift $ _rmViewpoints rm ++ (map fst . foldl' (flip cutWalls) [] $ _rmPolys rm)
-- ++ map fst (_rmLinks rm)
, _grViewpointsEx = concatMap unpos (_rmPos rm) , _grViewpointsEx = concatMap unpos (_rmPos rm)
, _grBound = map doshift $ expandPolyCorners 50 . convexHullSafe . nubBy closePoints , _grBound = map doshift $ expandPolyCorners 50 . convexHullSafe . nubBy closePoints
. concat $ _rmBound rm ++ _rmPolys rm . concat $ _rmBound rm ++ _rmPolys rm
+1 -1
View File
@@ -72,7 +72,7 @@ rezBoxesWpCrit = do
--horedge <- takeOne [OnEdge North,OnEdge South] --horedge <- takeOne [OnEdge North,OnEdge South]
let centralRoom = (roomRectAutoLinks w h) {_rmPmnts = []} let centralRoom = (roomRectAutoLinks w h) {_rmPmnts = []}
onwardpassage <- onwardpassage <-
(applyToCompRoot (rmConnectsTo .~ S.singleton (OnEdge West))) <$> maybeBlockedPassage applyToCompRoot (rmConnectsTo .~ S.singleton (OnEdge West)) <$> maybeBlockedPassage
let bottomEdgeTest (V2 _ y,_) = y < 1 let bottomEdgeTest (V2 _ y,_) = y < 1
aroom = rezInvBox thecol aroom = rezInvBox thecol
let n = length $ filter bottomEdgeTest $ map lnkPosDir $ _rmLinks centralRoom let n = length $ filter bottomEdgeTest $ map lnkPosDir $ _rmLinks centralRoom
+5 -5
View File
@@ -355,11 +355,11 @@ deadEndRoom = defaultRoom
{- A random Either tree with a weapon and melee monster challenge. -} {- A random Either tree with a weapon and melee monster challenge. -}
weaponRoom :: RandomGen g => State g (SubCompTree Room) weaponRoom :: RandomGen g => State g (SubCompTree Room)
weaponRoom = join $ takeOne weaponRoom = join $ takeOne
[-- weaponEmptyRoom [ weaponEmptyRoom
weaponUnderCrits , weaponUnderCrits
-- weaponBehindPillar , weaponBehindPillar
-- weaponBetweenPillars , weaponBetweenPillars
--, weaponLongCorridor , weaponLongCorridor
] ]
roomCCrits :: RandomGen g => State g Room roomCCrits :: RandomGen g => State g Room
+7 -2
View File
@@ -24,6 +24,7 @@ import Geometry.Data
import Color import Color
--import Shape --import Shape
import qualified Data.Set as S
import Data.Tree import Data.Tree
import Control.Monad.State import Control.Monad.State
import Control.Lens import Control.Lens
@@ -57,8 +58,9 @@ runPastRoom i = do
thels <- roomCritLS thels <- roomCritLS
--theweapon <- join $ takeOne [randBlockBreakWeapon,return grenade] --theweapon <- join $ takeOne [randBlockBreakWeapon,return grenade]
theweapon <- randBlockBreakWeapon theweapon <- randBlockBreakWeapon
cenroom <- changeLinkFrom theedgetest cenroom <- shuffleLinks $ restrictRMInLinksPD (\(V2 _ y,_) -> y < 1)
$ roomRectAutoLinks 40 h & rmPmnts .~ [plRRpt 0 (PutFlIt theweapon)] $ roomRectAutoLinks 40 h & rmPmnts .~ [plRRpt 0 (PutFlIt theweapon)]
theedge <- takeOne [West,East]
--let cenroom = filterSortOutLinksOn theedgetest ((\(V2 a b) -> (a,b)) . fst) --let cenroom = filterSortOutLinksOn theedgetest ((\(V2 a b) -> (a,b)) . fst)
let linkcor = critRoom {_rmPmnts = let linkcor = critRoom {_rmPmnts =
[ spanLS thels (V2 0 65) (V2 40 65) [ spanLS thels (V2 0 65) (V2 40 65)
@@ -76,4 +78,7 @@ runPastRoom i = do
critrooms :: [SubCompTree Room] critrooms :: [SubCompTree Room]
critrooms = treeFromPost [PassDown switchdoor] (PassDown critroom) : critrooms = treeFromPost [PassDown switchdoor] (PassDown critroom) :
replicate (n-2) (treeFromPost [PassDown switchdoor] (PassDown linkcor)) replicate (n-2) (treeFromPost [PassDown switchdoor] (PassDown linkcor))
return $ Node (PassDown cenroom) (controom : critrooms ++ [return $ PassDown aswitchroom]) return $ Node (PassDown cenroom)
(map (applyToCompRoot $ rmConnectsTo .~ S.singleton (OnEdge theedge)) (controom : critrooms)
++ [return $ PassDown aswitchroom]
)
+6 -7
View File
@@ -65,15 +65,14 @@ room2 :: RandomGen g => Int -> State g (SubCompTree Room)
room2 = lasCenSensEdge room2 = lasCenSensEdge
startRoom :: RandomGen g => Int -> State g (SubCompTree Room) startRoom :: RandomGen g => Int -> State g (SubCompTree Room)
--startRoom i = join $ takeOne startRoom i = join $ takeOne
startRoom _ = join $ takeOne
[-- roomMiniIntro [-- roomMiniIntro
--minigunfakeout --minigunfakeout
-- rezBoxesWp rezBoxesWp
rezBoxesThenWeaponRoom , rezBoxesThenWeaponRoom
-- , rezBoxThenWeaponRoom , rezBoxThenWeaponRoom
-- rezBoxesWpCrit , rezBoxesWpCrit
-- , runPastStart i , runPastStart i
] ]
runPastStart :: RandomGen g => Int -> State g (SubCompTree Room) runPastStart :: RandomGen g => Int -> State g (SubCompTree Room)