Increase zone searching size for initial/end node in pathing

This commit is contained in:
2025-10-16 12:26:43 +01:00
parent 3bfe6f5dfd
commit 0f43e1ad8f
2 changed files with 13 additions and 3 deletions
+11 -1
View File
@@ -12,6 +12,8 @@ module Dodge.Path (
snapToGrid,
) where
import Linear
import Data.List (sortOn)
import Data.Set (Set)
import qualified Data.Set as Set
import Control.Lens
@@ -49,7 +51,15 @@ walkableNodeNear :: World -> Point2 -> Maybe Int
{-# INLINE walkableNodeNear #-}
walkableNodeNear w p = fmap fst . find (flip (isWalkable p) w . snd) $ nodesNear
where
nodesNear = zonesExtract (w ^. pnZoning) $ zonesAroundPoint pnZoneSize p
--nodesNear = zonesExtract (w ^. pnZoning) $ zonesAroundPoint pnZoneSize p
nodesNear = zonesExtract (w ^. pnZoning) . snailAround $ zoneOfPoint pnZoneSize p
snailAround :: Int2 -> [Int2]
snailAround x = fmap (x+) $ smallSnailInt2
smallSnailInt2 :: [Int2]
smallSnailInt2 = sortOn (distance (V2 0 (0::Float)) . fmap fromIntegral)
[V2 x y | x <-[-2..2], y <-[-2..2]]
makePathBetweenPs :: Point2 -> Point2 -> World -> Maybe [Point2]
makePathBetweenPs a b w = mapMaybe (lab $ w ^. cWorld . pathGraph) <$> makePathBetween a b w
+2 -2
View File
@@ -247,8 +247,8 @@ tutHub = do
. (rmInPmnt .:~ (0, a))
. addDoorAtNthLinkToggleTerminal 1 ss j
=<< roomNgon 6 100
--bcor <- treeAttachDeep (return door) <$> blockedCorridor
bcor <- treeAttachDeep (return door) <$> return (return $ cleatOnward door)
bcor <- treeAttachDeep (return door) <$> blockedCorridor
--bcor <- treeAttachDeep (return door) <$> return (return $ cleatOnward door)
r1 <- r burstRifle <&> rmPmnts .:~ t
r2 <- r (drumMag & itConsumables ?~ 90)
--r2 <- r (tinMag & itConsumables ?~ 500)