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 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 = do
ncor <- state $ randomR (0,2)
@@ -42,28 +45,22 @@ powerFakeout = do
]
roomwithmini <- pedestalRoom it
randcors <- replicateM ncor $ shuffleLinks corridor
return $ ([ door
return $ treePost $
[ corridor,door
, roomwithmini
, door
]
++ randcors
++ [ corridor & rmPmnts .:~ plRRpt 0 (PutFlIt shrinkGun)
, keyholeCorridor, corridor])
`treeFromPost` cleatOnward door
, keyholeCorridor, corridor
,cleatOnward door]
startRoom :: RandomGen g => Int -> State g (MetaTree Room String)
startRoom i = join (takeOne
[-- (,) (0.5::Float) ((chainUses <$> sequence [powerFakeout,fmap fst $weaponRoom i])
-- <&> (,TreeSubLabelling "chainUses <$> sequence [powerFakeout,weaponRoom i]" Nothing))
-- wat
-- rezBoxesWp >>= rToOnward "rezBoxesWp"
-- 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"
[ attachOnward "startThenWeaponRoom" <$> preCritStart <*> weaponRoom i
, rezBoxesWpCrit >>= rToOnward "rezBoxesWpCrit"
, runPastStart i >>= rToOnward ("runPastStart " ++ show i)
, attachOnward "startThenCraft" <$> preCritStart <*> (startCrafts >>= roomsContaining [])
])
randomChallenges :: RandomGen g => State g (MetaTree Room String)
randomChallenges = shootingRange
@@ -92,7 +89,12 @@ rezBoxesThenWeaponRoom i = do
return $ attachOnward "rezBoxesThenWeaponRoom" rboxes wroom
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 i = do