Use circles instead of points for zome wall zones

This commit is contained in:
2026-02-03 13:48:15 +00:00
parent be6acfa58b
commit db24b0ffa6
8 changed files with 11 additions and 7 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ import qualified IntMapHelp as IM
zoneOfCirc :: Float -> Point2 -> Float -> [Int2]
{-# INLINE zoneOfCirc #-}
zoneOfCirc zsize p r = zoneOfRect zsize (p +.+ V2 r r) (p -.- V2 r r)
zoneOfCirc zsize p r = zoneOfRect zsize (p + V2 r r) (p - V2 r r)
zoneOfRect :: Float -> Point2 -> Point2 -> [Int2]
{-# INLINE zoneOfRect #-}
+1 -1
View File
@@ -31,7 +31,7 @@ crixsNearSeg :: Point2 -> Point2 -> World -> IS.IntSet
crixsNearSeg = nearSeg crZoneSize _crZoning
crIXsNearCirc :: Point2 -> Float -> World -> IS.IntSet
crIXsNearCirc p r = crsNearRect (p +.+ V2 r r) (p -.- V2 r r)
crIXsNearCirc p r = crsNearRect (p + V2 r r) (p - V2 r r)
crsNearCirc :: Point2 -> Float -> World -> [Creature]
crsNearCirc p r w = mapMaybe (\cid -> w ^? cWorld . lWorld . creatures . ix cid) . IS.toList