This commit is contained in:
2022-06-14 16:57:27 +01:00
parent af161bc82c
commit 339fc14152
+17 -15
View File
@@ -33,6 +33,9 @@ import LensHelp
--import Data.Tree --import Data.Tree
--import qualified Data.IntMap.Strict as IM --import qualified Data.IntMap.Strict as IM
powerFakeout' :: RandomGen g => State g (MetaTree Room String)
powerFakeout' = tToBTree "powerFakeout'" <$> powerFakeout
powerFakeout :: RandomGen g => State g (Tree Room) powerFakeout :: RandomGen g => State g (Tree Room)
powerFakeout = do powerFakeout = do
ncor <- state $ randomR (0,2) ncor <- state $ randomR (0,2)
@@ -42,28 +45,22 @@ powerFakeout = do
] ]
roomwithmini <- pedestalRoom it roomwithmini <- pedestalRoom it
randcors <- replicateM ncor $ shuffleLinks corridor randcors <- replicateM ncor $ shuffleLinks corridor
return $ ([ door return $ treePost $
[ corridor,door
, roomwithmini , roomwithmini
, door , door
] ]
++ randcors ++ randcors
++ [ corridor & rmPmnts .:~ plRRpt 0 (PutFlIt shrinkGun) ++ [ corridor & rmPmnts .:~ plRRpt 0 (PutFlIt shrinkGun)
, keyholeCorridor, corridor]) , keyholeCorridor, corridor
`treeFromPost` cleatOnward door ,cleatOnward door]
startRoom :: RandomGen g => Int -> State g (MetaTree Room String) startRoom :: RandomGen g => Int -> State g (MetaTree Room String)
startRoom i = join (takeOne startRoom i = join (takeOne
[-- (,) (0.5::Float) ((chainUses <$> sequence [powerFakeout,fmap fst $weaponRoom i]) [ attachOnward "startThenWeaponRoom" <$> preCritStart <*> weaponRoom i
-- <&> (,TreeSubLabelling "chainUses <$> sequence [powerFakeout,weaponRoom i]" Nothing)) , rezBoxesWpCrit >>= rToOnward "rezBoxesWpCrit"
-- wat , runPastStart i >>= rToOnward ("runPastStart " ++ show i)
-- rezBoxesWp >>= rToOnward "rezBoxesWp" , attachOnward "startThenCraft" <$> preCritStart <*> (startCrafts >>= roomsContaining [])
-- attachOnward "startThenWeaponRoom" <$> preCritStart <*> weaponRoom i
-- startThenWeaponRoom i
-- rezBoxesWpCrit >>= rToOnward "rezBoxesWpCrit"
-- runPastStart i >>= rToOnward ("runPastStart " ++ show i)
attachOnward "startThenCraft" <$> preCritStart <*> (startCrafts >>= roomsContaining [])
-- startCrafts >>= roomsContaining' [] >>= preCritStart
-- >>= rToOnward "startCrafts >>= roomsContaining [] >>= preCritStart"
]) ])
randomChallenges :: RandomGen g => State g (MetaTree Room String) randomChallenges :: RandomGen g => State g (MetaTree Room String)
randomChallenges = shootingRange randomChallenges = shootingRange
@@ -92,7 +89,12 @@ rezBoxesThenWeaponRoom i = do
return $ attachOnward "rezBoxesThenWeaponRoom" rboxes wroom return $ attachOnward "rezBoxesThenWeaponRoom" rboxes wroom
preCritStart :: RandomGen g => State g (MetaTree Room String) preCritStart :: RandomGen g => State g (MetaTree Room String)
preCritStart = join $ takeOne [rezBoxes,rezBox'] preCritStart = join $ takeOneWeighted
[10,10,(1::Float)]
[rezBoxes
,rezBox'
,attachOnward "rezBoxPowerFakeout" <$> rezBox' <*> powerFakeout'
]
startThenWeaponRoom :: RandomGen g => Int -> State g (MetaTree Room String) startThenWeaponRoom :: RandomGen g => Int -> State g (MetaTree Room String)
startThenWeaponRoom i = do startThenWeaponRoom i = do