Test of lock and key system

This commit is contained in:
2021-11-22 23:54:58 +00:00
parent 05e1307336
commit 5ab5be3087
11 changed files with 84 additions and 20 deletions
+17 -5
View File
@@ -3,16 +3,28 @@ import Dodge.Data
import Dodge.Tree
import Dodge.LevelGen.Data
import Dodge.Room
import Dodge.RandomHelp
import Dodge.Creature
--import Dodge.Item.Equipment
import System.Random
import Control.Monad.State
lockRoomKeyItems :: RandomGen g => [ (Int -> State g (SubCompTree Room) , [ItemIdentity] ) ]
-- (const $ return $ chainUses $ map singleUseAll [door,lasTunnel,door] , return FlatShield )
-- ,
lockRoomKeyItems :: RandomGen g => [ (Int -> State g (SubCompTree Room) , State g ItemIdentity ) ]
lockRoomKeyItems =
[ (const $ return $ chainUses $ map singleUseAll [door,lasTunnel,door] , [FlatShield] )
, (lasCenSensEdge, [FlatShield,Launcher,TeslaGun] )
[ (lasCenSensEdge, takeOne [Launcher] )
]
itemRooms :: [(ItemIdentity, Room)]
itemRooms = []
itemRooms :: RandomGen g => [(ItemIdentity, State g (SubCompTree Room))]
itemRooms =
[ (Launcher , corridorBoss launcherCrit ) ]
corridorBoss :: RandomGen g => Creature -> State g (SubCompTree Room)
corridorBoss cr = do
endroom <- bossRoom cr
return $ treeFromPost (replicate 5 $ PassDown corridor)
(PassDown endroom)