Generalise pathing, usable with flying creatures

This commit is contained in:
2026-04-02 19:30:44 +01:00
parent c2de804fa9
commit ff903bfb3b
19 changed files with 322 additions and 215 deletions
+4
View File
@@ -13,6 +13,7 @@ module Dodge.Room.Room (
critsRoom,
distributerRoom,
critDeadEnd,
deadEndPSType,
) where
import qualified Data.IntMap.Strict as IM
@@ -259,6 +260,9 @@ critInDeadEnd = deadEndRoom & rmPmnts .~ [sPS (V2 0 0) 0 randC1]
critDeadEnd :: Room
critDeadEnd = deadEndRoom & rmPmnts .~ [sPS (V2 0 0) (pi/2) randC1]
deadEndPSType :: PSType -> Room
deadEndPSType x = deadEndRoom & rmPmnts .~ [sPS (V2 0 0) (pi/2) x]
deadEndRoom :: Room
deadEndRoom =
defaultRoom
+3 -2
View File
@@ -2,6 +2,7 @@
module Dodge.Room.Tutorial where
import Dodge.Creature.ChaseCrit
import Control.Monad
import Data.Foldable
import qualified Data.IntMap.Strict as IM
@@ -338,8 +339,8 @@ chasmSpitTerminal = do
tToBTree "chasmTerm" $
Node
(addDoorToggleTerminal' i1 (PS 150 0) y')
[ treePost [triggerDoorRoom i1, critDeadEnd]
, treePost [triggerDoorRoom i1, critDeadEnd]
[ treePost [triggerDoorRoom i1, deadEndPSType (PutCrit chaseCrit)]
, treePost [triggerDoorRoom i1, deadEndPSType (PutCrit hoverCrit)]
, return $ cleatOnward $ triggerDoorRoom i1
]
where