Generalise link effects

This commit is contained in:
2022-06-02 22:50:42 +01:00
parent 15d8b821d4
commit 28a002eb08
4 changed files with 17 additions and 12 deletions
+3 -2
View File
@@ -42,9 +42,10 @@ sensorRoom senseType n = do
rm <- takeOne [roomNgon 8 200, roomRectAutoLinks 200 200]
cenroom <- shuffleLinks $ sensInsideDoor senseType n rm
let doorroom = triggerDoorRoom n
return $ treeFromPost [PassDown door,PassDown $ cenroom & rmLinkEff .~ [f,f],PassDown doorroom] (UseAll door)
return $ treeFromPost [PassDown door,PassDown $ cenroom & rmLinkEff .~ f,PassDown doorroom] (UseAll door)
where
f rl rm = rm & rmLinks %~ map (g (_rlPos rl) (_rlDir rl))
f _ _ 0 rl rm = rm & rmLinks %~ map (g (_rlPos rl) (_rlDir rl))
f _ _ _ _ rm = rm
g p d rl
| isclose = rl & rlType . at BlockedLink ?~ ()
| otherwise = rl