From b5bfd365b94e7cbc0d4951dfc47f1b8f0baae1a1 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 20 Apr 2026 22:35:30 +0100 Subject: [PATCH] Work on bee/slime pincushion --- src/Dodge/Creature/State/WalkCycle.hs | 16 +++++- src/Dodge/Creature/Update.hs | 17 ++++-- tags | 79 ++++++++++++++------------- 3 files changed, 65 insertions(+), 47 deletions(-) diff --git a/src/Dodge/Creature/State/WalkCycle.hs b/src/Dodge/Creature/State/WalkCycle.hs index 4b03d8c0d..1fd23af07 100644 --- a/src/Dodge/Creature/State/WalkCycle.hs +++ b/src/Dodge/Creature/State/WalkCycle.hs @@ -1,6 +1,7 @@ {-# LANGUAGE LambdaCase #-} -module Dodge.Creature.State.WalkCycle (updateCarriage) where +module Dodge.Creature.State.WalkCycle (updateCarriage + ,compressionScale) where import qualified Quaternion as Q import Dodge.Creature.Radius @@ -51,14 +52,23 @@ updateCarriage' cid cr w = \case & chasmTestCliffPush groundCliffPush cr Rooted {} -> w Mounted mid p -> fromMaybe w $ do - mp <- w ^? cWorld . lWorld . creatures . ix mid . crPos - return $ w & tocr . crPos .~ mp + p + mcr <- w ^? cWorld . lWorld . creatures . ix mid + mp <- mcr ^? crPos + d <- mcr ^? crType . slimeCompression + r <- mcr ^? crType . slimeRad + return $ w & tocr . crPos .~ mp + (p & _xy %~ compressionScale ((1/r) *^ d)) where tocr = cWorld . lWorld . creatures . ix cid oop = cr ^. crOldOldPos f v | norm v > 10 = 10 *^ signorm v | otherwise = v +compressionScale :: Point2 -> Point2 -> Point2 +compressionScale d p = dot d p *^ normalize d + + (dot d' p / norm d) *^ d' + where + d' = vNormal $ normalize d + flyInertia :: Creature -> Float flyInertia _ = 0.975 diff --git a/src/Dodge/Creature/Update.hs b/src/Dodge/Creature/Update.hs index 649b6129f..2b117e222 100644 --- a/src/Dodge/Creature/Update.hs +++ b/src/Dodge/Creature/Update.hs @@ -107,9 +107,9 @@ updateBeeCrit cr cid w , x >= 0.5 = w & tocr . crType . beeSlime -~ 0.5 | Just hcr <- gethive - , Just _ <- cr ^? crStance . carriage . mountID + , Just mid <- cr ^? crStance . carriage . mountID , Just x <- cr ^? crType . beeSlime - , x >= 15 + , x >= 15 || mountshakeoff mid = w & tocr . crActionPlan . apAction .~ PathTo (hcr ^. crPos . _xy) NoAction & tocr . crStance . carriage .~ Flying 0 | Just hcr <- gethive @@ -120,8 +120,11 @@ updateBeeCrit cr cid w , Just tcr <- find isslime $ crsNearCirc (cr ^. crPos . _xy) 100 w = w & tocr . crActionPlan . apStrategy .~ HarvestFrom (tcr ^. crID) | Just (tcr,ti) <- gettarg - , distance (cr ^. crPos . _xy) (tcr ^. crPos . _xy) < 0.5*crRad (tcr ^. crType) = w - & tocr . crStance . carriage .~ Mounted ti (cr ^. crPos - tcr ^. crPos) + , distance (cr ^. crPos . _xy) (tcr ^. crPos . _xy) < 0.5*crRad (tcr ^. crType) + , Just r <- tcr ^? crType . slimeRad + , Just d <- tcr ^? crType . slimeCompression + = w + & tocr . crStance . carriage .~ Mounted ti (cr ^. crPos - tcr ^. crPos & _xy %~ compressionScale (vNormal ((1/r) *^d))) | Just tid <- cr ^? crStance . carriage . mountID , Just SlimeCrit{} <- w ^? cWorld . lWorld . creatures . ix tid . crType = w & tocr . crType . beeSlime +~ sspeed @@ -130,7 +133,11 @@ updateBeeCrit cr cid w & tocr . crActionPlan . apAction .~ PathTo (tcr ^. crPos . _xy) NoAction | otherwise = w & tocr . crActionPlan . apStrategy .~ Search where - sspeed = 0.1 + mountshakeoff mid = fromMaybe True $ do + mcr <- w ^? cWorld . lWorld . creatures . ix mid + SlimeCrit {_slimeSplitTimer = x} <- mcr ^? crType + return $ x > 0 + sspeed = 0.05 gettarg = do i <- cr ^? crActionPlan . apStrategy . harvestTarget tcr <- w ^? cWorld . lWorld . creatures . ix i diff --git a/tags b/tags index c5e4b5cdc..15da48858 100644 --- a/tags +++ b/tags @@ -1842,7 +1842,6 @@ _flboStride src/Shader/Data.hs 88;" f _floorItems src/Dodge/Data/LWorld.hs 131;" f _floorShader src/Data/Preload/Render.hs 46;" f _floorVBO src/Data/Preload/Render.hs 45;" f -_flyInertia src/Dodge/Data/Creature/Stance.hs 27;" f _footForward src/Dodge/Data/Creature/Misc.hs 54;" f _footForward src/Dodge/Data/Creature/Misc.hs 58;" f _foreShapes src/Dodge/Data/LWorld.hs 136;" f @@ -2347,7 +2346,7 @@ _slInt src/Dodge/Data/HUD.hs 39;" f _slSec src/Dodge/Data/HUD.hs 39;" f _slSet src/Dodge/Data/HUD.hs 39;" f _slimeCompression src/Dodge/Data/Creature/Misc.hs 78;" f -_slimeFeedProgress src/Dodge/Data/Creature/Misc.hs 80;" f +_slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 80;" f _slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 79;" f _slimeRad src/Dodge/Data/Creature/Misc.hs 75;" f _slimeRadWobble src/Dodge/Data/Creature/Misc.hs 76;" f @@ -2865,15 +2864,15 @@ chaseCrit src/Dodge/Creature/ChaseCrit.hs 35;" f chaseCritInternal src/Dodge/Humanoid.hs 12;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f chaseUpperBody src/Dodge/Creature/Picture.hs 172;" f -chasmRotate src/Dodge/Creature/State/WalkCycle.hs 130;" f +chasmRotate src/Dodge/Creature/State/WalkCycle.hs 139;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 409;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 342;" f -chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 112;" f +chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 121;" f chasmWallToSurface src/Dodge/Base/Collide.hs 132;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f -checkDeath src/Dodge/Creature/Update.hs 292;" f -checkDeath' src/Dodge/Creature/Update.hs 295;" f +checkDeath src/Dodge/Creature/Update.hs 301;" f +checkDeath' src/Dodge/Creature/Update.hs 304;" f checkEndGame src/Dodge/Update.hs 881;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -2888,7 +2887,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 159;" f +chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 168;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f circHitWall src/Dodge/Base/Collide.hs 260;" f @@ -2897,8 +2896,8 @@ circOnAnyCr src/Dodge/Base/Collide.hs 305;" f circOnSeg src/Geometry.hs 101;" f circOnSegNoEndpoints src/Geometry.hs 91;" f circOnSomeWall src/Dodge/Base/Collide.hs 299;" f -circSegsInside src/Dodge/Creature/State/WalkCycle.hs 98;" f -circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 87;" f +circSegsInside src/Dodge/Creature/State/WalkCycle.hs 107;" f +circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 96;" f circle src/Picture/Base.hs 172;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f circleSolid src/Picture/Base.hs 156;" f @@ -2977,6 +2976,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 65;" f compressor src/Dodge/Item/Ammo.hs 74;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f conEffects src/Dodge/Concurrent.hs 12;" f @@ -2997,7 +2997,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 136;" 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 327;" f +corpseOrGib src/Dodge/Creature/Update.hs 336;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorN src/Dodge/Room/Corridor.hs 58;" f @@ -3045,7 +3045,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 990;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f -crUpdate src/Dodge/Creature/Update.hs 285;" f +crUpdate src/Dodge/Creature/Update.hs 294;" 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 @@ -3128,7 +3128,7 @@ damThingHitWith src/Dodge/Damage.hs 73;" f damToExpBarrel src/Dodge/Barreloid.hs 52;" f damageBlock src/Dodge/Wall/Damage.hs 121;" f damageCodeCommand src/Dodge/Terminal.hs 67;" f -damageCorpse src/Dodge/Creature/Update.hs 53;" f +damageCorpse src/Dodge/Creature/Update.hs 54;" f damageCrWl src/Dodge/Damage.hs 29;" f damageCrWlID src/Dodge/Damage.hs 23;" f damageCrystal src/Dodge/Material/Damage.hs 286;" f @@ -3348,7 +3348,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 195;" f +doSlimeRadChange src/Dodge/Creature/Update.hs 204;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 272;" f doTabComplete src/Dodge/Terminal.hs 241;" f doTestDrawing src/Dodge/Render.hs 40;" f @@ -3512,7 +3512,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 365;" f +dropAll src/Dodge/Creature/Update.hs 374;" f dropInventoryPath src/Dodge/HeldUse.hs 1371;" f dropItem src/Dodge/Creature/Action.hs 169;" f dropper src/Dodge/Item/Scope.hs 82;" f @@ -3649,6 +3649,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 69;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 836;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 886;" f foldMTRS src/Dodge/Room/Tutorial.hs 105;" f @@ -3776,7 +3777,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 78;" f +groundCliffPush src/Dodge/Creature/State/WalkCycle.hs 87;" f groupSplitItemAmounts src/Dodge/Combine.hs 52;" f gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 914;" f @@ -3858,7 +3859,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 80;" f -hoverCritHoverSound src/Dodge/Creature/Update.hs 262;" f +hoverCritHoverSound src/Dodge/Creature/Update.hs 271;" f hoverCritInternal src/Dodge/Humanoid.hs 46;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f @@ -4253,7 +4254,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 137;" f +maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 146;" 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 @@ -4409,7 +4410,7 @@ nodeNear src/Dodge/Path.hs 94;" f nodesNear src/Dodge/Path.hs 100;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 300;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f -normalGait src/Dodge/Creature/State/WalkCycle.hs 154;" f +normalGait src/Dodge/Creature/State/WalkCycle.hs 163;" f normalTo8 src/Shader/Poke.hs 475;" f normalizeAngle src/Geometry/Vector.hs 136;" f normalizeAnglePi src/Dodge/Base.hs 154;" f @@ -4555,7 +4556,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 361;" f +poisonSPic src/Dodge/Creature/Update.hs 370;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 518;" f pokeArrayOff src/Shader/Poke.hs 530;" f @@ -4662,7 +4663,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 63;" f +pushAgainst src/Dodge/Creature/State/WalkCycle.hs 72;" f pushCaverns src/Dodge/Room/LongDoor.hs 192;" f pushCr src/Dodge/WallCreatureCollisions.hs 42;" f pushL src/DoubleStack.hs 20;" f @@ -4802,7 +4803,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 149;" f +resetStride src/Dodge/Creature/State/WalkCycle.hs 158;" f resetTerminal src/Dodge/WorldEffect.hs 158;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f @@ -4929,7 +4930,7 @@ scaleSH src/Shape.hs 271;" f scalp src/Dodge/Creature/Picture.hs 369;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/Update.hs 358;" f +scorchSPic src/Dodge/Creature/Update.hs 367;" 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 @@ -4957,7 +4958,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 243;" f +segmentArea src/Dodge/Creature/Update.hs 252;" 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 @@ -5003,7 +5004,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 174;" f +setSlimeDir src/Dodge/Creature/Update.hs 183;" f setSoundVolume src/Sound.hs 159;" f setTile src/Dodge/Layout.hs 78;" f setTiles src/Dodge/Layout.hs 68;" f @@ -5085,10 +5086,10 @@ showEquipItem src/Dodge/Item/Display.hs 109;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 87;" f -showManObj src/Dodge/TestString.hs 109;" f +showManObj src/Dodge/TestString.hs 110;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f -showTimeFlow src/Dodge/TestString.hs 126;" f +showTimeFlow src/Dodge/TestString.hs 127;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkVert src/Geometry/Polygon.hs 202;" f shuffle src/RandomHelp.hs 68;" f @@ -5125,12 +5126,12 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f 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 139;" f +slimeCritUpdate src/Dodge/Creature/Update.hs 148;" f slimeEatSound src/Dodge/Update.hs 1107;" f slimeFood src/Dodge/Update.hs 1062;" f slimeSuck src/Dodge/Update.hs 1046;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 56;" f -slinkCritUpdate src/Dodge/Creature/Update.hs 246;" f +slinkCritUpdate src/Dodge/Creature/Update.hs 255;" 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 @@ -5197,8 +5198,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 212;" f -splitSlimeCrit' src/Dodge/Creature/Update.hs 202;" f +splitSlimeCrit src/Dodge/Creature/Update.hs 221;" f +splitSlimeCrit' src/Dodge/Creature/Update.hs 211;" f splitTrunk src/TreeHelp.hs 181;" f splitTrunkAt src/TreeHelp.hs 169;" f spreadAroundCenter src/Dodge/Base.hs 173;" f @@ -5236,7 +5237,7 @@ stackText src/Picture/Base.hs 180;" f stackedInventory src/Dodge/Creature.hs 321;" f startCr src/Dodge/Creature.hs 85;" f startCrafts src/Dodge/Room/Start.hs 94;" f -startDeathTimer src/Dodge/Creature/Update.hs 315;" f +startDeathTimer src/Dodge/Creature/Update.hs 324;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f startInvList src/Dodge/Creature.hs 100;" f startInventory src/Dodge/Creature.hs 103;" f @@ -5388,7 +5389,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 320;" f +toDeathCarriage src/Dodge/Creature/Update.hs 329;" f toFloatVAs src/Shader/Compile.hs 66;" f toLabel src/Dodge/Cleat.hs 16;" f toMultiset src/Multiset.hs 64;" f @@ -5412,7 +5413,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f topInvW src/Dodge/ListDisplayParams.hs 56;" f topPrismEdgeIndices src/Shader/Poke.hs 344;" f topPrismIndices src/Shader/Poke.hs 419;" f -topTestPart src/Dodge/TestString.hs 104;" f +topTestPart src/Dodge/TestString.hs 105;" f torchShape src/Dodge/Item/Draw/SPic.hs 278;" f torqueAmount src/Dodge/HeldUse.hs 606;" f torqueCr src/Dodge/WorldEffect.hs 85;" f @@ -5529,7 +5530,7 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 488;" f updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f -updateBeeCrit src/Dodge/Creature/Update.hs 101;" f +updateBeeCrit src/Dodge/Creature/Update.hs 102;" f updateBounds src/Dodge/Update/Camera.hs 262;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f @@ -5542,7 +5543,7 @@ updateCloud src/Dodge/Update.hs 910;" f updateClouds src/Dodge/Update.hs 779;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f -updateCreature src/Dodge/Creature/Update.hs 42;" f +updateCreature src/Dodge/Creature/Update.hs 43;" f updateCreatureGroups src/Dodge/Update.hs 640;" f updateCreatureSoundPositions src/Dodge/Update.hs 619;" f updateCreatureStride src/Dodge/Update.hs 376;" f @@ -5574,7 +5575,7 @@ updateFunctionKeys src/Dodge/Update/Input/InGame.hs 368;" f updateGas src/Dodge/Update.hs 932;" f updateGasses src/Dodge/Update.hs 782;" f updateGusts src/Dodge/Update.hs 894;" f -updateHiveCrit src/Dodge/Creature/Update.hs 81;" f +updateHiveCrit src/Dodge/Creature/Update.hs 82;" f updateIMl src/Dodge/Update.hs 634;" f updateIMl' src/Dodge/Update.hs 637;" f updateInGameCamera src/Dodge/Update/Camera.hs 86;" f @@ -5592,7 +5593,7 @@ updateLaser src/Dodge/Laser/Update.hs 12;" f updateLasers src/Dodge/Update.hs 513;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLivingCreature src/Dodge/Creature/Update.hs 56;" f +updateLivingCreature src/Dodge/Creature/Update.hs 57;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 405;" f @@ -5609,7 +5610,7 @@ updatePlasmaBall src/Dodge/Update.hs 527;" f updatePlasmaBalls src/Dodge/Update.hs 675;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f -updatePulse src/Dodge/Creature/Update.hs 373;" f +updatePulse src/Dodge/Creature/Update.hs 382;" f updatePulseBall src/Dodge/Update.hs 547;" f updatePulseLaser src/Dodge/Update.hs 722;" f updatePulseLasers src/Dodge/Update.hs 522;" f @@ -5719,7 +5720,7 @@ visibleWalls src/Dodge/Base/Collide.hs 238;" f visionCheck src/Dodge/Creature/Perception.hs 162;" 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 72;" f +walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 81;" f walkNozzle src/Dodge/HeldUse.hs 826;" f walkableNodeNear src/Dodge/Path.hs 90;" f wallBlips src/Dodge/RadarSweep.hs 99;" f