From 8037c69d16ea00ff9e8509ad9dd6ab3a55d27dc9 Mon Sep 17 00:00:00 2001 From: justin Date: Fri, 3 Apr 2026 00:10:59 +0100 Subject: [PATCH] Tweak hover crit height --- src/Dodge/Creature/ChaseCrit.hs | 2 +- src/Dodge/Creature/MoveType.hs | 2 +- src/Dodge/Creature/Picture.hs | 10 +-- src/Dodge/Creature/State.hs | 6 +- src/Dodge/Creature/State/WalkCycle.hs | 6 +- src/Dodge/Data/Creature/Stance.hs | 2 +- src/Dodge/TestString.hs | 14 +++-- tags | 90 +++++++++++++-------------- 8 files changed, 72 insertions(+), 60 deletions(-) diff --git a/src/Dodge/Creature/ChaseCrit.hs b/src/Dodge/Creature/ChaseCrit.hs index 1ac4d0b35..9a0397a4c 100644 --- a/src/Dodge/Creature/ChaseCrit.hs +++ b/src/Dodge/Creature/ChaseCrit.hs @@ -39,4 +39,4 @@ hoverCrit = & crHP .~ HP 10000 & crType .~ HoverCrit 0 & crFaction .~ ColorFaction blue - & crStance . carriage .~ Flying 15 0.91 0 + & crStance . carriage .~ Flying 15 0.975 0 diff --git a/src/Dodge/Creature/MoveType.hs b/src/Dodge/Creature/MoveType.hs index 1d7757ae2..87d92a930 100644 --- a/src/Dodge/Creature/MoveType.hs +++ b/src/Dodge/Creature/MoveType.hs @@ -8,7 +8,7 @@ crMvType :: Creature -> CrMvType crMvType cr = case _crType cr of Avatar {_avMoveSpeed = s} -> MvWalking s ChaseCrit {} -> defaultChaseMvType - HoverCrit {} -> defaultChaseMvType & mvSpeed .~ 0.3 + HoverCrit {} -> defaultChaseMvType & mvSpeed .~ 0.1 SwarmCrit -> defaultChaseMvType AutoCrit -> defaultAimMvType BarrelCrit {} -> defaultAimMvType diff --git a/src/Dodge/Creature/Picture.hs b/src/Dodge/Creature/Picture.hs index e931431cf..d5b47694a 100644 --- a/src/Dodge/Creature/Picture.hs +++ b/src/Dodge/Creature/Picture.hs @@ -52,12 +52,14 @@ basicCrShape cr rotmdir = rotateSH (_crMvDir cr - _crDir cr) drawHoverCrit :: Creature -> Shape -drawHoverCrit cr = colorSH (_skinUpper cskin) - (overPosSH (Q.apply tpq) $ upperBoxHalf Medium Typical 2 $ square 5) +drawHoverCrit cr = colorSH (_skinHead cskin) + (overPosSH (Q.apply tpq) $ upperBoxHalf Medium Typical 1 $ square 4) + <> colorSH (_skinUpper cskin) + (mconcat [overPosSH (Q.apply $ f a) $ upperBox Medium Typical 1 $ polyCirc 3 5 | a <- [0,pi/2,pi,1.5*pi]]) where cskin = crShape $ _crType cr - z = cr ^?! crStance . carriage . flyHeight - tpq = (V3 0 0 z, Q.qid) + f a = tpq `Q.comp` (1 & _xy .~ rotateV a 5, Q.qid) + tpq = (V3 0 0 0, Q.qid) drawChaseCrit :: Creature -> Shape drawChaseCrit cr = mconcat diff --git a/src/Dodge/Creature/State.hs b/src/Dodge/Creature/State.hs index 82dc03f10..74c0dfb43 100644 --- a/src/Dodge/Creature/State.hs +++ b/src/Dodge/Creature/State.hs @@ -48,7 +48,11 @@ doDamage cid w = fromMaybe w $ do -- TODO generalise shake to arbitrary damage amounts applyPastDamages :: Creature -> World -> World applyPastDamages cr w - | HoverCrit {} <- cr ^. crType = w + | HoverCrit {} <- cr ^. crType + , _crPain cr > 50 = w + & cWorld . lWorld . creatures . ix (_crID cr) . crPain -~ 50 + & cWorld . lWorld . creatures . ix (_crID cr) . crPos . _z %~ max 12 . (subtract 1) + | HoverCrit {} <- cr ^. crType = w | _crPain cr > 200 = dojitter 3 100 | _crPain cr > 20 = dojitter 2 10 | _crPain cr > 0 = dojitter 1 1 diff --git a/src/Dodge/Creature/State/WalkCycle.hs b/src/Dodge/Creature/State/WalkCycle.hs index ef6552f43..3c10b5b29 100644 --- a/src/Dodge/Creature/State/WalkCycle.hs +++ b/src/Dodge/Creature/State/WalkCycle.hs @@ -22,8 +22,12 @@ updateCarriage cid w Nothing & over (cWorld . lWorld . creatures . ix cid . crStance . carriage) resetStride | Just cr <- w ^? cWorld . lWorld . creatures . ix cid - , Flying _ x oop <- cr ^. crStance . carriage = + , z <- cr ^. crPos . _z + , Flying dz x oop <- cr ^. crStance . carriage = w & cWorld . lWorld . creatures . ix cid . crPos . _xy +~ x *^ f (cr ^. crOldPos . _xy - oop) + & cWorld . lWorld . creatures . ix cid . crPos . _z +~ dz + & cWorld . lWorld . creatures . ix cid . crStance . carriage . zSpeed + %~ if z < 17 then min 0.05 . (+0.001) else max (-0.05) . (subtract 0.001) | otherwise = w where -- limits max speed gained through inertia diff --git a/src/Dodge/Data/Creature/Stance.hs b/src/Dodge/Data/Creature/Stance.hs index f8e9f888d..93b94dbef 100644 --- a/src/Dodge/Data/Creature/Stance.hs +++ b/src/Dodge/Data/Creature/Stance.hs @@ -21,7 +21,7 @@ data Stance = Stance data Carriage = Walking {_strideAmount :: Float, _footForward :: FootForward} | Floating - | Flying {_flyHeight :: Float, _flyInertia :: Float, _oldOldPos :: Point2} + | Flying {_zSpeed :: Float, _flyInertia :: Float, _oldOldPos :: Point2} | Boosting Point2 | Falling {_fallFlail :: Float, _fallFoot :: FootForward} deriving (Eq, Ord, Show, Read) --Generic, Flat) diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index e306c3524..93cbbf449 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -35,12 +35,14 @@ import Data.Monoid import RandomHelp testStringInit :: Universe -> [String] -testStringInit u = [show p, show op, show oop, show (op - oop), show . norm $ op - oop] - where - f = fromMaybe 0 - p = f $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crPos . _xy - op = f $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crOldPos . _xy - oop = fromMaybe 0 $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crStance . carriage . oldOldPos +testStringInit u = u ^.. uvWorld . cWorld . lWorld . creatures . each . crPos . _z . to show +-- u = [show p, show op, show oop, show (op - oop), show . norm $ op - oop, show d] +-- where +-- f = fromMaybe 0 +-- p = f $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crPos . _xy +-- op = f $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crOldPos . _xy +-- oop = fromMaybe 0 $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crStance . carriage . oldOldPos +-- d = fromMaybe 0 $ u ^? uvWorld . cWorld . lWorld . creatures . ix 2 . crDir -- fmap show (u ^.. uvWorld . cWorld . lWorld . creatures . ix 0 . crWallTouch . each) -- (fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . each . crStance . carriage) -- (fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . each . crStance . carriage . strideAmount) diff --git a/tags b/tags index a5fbe559c..aec7015bd 100644 --- a/tags +++ b/tags @@ -1818,7 +1818,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 -_flyHeight src/Dodge/Data/Creature/Stance.hs 24;" f _flyInertia src/Dodge/Data/Creature/Stance.hs 24;" f _footForward src/Dodge/Data/Creature/Stance.hs 22;" f _foreShapes src/Dodge/Data/LWorld.hs 136;" f @@ -2518,6 +2517,7 @@ _wsMachine src/Dodge/Data/Wall/Structure.hs 14;" f _xNum src/Dodge/Data/Item/Combine.hs 141;" f _xNum src/Dodge/Data/Item/Combine.hs 151;" f _xNum src/Dodge/Data/Item/Combine.hs 171;" f +_zSpeed src/Dodge/Data/Creature/Stance.hs 24;" f aBar src/Dodge/Placement/Instance/LightSource.hs 70;" f aFlame src/Dodge/Gas.hs 20;" f aGasCloud src/Dodge/Gas.hs 15;" f @@ -2600,10 +2600,10 @@ anythingHitCirc src/Dodge/Base/Collide.hs 335;" f apply src/Quaternion.hs 78;" f applyCME src/Dodge/HeldUse.hs 397;" f applyClip src/Dodge/Debug.hs 176;" f -applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f +applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" f applyEventIO src/Loop.hs 90;" f applyGravityPU src/Dodge/Projectile/Update.hs 41;" f -applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f +applyIndividualDamage src/Dodge/Creature/Damage.hs 18;" f applyInvLock src/Dodge/HeldUse.hs 455;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f @@ -2637,7 +2637,7 @@ argV src/Geometry/Vector.hs 83;" f armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f armouredChasers src/Dodge/Room/Boss.hs 58;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f -arms src/Dodge/Creature/Picture.hs 121;" f +arms src/Dodge/Creature/Picture.hs 124;" f arrow src/Picture/Composite.hs 19;" f arrowPath src/Picture/Composite.hs 8;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f @@ -2689,7 +2689,7 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f -baseShoulder src/Dodge/Creature/Picture.hs 159;" f +baseShoulder src/Dodge/Creature/Picture.hs 162;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f baseStickSpread src/Dodge/HeldUse.hs 346;" f @@ -2814,7 +2814,7 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 65;" f chaseCritInternal src/Dodge/Humanoid.hs 11;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 123;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f -chaseUpperBody src/Dodge/Creature/Picture.hs 71;" f +chaseUpperBody src/Dodge/Creature/Picture.hs 74;" f chasmRotate src/Dodge/Creature/Update.hs 182;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 373;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 307;" f @@ -2839,7 +2839,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f chestPQ src/Dodge/Creature/HandPos.hs 196;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f -chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f +chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 48;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f circHitWall src/Dodge/Base/Collide.hs 240;" f @@ -2937,10 +2937,10 @@ convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f convexPolysOverlapWitness src/Geometry/ConvexPoly.hs 55;" f -coolMachinePistol src/Dodge/Creature/State.hs 102;" f -coolMinigun src/Dodge/Creature/State.hs 95;" f +coolMachinePistol src/Dodge/Creature/State.hs 107;" f +coolMinigun src/Dodge/Creature/State.hs 100;" f copier src/Dodge/Item/Scope.hs 94;" f -copierItemUpdate src/Dodge/Creature/State.hs 131;" f +copierItemUpdate src/Dodge/Creature/State.hs 136;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 410;" f cornerList src/Preload/Render.hs 236;" f @@ -3072,7 +3072,7 @@ damageDirt src/Dodge/Material/Damage.hs 192;" f damageFlesh src/Dodge/Material/Damage.hs 158;" f damageGlass src/Dodge/Material/Damage.hs 219;" f damageGlassBlock src/Dodge/Wall/Damage.hs 126;" f -damageHP src/Dodge/Creature/Damage.hs 37;" f +damageHP src/Dodge/Creature/Damage.hs 40;" f damageInCircle src/Dodge/Damage.hs 62;" f damageLightningRod src/Dodge/Material/Damage.hs 74;" f damageMachine src/Dodge/Wall/Damage.hs 47;" f @@ -3082,7 +3082,7 @@ damagePiezoelectric src/Dodge/Material/Damage.hs 88;" f damagePyroelectric src/Dodge/Material/Damage.hs 79;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 14;" f damageStone src/Dodge/Material/Damage.hs 41;" f -damageThingHit src/Dodge/Bullet.hs 180;" f +damageThingHit src/Dodge/Bullet.hs 181;" f damageTypeThreshold src/Dodge/Machine/Update.hs 128;" f damageTypeThreshold' src/Dodge/Wall/Damage.hs 85;" f damageWall src/Dodge/Wall/Damage.hs 31;" f @@ -3096,10 +3096,10 @@ deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneWall src/Dodge/Zoning/Wall.hs 69;" f deadEndPSType src/Dodge/Room/Room.hs 263;" f deadEndRoom src/Dodge/Room/Room.hs 266;" f -deadFeet src/Dodge/Creature/Picture.hs 117;" f -deadRot src/Dodge/Creature/Picture.hs 135;" f -deadScalp src/Dodge/Creature/Picture.hs 130;" f -deadUpperBody src/Dodge/Creature/Picture.hs 156;" f +deadFeet src/Dodge/Creature/Picture.hs 120;" f +deadRot src/Dodge/Creature/Picture.hs 138;" f +deadScalp src/Dodge/Creature/Picture.hs 133;" f +deadUpperBody src/Dodge/Creature/Picture.hs 159;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 725;" f debrisSPic src/Dodge/Prop/Draw.hs 17;" f debrisSize src/Dodge/Block/Debris.hs 131;" f @@ -3230,7 +3230,7 @@ divideLineExact src/Geometry.hs 276;" f divideLineOddNumPoints src/Geometry.hs 261;" f dmType src/Dodge/Damage.hs 38;" f doAimTwist src/Dodge/Creature/YourControl.hs 131;" f -doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f +doAnyEquipmentEffect src/Dodge/Creature/State.hs 146;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f doBlBl src/Dodge/BlBl.hs 5;" f @@ -3310,7 +3310,7 @@ doublePair src/Geometry.hs 162;" f doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f doubleV2 src/Geometry.hs 169;" f -drawARHUD src/Dodge/Creature/State.hs 193;" f +drawARHUD src/Dodge/Creature/State.hs 198;" f drawAimSweep src/Dodge/Render/Picture.hs 292;" f drawAllShadows src/Dodge/Shadows.hs 5;" f drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f @@ -3322,7 +3322,7 @@ drawBoundingBox src/Dodge/Debug/Picture.hs 368;" f drawBullet src/Dodge/Render/ShapePicture.hs 179;" f drawButton src/Dodge/Button/Draw.hs 11;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f -drawChaseCrit src/Dodge/Creature/Picture.hs 62;" f +drawChaseCrit src/Dodge/Creature/Picture.hs 65;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCliff src/Dodge/Render/ShapePicture.hs 87;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f @@ -3351,7 +3351,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 162;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f drawEmptySet src/Dodge/Render/Picture.hs 151;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f -drawEquipment src/Dodge/Creature/Picture.hs 168;" f +drawEquipment src/Dodge/Creature/Picture.hs 171;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f @@ -3517,7 +3517,7 @@ expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f -expireAndDamage src/Dodge/Bullet.hs 188;" f +expireAndDamage src/Dodge/Bullet.hs 189;" f explodeShell src/Dodge/Projectile/Update.hs 274;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f @@ -3531,7 +3531,7 @@ faceEdges src/Polyhedra.hs 62;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f fdiv src/ShortShow.hs 41;" f -feet src/Dodge/Creature/Picture.hs 103;" f +feet src/Dodge/Creature/Picture.hs 106;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f findBlips src/Dodge/RadarSweep.hs 63;" f @@ -3856,8 +3856,8 @@ invDimColor src/Dodge/DisplayInventory.hs 190;" f invHead src/Dodge/Render/HUD.hs 421;" f invIMDT src/Dodge/Item/Grammar.hs 254;" f invIndents src/Dodge/Item/Grammar.hs 261;" f -invItemEffs src/Dodge/Creature/State.hs 63;" f -invItemLocUpdate src/Dodge/Creature/State.hs 71;" f +invItemEffs src/Dodge/Creature/State.hs 68;" f +invItemLocUpdate src/Dodge/Creature/State.hs 76;" f invRootMap src/Dodge/Item/Grammar.hs 235;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSetSelection src/Dodge/Inventory.hs 288;" f @@ -4161,7 +4161,7 @@ marimbaC5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 585;" f marimbaE5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 623;" f marimbaG5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 611;" f materialColor src/Dodge/Material/Color.hs 8;" f -materialPenetrable src/Dodge/Bullet.hs 211;" f +materialPenetrable src/Dodge/Bullet.hs 212;" f maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f maxDamageType src/Dodge/Damage.hs 59;" f maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f @@ -4265,10 +4265,10 @@ mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f mouseCursorType src/Dodge/Render/Picture.hs 90;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f -moveBullet src/Dodge/Bullet.hs 197;" f +moveBullet src/Dodge/Bullet.hs 198;" f moveCombineSel src/Dodge/Update/Scroll.hs 119;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f -movePenBullet src/Dodge/Bullet.hs 203;" f +movePenBullet src/Dodge/Bullet.hs 204;" f moveProjectile src/Dodge/Projectile/Update.hs 249;" f moveRoomBy src/Dodge/Room/Link.hs 57;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f @@ -4329,7 +4329,7 @@ nodeNear src/Dodge/Path.hs 94;" f nodesNear src/Dodge/Path.hs 100;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 265;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f -normalGait src/Dodge/Creature/State/WalkCycle.hs 34;" f +normalGait src/Dodge/Creature/State/WalkCycle.hs 43;" f normalTo8 src/Shader/Poke.hs 466;" f normalizeAngle src/Geometry/Vector.hs 130;" f normalizeAnglePi src/Dodge/Base.hs 154;" f @@ -4354,7 +4354,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f onEquipWristShield src/Dodge/Euse.hs 89;" f onRemoveWristShield src/Dodge/Euse.hs 79;" f oneH src/Dodge/Creature/Test.hs 95;" f -oneSmooth src/Dodge/Creature/Picture.hs 100;" f +oneSmooth src/Dodge/Creature/Picture.hs 103;" f openConsole src/Dodge/Update.hs 138;" f optionMenu src/Dodge/Menu.hs 110;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f @@ -4416,7 +4416,7 @@ pbFlicker src/Dodge/Update.hs 549;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 113;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f -penThing src/Dodge/Bullet.hs 214;" f +penThing src/Dodge/Bullet.hs 215;" f perMat src/MatrixHelper.hs 60;" f perceptionUpdate src/Dodge/Creature/Perception.hs 24;" f performAction src/Dodge/Creature/Action.hs 55;" f @@ -4716,7 +4716,7 @@ replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 184;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 66;" f resetPLUse src/Dodge/PlacementSpot.hs 94;" f -resetStride src/Dodge/Creature/State/WalkCycle.hs 29;" f +resetStride src/Dodge/Creature/State/WalkCycle.hs 38;" f resetTerminal src/Dodge/WorldEffect.hs 158;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f @@ -4839,7 +4839,7 @@ scale3 src/Picture/Base.hs 137;" f scaleMat src/MatrixHelper.hs 71;" f scaleMatrix src/MatrixHelper.hs 68;" f scaleSH src/Shape.hs 266;" f -scalp src/Dodge/Creature/Picture.hs 144;" f +scalp src/Dodge/Creature/Picture.hs 147;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f scorchSPic src/Dodge/Creature/Update.hs 130;" f @@ -4912,7 +4912,7 @@ setOldPos src/Dodge/Update.hs 580;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f -setRBCreatureTargeting src/Dodge/Creature/State.hs 289;" f +setRBCreatureTargeting src/Dodge/Creature/State.hs 294;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setShaderSource src/Shader/Compile.hs 121;" f @@ -4973,8 +4973,8 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 74;" f shiftSetDown src/Dodge/Inventory.hs 174;" f shiftSetUp src/Dodge/Inventory.hs 168;" f shiftTile src/Dodge/Room/Link.hs 49;" f -shineTargetLaser src/Dodge/Creature/State.hs 201;" f -shineTorch src/Dodge/Creature/State.hs 237;" f +shineTargetLaser src/Dodge/Creature/State.hs 206;" f +shineTorch src/Dodge/Creature/State.hs 242;" f shootBullet src/Dodge/HeldUse.hs 995;" f shootBullets src/Dodge/HeldUse.hs 989;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f @@ -4999,10 +4999,10 @@ showEquipItem src/Dodge/Item/Display.hs 108;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f -showManObj src/Dodge/TestString.hs 79;" f +showManObj src/Dodge/TestString.hs 85;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f -showTimeFlow src/Dodge/TestString.hs 89;" f +showTimeFlow src/Dodge/TestString.hs 95;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkVert src/Geometry/Polygon.hs 202;" f shuffle src/RandomHelp.hs 68;" f @@ -5153,7 +5153,7 @@ stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 537;" f stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 543;" f stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 657;" f stopAllSounds src/Sound.hs 127;" f -stopBulletAt src/Dodge/Bullet.hs 200;" f +stopBulletAt src/Dodge/Bullet.hs 201;" f stopPushing src/Dodge/Wall/Damage.hs 172;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f storageShape src/Dodge/Machine/Draw.hs 30;" f @@ -5307,11 +5307,11 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f topInvW src/Dodge/ListDisplayParams.hs 54;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f -topTestPart src/Dodge/TestString.hs 75;" f +topTestPart src/Dodge/TestString.hs 81;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torqueAmount src/Dodge/HeldUse.hs 606;" f torqueCr src/Dodge/WorldEffect.hs 85;" f -torso src/Dodge/Creature/Picture.hs 149;" f +torso src/Dodge/Creature/Picture.hs 152;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractorBeamAt src/Dodge/HeldUse.hs 850;" f @@ -5362,7 +5362,7 @@ trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 212;" f tryCombine src/Dodge/Update/Input/InGame.hs 521;" f -tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f +tryDrawToCapacitor src/Dodge/Creature/State.hs 156;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 140;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 23;" f @@ -5373,9 +5373,9 @@ tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySpin src/Dodge/Projectile/Update.hs 120;" f -trySynthBullet src/Dodge/Creature/State.hs 167;" f +trySynthBullet src/Dodge/Creature/State.hs 172;" f tryThrust src/Dodge/Projectile/Update.hs 126;" f -tryUseParent src/Dodge/Creature/State.hs 145;" f +tryUseParent src/Dodge/Creature/State.hs 150;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f tutAnoTree src/Dodge/Room/Tutorial.hs 54;" f @@ -5472,7 +5472,7 @@ updateInGameCamera src/Dodge/Update/Camera.hs 86;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 404;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f -updateItemTargeting src/Dodge/Creature/State.hs 259;" f +updateItemTargeting src/Dodge/Creature/State.hs 264;" f updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 371;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 398;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 85;" f @@ -5542,7 +5542,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f updateWheelEvents src/Dodge/Update.hs 474;" f updateWorldEventFlag src/Dodge/Update.hs 127;" f updateWorldEventFlags src/Dodge/Update.hs 115;" f -upperBody src/Dodge/Creature/Picture.hs 164;" f +upperBody src/Dodge/Creature/Picture.hs 167;" f upperBox src/Shape.hs 153;" f upperBoxHalf src/Shape.hs 219;" f upperBoxMT src/Shape.hs 144;" f