Add key card item lock/key system
This commit is contained in:
@@ -60,7 +60,7 @@ lasSensLightAboveDoor wth ps = extTrigLitPos
|
||||
| otherwise = w
|
||||
|
||||
lightSensByDoor :: Int -> Room -> Room
|
||||
lightSensByDoor outplid rm = rm
|
||||
lightSensByDoor outplid rm = rm
|
||||
& rmPmnts .++~
|
||||
[ psPt atFstLnkOut $ PutShape $ colorSH yellow
|
||||
$ barPP 1.5 (V3 20 (-1) 0) (V3 20 (-1) 80)
|
||||
@@ -72,6 +72,28 @@ lightSensByDoor outplid rm = rm
|
||||
covershape = rectNSEW 10 (-10) 20 (-20)
|
||||
sensorshift (p,a) = (p +.+ rotateV a (V2 60 (-20)), a)
|
||||
|
||||
keyCardRoomRunPast :: RandomGen g => Int -> Int -> State g (SubCompTree Room)
|
||||
keyCardRoomRunPast keyid rmid = do
|
||||
cenroom <- shuffleLinks $ keyCardAnalyserByDoor keyid rmid $ roomNgon 6 200
|
||||
let doorroom = triggerDoorRoom rmid
|
||||
return $ treeFromTrunk [PassDown door] $ Node (PassDown cenroom)
|
||||
[ treeFromPost [PassDown doorroom] (UseAll door)
|
||||
, treeFromPost [PassDown door] (UseLabel 0 corridor)
|
||||
]
|
||||
|
||||
keyCardAnalyserByDoor :: Int -> Int -> Room -> Room
|
||||
keyCardAnalyserByDoor keyid = analyserByDoor
|
||||
[ bar
|
||||
, hic
|
||||
, bar ]
|
||||
"UNLOCKED"
|
||||
("REQUIRES KEYCARD-"++ show keyid)
|
||||
(bar : replicate 2 "")
|
||||
(machineAddSound fridgeHumS $ testYouHave (KEYCARD 0))
|
||||
where
|
||||
hic = "HEALTH INTEGRITY CHECK"
|
||||
bar = replicate (length hic) '-'
|
||||
|
||||
healthAnalyserByDoor :: Int -> Room -> Room
|
||||
healthAnalyserByDoor = analyserByDoor
|
||||
[ bar
|
||||
|
||||
Reference in New Issue
Block a user