Make items recoverable from base type

This commit is contained in:
2022-06-14 22:09:26 +01:00
parent f3e1a34164
commit 485c42eb24
15 changed files with 537 additions and 241 deletions
+7 -7
View File
@@ -28,10 +28,10 @@ lockRoomMultiItems =
lockRoomKeyItems :: RandomGen g => [ (Int -> State g (MetaTree Room String) , State g ItemBaseType ) ]
lockRoomKeyItems =
[(lasCenSensEdge, takeOne [LAUNCHER,LASGUN,SPARKGUN,FLATSHIELD,FORCEFIELDGUN] )
,(sensorRoomRunPast ELECTRICAL, takeOne [STATICMODULE,SPARKGUN] )
,(sensorRoomRunPast FLAMING, takeOne [FLAMESPITTER, INCENDIARYMODULE] )
,(sensorRoomRunPast ELECTRICAL, takeOne [CRAFT STATICMODULE,SPARKGUN] )
,(sensorRoomRunPast FLAMING, takeOne [FLAMESPITTER, CRAFT INCENDIARYMODULE] )
,(sensorRoomRunPast LASERING, return LASGUN )
,(const slowDoorRoomRunPast, return MINIGUN)
,(const slowDoorRoomRunPast, return $ MINIGUNX 3)
,(const longRoomRunPast, takeOne [SNIPERRIFLE,FLATSHIELD])
,(const glassLessonRunPast, takeOne [LASGUN])
,(const $ lasTunnelRunPast 400, takeOne [FLATSHIELD,FORCEFIELDGUN])
@@ -47,7 +47,7 @@ itemRooms =
, rc $ map makeTypeCraft [TUBE,TUBE,HARDWARE]
]
)
, (MINIGUN , join $ takeOne
, (MINIGUNX 3 , join $ takeOne
[roomMiniIntro
, rc $ map makeTypeCraft ([MOTOR,HARDWARE] ++ replicate 6 PIPE)
] )
@@ -80,12 +80,12 @@ itemRooms =
[rc [keyCard 0]
]
)
, (INCENDIARYMODULE , join $ takeOne
, (CRAFT INCENDIARYMODULE , join $ takeOne
[rc [incendiaryModule]
]
)
, (STATICMODULE , join $ takeOne
[rc [makeModule STATICMODULE]
, (CRAFT STATICMODULE , join $ takeOne
[rc [makeTypeCraft STATICMODULE]
]
)
]