Rework annotations

This commit is contained in:
2022-06-12 13:38:23 +01:00
parent 8b4b6de0c0
commit 2ccb26b289
16 changed files with 161 additions and 154 deletions
+57 -58
View File
@@ -35,68 +35,67 @@ import RandomHelp
--import Data.Maybe
--import qualified Data.IntMap.Strict as IM
initialAnoTree :: Tree [Annotation]
initialAnoTree = padSucWithDoors $ treePost
[[AnoApplyInt 110 startRoom]
, [PassthroughLockKeyLists 2 keyCardRunPastRand itemRooms]
, [SpecificRoom $ warningRooms 777777]
, [SpecificRoom $ rToOnward "chaseCrit+armourChaseCrit rectRoom"
initialAnoTree :: Annotation
initialAnoTree = PadWith door $ OnwardList
[ IntAnno 0 $ SpecificRoom . startRoom
-- , PassthroughLockKeyLists 2 keyCardRunPastRand itemRooms
, SpecificRoom $ warningRooms 1
, SpecificRoom $ rToOnward "chaseCrit+armourChaseCrit rectRoom"
$ return . cleatOnward $ roomRectAutoLinks 400 400 & rmPmnts .++~
[ spNoID anyUnusedSpot (PutCrit invisibleChaseCrit)
, spNoID anyUnusedSpot (PutCrit armourChaseCrit)
]
]
-- , [AnoApplyInt 100 healthTest]
, [PassthroughLockKeyLists 23
[(sensorRoomRunPast ELECTRICAL, takeOne [STATICMODULE,SPARKGUN] )] itemRooms]
, [SpecificRoom (tanksRoom [] [] >>= rToOnward "empty tanksRoom" . pure . cleatOnward)]
, [PassthroughLockKeyLists 222 lockRoomKeyItems itemRooms]
, [SpecificRoom randomChallenges]
, [AnoApplyInt 1 lasSensorTurretTest]
-- ,[SpecificRoom $ fmap pure roomCCrits]
-- ,[AirlockAno]
-- ,[Corridor]
------ ,[SpecificRoom roomCCrits]
------ ,[Corridor]
------ ,[SpecificRoom . pure . pure . useAll $ roomGlassOctogon 400
------ & rmPS %~ ([sPS (V2 0 50) 0 $ PutCrit armourChaseCrit
------ ,sPS (V2 50 25) 0 $ PutCrit armourChaseCrit
------ ,sPS (V2 50 0) 0 $ PutCrit armourChaseCrit
------ ]++)
------ ]
------ --,[SpecificRoom . pure . pure . useAll $ roomGlassOctogon 400
------ -- & rmPS %~ ([swarmPS 0 (x,y) 0 swarmCrit | x <- [-20,-19.5.. 20] , y <- [200,202] ]++)
------ -- ]
------ ,[SpecificRoom . pure . pure . useAll $ roomGlassOctogon 400
------ & rmPS %~ ([sPS (V2 0 50) 0 $ PutCrit pistolCrit ]++)
------ ]
------ ,[Corridor]
---- --,[SpecificRoom $ pure . useAll <$> twinSlowDoorChasers]
----- ,[SpecificRoom $ pure $ (pure . useAll) (twinSlowDoorRoom 80 200 40)]
----- ,[DoorAno]
----- ,[SpecificRoom $ pure . useAll <$> centerVaultExplosiveExit]
----- ,[SpecificRoom blockedCorridor]
----- ,[OrAno [[DoorAno]
----- ,[Corridor]
----- ,[DoorNumAno 0,AirlockAno]]
----- ]
----- ,[FirstWeapon]
----- ,[CorridorDebug]
----- ,[SpecificRoom $ fmap (pure . useAll) randomFourCornerRoom]
-- ,[OrAno
-- [[SpecificRoom $ branchRectWith $ fmap (fmap ) armouredChasers]
-- ,[BossAno $ addArmour launcherCrit & crHP +~ 800
-- & crState . crDropsOnDeath .~ DropSpecific [0] ]
-- ]
-- ]
---- ,[SpecificRoom $ fmap (pure . useAll) armouredCorridor]
-- ,[Corridor]
-- ,[TreasureAno [addArmour autoCrit,addArmour autoCrit] [launcher]]
-- ,[Corridor]
,[SpecificRoom $ randomFourCornerRoom [] >>= rToOnward "randomFourCornerRoom" . pure . cleatOnward ]
,[SpecificRoom $ telRoomLev 1 >>= rToOnward "telRoomLev" . pure . cleatOnward]
--"-- , [AnoApplyInt 100 healthTest]
--" , PassthroughLockKeyLists 23
--" [(sensorRoomRunPast ELECTRICAL, takeOne [STATICMODULE,SPARKGUN] )] itemRooms
--" , SpecificRoom (tanksRoom [] [] >>= rToOnward "empty tanksRoom" . pure . cleatOnward)
--" , PassthroughLockKeyLists 222 lockRoomKeyItems itemRooms
--" , SpecificRoom randomChallenges
--" , AnoApplyInt 1 lasSensorTurretTest
--"-- ,[SpecificRoom $ fmap pure roomCCrits]
--"-- ,[AirlockAno]
--"-- ,[Corridor]
--"------ ,[SpecificRoom roomCCrits]
--"------ ,[Corridor]
--"------ ,[SpecificRoom . pure . pure . useAll $ roomGlassOctogon 400
--"------ & rmPS %~ ([sPS (V2 0 50) 0 $ PutCrit armourChaseCrit
--"------ ,sPS (V2 50 25) 0 $ PutCrit armourChaseCrit
--"------ ,sPS (V2 50 0) 0 $ PutCrit armourChaseCrit
--"------ ]++)
--"------ ]
--"------ --,[SpecificRoom . pure . pure . useAll $ roomGlassOctogon 400
--"------ -- & rmPS %~ ([swarmPS 0 (x,y) 0 swarmCrit | x <- [-20,-19.5.. 20] , y <- [200,202] ]++)
--"------ -- ]
--"------ ,[SpecificRoom . pure . pure . useAll $ roomGlassOctogon 400
--"------ & rmPS %~ ([sPS (V2 0 50) 0 $ PutCrit pistolCrit ]++)
--"------ ]
--"------ ,[Corridor]
--"---- --,[SpecificRoom $ pure . useAll <$> twinSlowDoorChasers]
--"----- ,[SpecificRoom $ pure $ (pure . useAll) (twinSlowDoorRoom 80 200 40)]
--"----- ,[DoorAno]
--"----- ,[SpecificRoom $ pure . useAll <$> centerVaultExplosiveExit]
--"----- ,[SpecificRoom blockedCorridor]
--"----- ,[OrAno [[DoorAno]
--"----- ,[Corridor]
--"----- ,[DoorNumAno 0,AirlockAno]]
--"----- ]
--"----- ,[FirstWeapon]
--"----- ,[CorridorDebug]
--"----- ,[SpecificRoom $ fmap (pure . useAll) randomFourCornerRoom]
--"-- ,[OrAno
--"-- [[SpecificRoom $ branchRectWith $ fmap (fmap ) armouredChasers]
--"-- ,[BossAno $ addArmour launcherCrit & crHP +~ 800
--"-- & crState . crDropsOnDeath .~ DropSpecific [0] ]
--"-- ]
--"-- ]
--"---- ,[SpecificRoom $ fmap (pure . useAll) armouredCorridor]
--"-- ,[Corridor]
--"-- ,[TreasureAno [addArmour autoCrit,addArmour autoCrit] [launcher]]
--"-- ,[Corridor]
--" ,SpecificRoom $ randomFourCornerRoom [] >>= rToOnward "randomFourCornerRoom" . pure . cleatOnward
--" ,SpecificRoom $ telRoomLev 1 >>= rToOnward "telRoomLev" . pure . cleatOnward
]
{- | A test level tree. -}
initialRoomTree :: State StdGen (Tree (Room -> Maybe ([String],Room), Tree Room))
initialRoomTree = mapM anoToRoomTree initialAnoTree
initialRoomTree :: State StdGen (MetaTree Room)
initialRoomTree = annoToRoomTree initialAnoTree