This commit is contained in:
2026-05-08 10:10:06 +01:00
parent 7c1ada4546
commit 84e95da2b5
4 changed files with 38 additions and 53 deletions
-2
View File
@@ -57,8 +57,6 @@ updateCarriage' cid cr w = \case
mcr <- w ^? cWorld . lWorld . creatures . ix mid
mp <- mcr ^? crPos
d <- mcr ^? crType . slimeCompression
r <- mcr ^? crType . slimeSlime . to slimeToRad
--return $ w & tocr . crPos .~ mp + (p & _xy %~ compressionScale ((1/r) *^ d))
return $ w & tocr . crPos .~ mp + (p & _x *~ d & _y %~ (/d))
where
tocr = cWorld . lWorld . creatures . ix cid
+1 -1
View File
@@ -198,7 +198,7 @@ updateCalmBee cr cid w
& cWorld . lWorld . creatures . ix tid . crType . slimeSlime -~ sspeed
| Just (tcr,ti) <- gettarg
, distance (cr ^. crPos . _xy) (tcr ^. crPos . _xy) < 0.8*crRad (tcr ^. crType)
, Just r <- tcr ^? crType . slimeSlime . to slimeToRad
-- , Just r <- tcr ^? crType . slimeSlime . to slimeToRad
, Just d <- tcr ^? crType . slimeCompression
= w
-- & tocr . crStance . carriage .~ Mounted ti (cr ^. crPos - tcr ^. crPos & _xy %~ compressionScale (vNormal ((1/r) *^d)))
+2 -15
View File
@@ -1091,23 +1091,17 @@ feedSlime s c w = fromMaybe w $ do
& cWorld . lWorld . creatures . ix (s ^. crID) %~ f
& slimeEatSound (s ^. crID) (s ^. crPos . _xy)
where
f cr = cr -- & crType . slimeRad .~ r
-- & crType . slimeSlime .~ round (r^(2::Int) * 100)
f cr = cr
& crType . slimeSlime +~ round (r2^(2::Int) * 100)
& crType . slimeSlimeChange +~ round (r2^(2::Int) * 100)
-- & crType . slimeRadWobble +~ r - r1 -- not sure if this is correct
-- & crType . slimeCompression %~ ((r/r1) *^)
--r1 = s ^?! crType . slimeRad
r1 = s ^?! crType . slimeSlime . to slimeToRad
r2 = c ^. crType . to crRad
r = sqrt (r1*r1 + r2*r2)
fuseSlimes :: Creature -> Creature -> World -> World
fuseSlimes c1 c2 = (cWorld . lWorld . creatures . ix mini .~ c)
. (cWorld . lWorld . creatures . at maxi .~ Nothing)
. slimeEatSound i1 (c ^. crPos . _xy)
. slimeEatSound mini (c ^. crPos . _xy)
where
--c' | c1 ^?! crType . slimeRad > c2 ^?! crType . slimeRad = c1
c' | c1 ^?! crType . slimeSlime > c2 ^?! crType . slimeSlime = c1
| otherwise = c2
mini = min i1 i2
@@ -1116,15 +1110,8 @@ fuseSlimes c1 c2 = (cWorld . lWorld . creatures . ix mini .~ c)
i2 = c2 ^. crID
c = c' & crType . slimeSlime +~ eslime
& crType . slimeSlimeChange +~ eslime
-- & crType . slimeRadWobble +~ r - max r1 r2
-- & crType . slimeCompression %~ ((r/max r1 r2) *^)
& crID .~ mini
eslime = min (c1 ^?! crType . slimeSlime) (c2 ^?! crType . slimeSlime)
-- r1 = c1 ^?! crType . slimeRad
-- r2 = c2 ^?! crType . slimeRad
r1 = c1 ^?! crType . slimeSlime . to slimeToRad
r2 = c2 ^?! crType . slimeSlime . to slimeToRad
r = sqrt (r1*r1 + r2*r2)
slimeEatSound :: Int -> Point2 -> World -> World
slimeEatSound i p w = w & soundStart (CrSound i) p s Nothing
+35 -35
View File
@@ -2905,15 +2905,15 @@ chaseCorpse src/Dodge/Creature/Picture.hs 304;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 35;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 193;" f
chaseUpperBody src/Dodge/Creature/Picture.hs 181;" f
chasmRotate src/Dodge/Creature/State/WalkCycle.hs 150;" f
chasmRotate src/Dodge/Creature/State/WalkCycle.hs 148;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 417;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 348;" f
chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 127;" f
chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 125;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 407;" f
checkDeath' src/Dodge/Creature/Update.hs 410;" f
checkDeath src/Dodge/Creature/Update.hs 401;" f
checkDeath' src/Dodge/Creature/Update.hs 404;" f
checkEndGame src/Dodge/Update.hs 889;" f
checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2928,7 +2928,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f
chestPQ src/Dodge/Creature/HandPos.hs 180;" f
chooseCursorBorders src/Dodge/Render/List.hs 141;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 179;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 177;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 69;" f
circHitWall src/Dodge/Base/Collide.hs 262;" f
@@ -2937,8 +2937,8 @@ circOnAnyCr src/Dodge/Base/Collide.hs 307;" f
circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 301;" f
circSegsInside src/Dodge/Creature/State/WalkCycle.hs 113;" f
circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 102;" f
circSegsInside src/Dodge/Creature/State/WalkCycle.hs 111;" f
circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 100;" f
circle src/Picture/Base.hs 172;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f
circleSolid src/Picture/Base.hs 156;" f
@@ -3019,7 +3019,7 @@ compass src/Dodge/Item/Held/BatteryGuns.hs 38;" f
compileAndCheckShader src/Shader/Compile.hs 108;" f
composeNode src/Dodge/Tree/Compose.hs 77;" f
composeTree src/Dodge/Tree/Compose.hs 48;" f
compressionScale src/Dodge/Creature/State/WalkCycle.hs 69;" f
compressionScale src/Dodge/Creature/State/WalkCycle.hs 67;" f
compressor src/Dodge/Item/Ammo.hs 74;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f
conEffects src/Dodge/Concurrent.hs 12;" f
@@ -3040,7 +3040,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 159;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 411;" f
cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 456;" f
corpseOrGib src/Dodge/Creature/Update.hs 450;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 135;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f
@@ -3052,7 +3052,7 @@ crCamouflage src/Dodge/Creature/Picture.hs 81;" f
crCanSeeCr src/Dodge/Creature/Test.hs 49;" f
crCrSpring src/Dodge/Update.hs 1010;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f
crDeathEffects src/Dodge/Creature/Update.hs 431;" f
crDeathEffects src/Dodge/Creature/Update.hs 425;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f
crDexterity src/Dodge/Creature/Statistics.hs 19;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
@@ -3082,7 +3082,7 @@ crMvType src/Dodge/Creature/MoveType.hs 7;" f
crNearPoint src/Dodge/Creature/Test.hs 125;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crOnSeg src/Dodge/WorldEvent/ThingsHit.hs 244;" f
crOnSeg' src/Dodge/Creature/State/WalkCycle.hs 146;" f
crOnSeg' src/Dodge/Creature/State/WalkCycle.hs 144;" f
crPainEffect src/Dodge/Creature/State.hs 50;" f
crPathing src/Dodge/Creature/Action.hs 128;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
@@ -3093,7 +3093,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 998;" f
crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 30;" f
crUpdate src/Dodge/Creature/Update.hs 400;" f
crUpdate src/Dodge/Creature/Update.hs 394;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f
crVocalResetTime src/Dodge/Creature/Vocalization.hs 69;" f
@@ -3396,7 +3396,7 @@ doRoomShift src/Dodge/Room/Link.hs 34;" f
doScopeZoom src/Dodge/Update/Scroll.hs 89;" f
doSectionSize src/Dodge/DisplayInventory.hs 215;" f
doSideEffects appDodge/Main.hs 118;" f
doSlimeRadChange src/Dodge/Creature/Update.hs 306;" f
doSlimeRadChange src/Dodge/Creature/Update.hs 300;" f
doTabComplete src/Dodge/Terminal.hs 241;" f
doTestDrawing src/Dodge/Render.hs 40;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
@@ -3560,7 +3560,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 494;" f
dropAll src/Dodge/Creature/Update.hs 488;" f
dropInventoryPath src/Dodge/HeldUse.hs 1380;" f
dropItem src/Dodge/Creature/Action.hs 180;" f
dropper src/Dodge/Item/Scope.hs 82;" f
@@ -3697,7 +3697,7 @@ floorItemPickupInfo src/Dodge/Render/HUD.hs 233;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 143;" f
floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
flyInertia src/Dodge/Creature/State/WalkCycle.hs 75;" f
flyInertia src/Dodge/Creature/State/WalkCycle.hs 73;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 836;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 886;" f
foldMTRS src/Dodge/Room/Tutorial.hs 111;" f
@@ -3728,7 +3728,7 @@ fstV2 src/Geometry/Data.hs 70;" f
fuelPack src/Dodge/Item/Equipment.hs 44;" f
functionalUpdate src/Dodge/Update.hs 278;" f
fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f
fuseSlimes src/Dodge/Update.hs 1105;" f
fuseSlimes src/Dodge/Update.hs 1100;" f
fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f
fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
g src/ShortShow.hs 48;" f
@@ -3824,7 +3824,7 @@ gridInPolygon src/Grid.hs 10;" f
gridPoints' src/Grid.hs 37;" f
gridPointsOff src/Grid.hs 32;" f
gridRoomPos src/Dodge/Room/Procedural.hs 91;" f
groundCliffPush src/Dodge/Creature/State/WalkCycle.hs 93;" f
groundCliffPush src/Dodge/Creature/State/WalkCycle.hs 91;" f
groupSplitItemAmounts src/Dodge/Combine.hs 52;" f
gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f
gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 914;" f
@@ -3907,7 +3907,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 201;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f
hoverCrit src/Dodge/Creature/ChaseCrit.hs 81;" f
hoverCritHoverSound src/Dodge/Creature/Update.hs 377;" f
hoverCritHoverSound src/Dodge/Creature/Update.hs 371;" f
hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 228;" f
hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f
hoverPainEffect src/Dodge/Creature/State.hs 57;" f
@@ -4304,7 +4304,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 572;" f
maybeOpenConsole src/Dodge/Update.hs 135;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 135;" f
maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 157;" f
maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 155;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcBackgroundSound src/Dodge/Machine/Update.hs 152;" f
mcColor src/Dodge/Machine/Draw.hs 74;" f
@@ -4463,7 +4463,7 @@ nodeNear src/Dodge/Path.hs 94;" f
nodesNear src/Dodge/Path.hs 100;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 306;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 174;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 172;" f
normalTo8 src/Shader/Poke.hs 475;" f
normalizeAngle src/Geometry/Vector.hs 136;" f
normalizeAnglePi src/Dodge/Base.hs 154;" f
@@ -4609,7 +4609,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 37;" f
poisonSPic src/Dodge/Creature/Update.hs 490;" f
poisonSPic src/Dodge/Creature/Update.hs 484;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 518;" f
pokeArrayOff src/Shader/Poke.hs 530;" f
@@ -4717,7 +4717,7 @@ psposAddLabel src/Dodge/PlacementSpot.hs 71;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 84;" f
pushAgainst src/Dodge/Creature/State/WalkCycle.hs 78;" f
pushAgainst src/Dodge/Creature/State/WalkCycle.hs 76;" f
pushCaverns src/Dodge/Room/LongDoor.hs 192;" f
pushCr src/Dodge/WallCreatureCollisions.hs 43;" f
pushL src/DoubleStack.hs 20;" f
@@ -4857,7 +4857,7 @@ renderShadows src/Render.hs 116;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 73;" f
resetPLUse src/Dodge/PlacementSpot.hs 94;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 169;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 167;" f
resetTerminal src/Dodge/WorldEffect.hs 158;" f
resizeFBOTO src/Framebuffer/Update.hs 185;" f
resizeFBOTO' src/Framebuffer/Update.hs 197;" f
@@ -4984,7 +4984,7 @@ scaleSH src/Shape.hs 271;" f
scalp src/Dodge/Creature/Picture.hs 378;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 487;" f
scorchSPic src/Dodge/Creature/Update.hs 481;" f
screenBox src/Dodge/Base/Window.hs 54;" f
screenPolygon src/Dodge/Base/Window.hs 18;" f
screenPolygonBord src/Dodge/Base/Window.hs 28;" f
@@ -5012,7 +5012,7 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f
seedStartMenu src/Dodge/Menu.hs 85;" f
seedStartOptions src/Dodge/Menu.hs 88;" f
segOnCirc src/Geometry.hs 113;" f
segmentArea src/Dodge/Creature/Update.hs 358;" f
segmentArea src/Dodge/Creature/Update.hs 352;" f
selNumPos src/Dodge/Render/HUD.hs 475;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f
selSecDrawCursor src/Dodge/Render/List.hs 101;" f
@@ -5059,7 +5059,7 @@ setSelWhileDragging src/Dodge/Update/Input/InGame.hs 360;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f
setShaderSource src/Shader/Compile.hs 121;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f
setSlimeDir src/Dodge/Creature/Update.hs 289;" f
setSlimeDir src/Dodge/Creature/Update.hs 283;" f
setSoundVolume src/Sound.hs 159;" f
setTile src/Dodge/Layout.hs 78;" f
setTiles src/Dodge/Layout.hs 68;" f
@@ -5182,12 +5182,12 @@ slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
slideWindow src/ListHelp.hs 81;" f
slimeCrit src/Dodge/Creature/ChaseCrit.hs 68;" f
slimeCritUpdate src/Dodge/Creature/Update.hs 252;" f
slimeEatSound src/Dodge/Update.hs 1129;" f
slimeEatSound src/Dodge/Update.hs 1116;" f
slimeFood src/Dodge/Update.hs 1074;" f
slimeSuck src/Dodge/Update.hs 1058;" f
slimeToRad src/Dodge/Data/Creature/Misc.hs 108;" f
slinkCrit src/Dodge/Creature/ChaseCrit.hs 56;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 361;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 355;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f
slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f
@@ -5254,8 +5254,8 @@ splashScreen src/Dodge/Initialisation.hs 10;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f
splitLookupTrie src/SimpleTrie.hs 39;" f
splitSlimeCrit src/Dodge/Creature/Update.hs 323;" f
splitSlimeCrit' src/Dodge/Creature/Update.hs 313;" f
splitSlimeCrit src/Dodge/Creature/Update.hs 317;" f
splitSlimeCrit' src/Dodge/Creature/Update.hs 307;" f
splitTrunk src/TreeHelp.hs 181;" f
splitTrunkAt src/TreeHelp.hs 169;" f
spreadAroundCenter src/Dodge/Base.hs 173;" f
@@ -5293,7 +5293,7 @@ stackText src/Picture/Base.hs 180;" f
stackedInventory src/Dodge/Creature.hs 318;" f
startCr src/Dodge/Creature.hs 83;" f
startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 443;" f
startDeathTimer src/Dodge/Creature/Update.hs 437;" f
startDrag src/Dodge/Update/Input/InGame.hs 319;" f
startInvList src/Dodge/Creature.hs 97;" f
startInventory src/Dodge/Creature.hs 100;" f
@@ -5445,7 +5445,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 154;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 158;" f
toDeathCarriage src/Dodge/Creature/Update.hs 449;" f
toDeathCarriage src/Dodge/Creature/Update.hs 443;" f
toFloatVAs src/Shader/Compile.hs 66;" f
toLabel src/Dodge/Cleat.hs 16;" f
toMultiset src/Multiset.hs 64;" f
@@ -5612,7 +5612,7 @@ updateCreatureStrides src/Dodge/Update.hs 376;" f
updateDebris src/Dodge/Update.hs 685;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 104;" f
updateDelayedEvents src/Dodge/Update.hs 1136;" f
updateDelayedEvents src/Dodge/Update.hs 1123;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 8;" f
updateDistortions src/Dodge/Update.hs 664;" f
@@ -5671,7 +5671,7 @@ updatePlasmaBall src/Dodge/Update.hs 530;" f
updatePlasmaBalls src/Dodge/Update.hs 678;" f
updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 502;" f
updatePulse src/Dodge/Creature/Update.hs 496;" f
updatePulseBall src/Dodge/Update.hs 550;" f
updatePulseLaser src/Dodge/Update.hs 725;" f
updatePulseLasers src/Dodge/Update.hs 525;" f
@@ -5781,7 +5781,7 @@ visibleWalls src/Dodge/Base/Collide.hs 240;" f
visionCheck src/Dodge/Creature/Perception.hs 158;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 356;" f
walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 87;" f
walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 85;" f
walkNozzle src/Dodge/HeldUse.hs 827;" f
walkableNodeNear src/Dodge/Path.hs 90;" f
wallBlips src/Dodge/RadarSweep.hs 99;" f