Slightly bulge slime when swallowing projectile

This commit is contained in:
2026-05-18 12:18:34 +01:00
parent e8738715e5
commit d29c2dbd0c
8 changed files with 75 additions and 51 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ slimeCrit = defaultCreature
& crName .~ "slimeCrit"
& crHP .~ HP 1000
-- & crType .~ SlimeCrit r 0 0 (V2 (slimeToRad r) 0) False 0
& crType .~ SlimeCrit r 0 Nothing 1 False 0
& crType .~ SlimeCrit r 0 NoSlimeDistortion 1 False 0
& crFaction .~ ColorFaction (light green)
& crPerception . cpVision . viFOV .~ FloatFOV pi
& crActionPlan .~ SlimeIntelligence
+1 -1
View File
@@ -62,7 +62,7 @@ drawSlimeCrit cr =
r = slimeToRad $ cr ^?! crType . slimeSlime - cr ^?! crType . slimeSlimeChange
so = slimeOutline cr
ps = fromMaybe so $ do
(x', qs) <- cr ^? crType . slimeSplitTimer . _Just
SlimeDistortion x' qs _ <- cr ^? crType . slimeDistortion
let x = fromIntegral x'
guard $ length qs == 12
return $ zipWith (+) (fmap (0.1 * (10 - x) *^) so) (fmap (0.1 * x *^) qs)
+8 -8
View File
@@ -232,8 +232,8 @@ updateCalmBee cr cid w
cxy = cr ^. crPos . _xy
mountshakeoff mid = fromMaybe True $ do
mcr <- w ^? cWorld . lWorld . creatures . ix mid
SlimeCrit {_slimeSplitTimer = x} <- mcr ^? crType
return $ isJust x
x <- mcr ^? crType . slimeDistortion . sdTime
return $ x > 8
sspeed = 5
gettarg = do
i <- cr ^? crActionPlan . apStrategy . harvestTarget
@@ -263,11 +263,11 @@ updateSlimeCrit cid w
& cWorld . lWorld . creatures . ix cid %~ mvslime
& cWorld . lWorld . creatures . ix cid . crDamage .~ []
& tocr %~ doSlimeRadChange
& tocr . crType . slimeSplitTimer %~ fsst
& tocr . crType . slimeDistortion %~ fsst
& tocr . crType . slimeEngulfProgress %~ (max 0 . subtract 0.5)
where
fsst (Just (x,ps)) | x > 0 = Just (x-1,ps)
fsst _ = Nothing
fsst (SlimeDistortion x ps t) | x > 0 = SlimeDistortion (x-1) ps t
fsst _ = NoSlimeDistortion
tocr = cWorld . lWorld . creatures . ix cid
cr = w ^?! cWorld . lWorld . creatures . ix cid
mvslime cr' = cr' & crType . slimeCompression +~ f (0.1/r)
@@ -336,8 +336,8 @@ splitSlimeCrit p v cr = do
& crDir .~ argV (-mvdir)
c1ps = qs' & each +~ cxy - (mp + r1 *^ mvdir) & each %~ rotateV (- c1 ^. crDir)
c2ps = ps' & each +~ cxy - (mp - r2 *^ mvdir) & each %~ rotateV (- c2 ^. crDir)
return (c1 & crType . slimeSplitTimer . _Just . _2 .~ f c1ps c1
,c2 & crType . slimeSplitTimer . _Just . _2 .~ f c2ps c2
return (c1 & crType . slimeDistortion . sdShape .~ f c1ps c1
,c2 & crType . slimeDistortion . sdShape .~ f c2ps c2
)
where
f xs@(_:_) c = polyInPoly (centroid xs) xs (slimeOutline c)
@@ -346,7 +346,7 @@ splitSlimeCrit p v cr = do
r = cr ^?! crType . slimeSlime . to slimeToRad
cr' = cr & crDamage .~ []
& crType . slimeSlimeChange .~ 0
& crType . slimeSplitTimer ?~ (10, mempty)
& crType . slimeDistortion .~ SlimeDistortion 10 mempty True
& crType . slimeIsCompressing .~ False
& crType . slimeCompression .~ 1
(ps,qs) = cutPoly (p-cxy) (p+v-cxy) $ slimeOutline cr & each %~ rotateV (cr ^. crDir)
+10 -1
View File
@@ -78,7 +78,7 @@ data CreatureType
, _slimeSlimeChange :: Int
-- , _slimeRadWobble :: Float
--, _slimeSplitTimer :: Int
, _slimeSplitTimer :: Maybe (Int, [Point2])
, _slimeDistortion :: SlimeShapeDistortion
, _slimeCompression :: Float
, _slimeIsCompressing :: Bool
, _slimeEngulfProgress :: Float
@@ -102,6 +102,13 @@ data CreatureType
| BarrelCrit {_barrelType :: BarrelType}
| LampCrit {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int}
data SlimeShapeDistortion = SlimeDistortion
{ _sdTime :: Int
, _sdShape :: [Point2]
, _sdIsSplit :: Bool
}
| NoSlimeDistortion
slimeToRad :: Int -> Float
slimeToRad x = sqrt $ fromIntegral x * 0.01
@@ -128,6 +135,8 @@ makeLenses ''Vocalization
makeLenses ''CrMvType
makeLenses ''CreatureType
makeLenses ''CreatureShape
makeLenses ''SlimeShapeDistortion
deriveJSON defaultOptions ''SlimeShapeDistortion
deriveJSON defaultOptions ''Pulse
deriveJSON defaultOptions ''Vocalization
deriveJSON defaultOptions ''BarrelType
+9
View File
@@ -2,6 +2,7 @@
-- {-# OPTIONS_GHC -Wno-unused-imports #-}
module Dodge.Projectile.Update (updateProjectile,slimeEatSound) where
import Dodge.Creature.Slime
import Control.Monad
import Data.List (delete)
import Data.Maybe
@@ -92,6 +93,7 @@ shellHitCreature p cr pj
| SlimeCrit{} <- cr ^. crType = (cWorld . lWorld . projectiles . at (pj ^. pjID) .~ Nothing)
. (cWorld . lWorld . creatures . ix (cr ^. crID) . crType . slimeSlime +~ 100)
. (cWorld . lWorld . creatures . ix (cr ^. crID) . crType . slimeSlimeChange +~ 100)
. (cWorld . lWorld . creatures . ix (cr ^. crID) %~ slimeBulge (pj ^. pjPos))
. slimeEatSound (cr ^. crID) (cr ^. crPos . _xy)
| Just GStick <- pj ^? pjType . gnHitEffect =
(pjlens . pjType .~ Grenade gren)
@@ -105,6 +107,13 @@ shellHitCreature p cr pj
(rotate3z (-cr ^. crDir) (p - cr ^. crPos))
(pj ^. pjDir - cr ^. crDir)
slimeBulge :: Point3 -> Creature -> Creature
slimeBulge p cr = cr
& crType . slimeDistortion .~ SlimeDistortion 10 (f <$>slimeOutline cr) False
where
v = rotateV (-cr ^. crDir) (normalize $ p ^. _xy - cr ^. crPos . _xy)
f x = x + (10 * max 0 (dot v (normalize x))) *^ v
shellHitFloor :: Point3 -> Projectile -> World -> World
shellHitFloor p pj =
(topj . pjPos .~ (p & _z .~ 0.1))
+2 -2
View File
@@ -59,8 +59,8 @@ crs u = u ^.. uvWorld . cWorld . lWorld . creatures . each
testStringInit :: Universe -> [String]
testStringInit u = [ u ^. uvWorld . testString ]
<> u ^.. uvWorld . cWorld . lWorld . projectiles . each . pjPos . _z . to show
<> u ^.. uvWorld . cWorld . lWorld . creatures . each . crType . slimeSlime . to (show . slimeToRad)
-- <> u ^.. uvWorld . cWorld . lWorld . projectiles . each . pjPos . _z . to show
-- <> u ^.. uvWorld . cWorld . lWorld . creatures . each . crType . slimeSlime . to (show . slimeToRad)
-- , u ^. uvWorld . input . mouseContext . to show
-- , u ^. uvWorld . hud . diSelection . to show
-- , u ^. uvWorld . cWorld . lWorld . lInvLock . to show
+1 -1
View File
@@ -1026,7 +1026,7 @@ crCrSpring c1 c2
, slimeFood c2
, distance xy1 xy2 < r1 - (r2 + 5)
= feedSlime c1 c2
| Just Nothing <- c1 ^? crType . slimeSplitTimer
| maybe True not (c1 ^? crType . slimeDistortion . sdIsSplit)
, slimeFood c2 = slimeSuck c1 c2
| SlimeCrit{} <- c1 ^. crType = id
| SlimeCrit{} <- c2 ^. crType = id
+43 -37
View File
@@ -74,10 +74,10 @@ AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C
Audition src/Dodge/Data/Creature/Perception.hs 45;" t
AutoCrit src/Dodge/Data/Creature/Misc.hs 101;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 108;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 115;" C
Avatar src/Dodge/Data/Creature/Misc.hs 49;" C
AvatarDestroyed src/Dodge/Data/Creature.hs 66;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 108;" t
AvatarPosture src/Dodge/Data/Creature/Misc.hs 115;" t
Awareness src/Dodge/Data/Creature/Perception.hs 63;" t
BANGCONE src/Dodge/Data/Item/Combine.hs 150;" C
BANGROD src/Dodge/Data/Item/Combine.hs 159;" C
@@ -106,8 +106,8 @@ BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 41;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 102;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 120;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 116;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 127;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 123;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 42;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 49;" C
@@ -284,7 +284,7 @@ CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
Creature src/Dodge/Data/Creature.hs 35;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 110;" t
CreatureShape src/Dodge/Data/Creature/Misc.hs 117;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 48;" t
Crushing src/Dodge/Data/Damage.hs 19;" C
CryoReleaseCloud src/Dodge/Data/Cloud.hs 24;" C
@@ -404,7 +404,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 39;" C
ExplosionPayload src/Dodge/Data/Payload.hs 9;" C
Explosive src/Dodge/Data/Damage.hs 25;" C
ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 122;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 129;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C
ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t
Eyes src/Dodge/Data/Creature/Perception.hs 39;" C
@@ -561,7 +561,7 @@ HotkeyX src/Dodge/Data/Equipment/Misc.hs 36;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C
HoverCrit src/Dodge/Data/Creature/Misc.hs 70;" C
Huge src/Shape/Data.hs 24;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 111;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 118;" C
IMSI src/Dodge/Data/SelectionList.hs 43;" t
IMSS src/Dodge/Data/SelectionList.hs 41;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
@@ -833,7 +833,7 @@ NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C
NoBeamCombine src/Dodge/Data/Beam.hs 41;" C
NoConcurrentEffect src/Loop/Data.hs 7;" C
NoCrImp src/Dodge/Data/CreatureEffect.hs 9;" C
NoCreatureShape src/Dodge/Data/Creature/Misc.hs 117;" C
NoCreatureShape src/Dodge/Data/Creature/Misc.hs 124;" C
NoExtraMenuOption src/Dodge/Data/Universe.hs 79;" C
NoFaction src/Dodge/Data/Creature/State.hs 18;" C
NoFlare src/Dodge/Data/Muzzle.hs 29;" C
@@ -853,6 +853,7 @@ NoSF src/Dodge/Data/ComposedItem.hs 30;" C
NoSIDisplayMod src/Dodge/Data/SelectionList.hs 59;" C
NoShadowFidelity src/Shape/Data.hs 21;" C
NoShadows src/Dodge/Data/Config.hs 121;" C
NoSlimeDistortion src/Dodge/Data/Creature/Misc.hs 110;" C
NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C
NoSubInventory src/Dodge/Data/HUD.hs 16;" C
NoTrigger src/Dodge/Data/TriggerType.hs 11;" C
@@ -1003,7 +1004,7 @@ Piezoelectric src/Dodge/Data/Material.hs 23;" C
Pitted src/Dodge/Data/Creature.hs 75;" C
Placement src/Dodge/Data/GenWorld.hs 113;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 121;" C
PlainBarrel src/Dodge/Data/Creature/Misc.hs 128;" C
PlainDeath src/Dodge/Data/Creature.hs 77;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlasmaBall src/Dodge/Data/PlasmaBall.hs 12;" t
@@ -1238,7 +1239,9 @@ Size src/Shape/Data.hs 24;" t
SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C
SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C
SlimeCrit src/Dodge/Data/Creature/Misc.hs 76;" C
SlimeDistortion src/Dodge/Data/Creature/Misc.hs 105;" C
SlimeIntelligence src/Dodge/Data/ActionPlan.hs 16;" C
SlimeShapeDistortion src/Dodge/Data/Creature/Misc.hs 105;" t
SlinkCrit src/Dodge/Data/Creature/Misc.hs 71;" C
Small src/Shape/Data.hs 27;" C
Smoke src/Dodge/Data/Cloud.hs 22;" C
@@ -2145,7 +2148,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 44;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 15;" f
_pickUps src/Dodge/Layout/Generate.hs 16;" f
_pictureShaders src/Data/Preload/Render.hs 31;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 122;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 129;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 24;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 26;" f
_pjDir src/Dodge/Data/Projectile.hs 19;" f
@@ -2322,6 +2325,9 @@ _scrollTestInt src/Dodge/Data/Input.hs 49;" f
_scurColor src/Dodge/Data/SelectionList.hs 29;" f
_scurPos src/Dodge/Data/SelectionList.hs 27;" f
_scurSize src/Dodge/Data/SelectionList.hs 28;" f
_sdIsSplit src/Dodge/Data/Creature/Misc.hs 108;" f
_sdShape src/Dodge/Data/Creature/Misc.hs 107;" f
_sdTime src/Dodge/Data/Creature/Misc.hs 106;" f
_seDist src/Dodge/Data/PathGraph.hs 44;" f
_seObstacles src/Dodge/Data/PathGraph.hs 45;" f
_searchTimer src/Dodge/Data/ActionPlan.hs 151;" f
@@ -2360,17 +2366,17 @@ _skOldPos src/Dodge/Data/Spark.hs 14;" f
_skPos src/Dodge/Data/Spark.hs 13;" f
_skType src/Dodge/Data/Spark.hs 15;" f
_skVel src/Dodge/Data/Spark.hs 12;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 112;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 114;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 113;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 119;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 121;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 120;" f
_slInt src/Dodge/Data/HUD.hs 42;" f
_slSec src/Dodge/Data/HUD.hs 42;" f
_slimeCompression src/Dodge/Data/Creature/Misc.hs 82;" f
_slimeDistortion src/Dodge/Data/Creature/Misc.hs 81;" f
_slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 84;" f
_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 83;" f
_slimeSlime src/Dodge/Data/Creature/Misc.hs 77;" f
_slimeSlimeChange src/Dodge/Data/Creature/Misc.hs 78;" f
_slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 81;" f
_slinkHeadPos src/Dodge/Data/Creature/Misc.hs 74;" f
_slinkSpine src/Dodge/Data/Creature/Misc.hs 73;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 42;" f
@@ -3290,7 +3296,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 27;" f
destroyMount src/Dodge/Wall/Damage.hs 167;" f
destroyMounts src/Dodge/Wall/Damage.hs 164;" f
destroyProjectile src/Dodge/Projectile/Update.hs 112;" f
destroyProjectile src/Dodge/Projectile/Update.hs 122;" f
detV src/Geometry/Vector.hs 102;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 436;" f
@@ -3327,7 +3333,7 @@ dmType src/Dodge/Damage.hs 38;" f
doAimTwist src/Dodge/Creature/YourControl.hs 130;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 174;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 169;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 179;" f
doBlBl src/Dodge/BlBl.hs 5;" f
doBounce src/Dodge/Base/Collide.hs 81;" f
doButtonEvent src/Dodge/Button/Event.hs 9;" f
@@ -3382,7 +3388,7 @@ doTabComplete src/Dodge/Terminal.hs 241;" f
doTestDrawing src/Dodge/Render.hs 40;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 132;" f
doThrust src/Dodge/Projectile/Update.hs 142;" f
doTimeScroll src/Dodge/Update.hs 234;" f
doTmWdWd src/Dodge/WorldEffect.hs 102;" f
doWallRotate src/Dodge/Update/Camera.hs 232;" f
@@ -3618,7 +3624,7 @@ 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 191;" f
explodeShell src/Dodge/Projectile/Update.hs 265;" f
explodeShell src/Dodge/Projectile/Update.hs 269;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 746;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 79;" f
@@ -3743,7 +3749,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 90;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 175;" f
getBulletType src/Dodge/HeldUse.hs 945;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 547;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 544;" f
getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f
@@ -4283,7 +4289,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 569;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 566;" f
maybeOpenConsole src/Dodge/Update.hs 136;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 135;" f
@@ -4388,10 +4394,10 @@ moveBullet src/Dodge/Bullet.hs 200;" f
moveCombineSel src/Dodge/Update/Scroll.hs 120;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f
movePenBullet src/Dodge/Bullet.hs 206;" f
moveProjectile src/Dodge/Projectile/Update.hs 240;" f
moveProjectile src/Dodge/Projectile/Update.hs 250;" f
moveRoomBy src/Dodge/Room/Link.hs 57;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 219;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 229;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 106;" f
moveWall src/Dodge/Wall/Move.hs 23;" f
moveWallID src/Dodge/Wall/Move.hs 18;" f
@@ -4528,7 +4534,7 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 693;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 87;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 539;" f
pauseGame src/Dodge/Update/Input/InGame.hs 536;" f
pauseMenu src/Dodge/Menu.hs 57;" f
pauseMenuOptions src/Dodge/Menu.hs 64;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f
@@ -4556,7 +4562,7 @@ pincerP''' src/Dodge/Creature/Boid.hs 77;" f
pipe src/Dodge/Item/Craftable.hs 29;" f
pistol src/Dodge/Item/Held/Stick.hs 18;" f
pistolerRoom src/Dodge/Room/Room.hs 351;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 197;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 207;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f
@@ -5074,8 +5080,8 @@ shapeVerxSize src/Shape/Parameters.hs 5;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 314;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 50;" f
shellHitCreature src/Dodge/Projectile/Update.hs 84;" f
shellHitFloor src/Dodge/Projectile/Update.hs 98;" f
shellHitCreature src/Dodge/Projectile/Update.hs 90;" f
shellHitFloor src/Dodge/Projectile/Update.hs 108;" f
shellHitWall src/Dodge/Projectile/Update.hs 60;" f
shellMag src/Dodge/Item/Ammo.hs 47;" f
shellModule src/Dodge/Item/Scope.hs 128;" f
@@ -5127,10 +5133,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 135;" f
showManObj src/Dodge/TestString.hs 136;" f
showMuzzlePositions src/Dodge/Debug.hs 320;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 151;" f
showTimeFlow src/Dodge/TestString.hs 152;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f
shrinkVert src/Geometry/Polygon.hs 202;" f
shuffle src/RandomHelp.hs 68;" f
@@ -5167,11 +5173,11 @@ 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 70;" f
slimeEatSound src/Dodge/Update.hs 1109;" f
slimeEatSound src/Dodge/Projectile/Update.hs 84;" f
slimeFood src/Dodge/Update.hs 1071;" f
slimeOutline src/Dodge/Creature/Slime.hs 9;" f
slimeSuck src/Dodge/Update.hs 1055;" f
slimeToRad src/Dodge/Data/Creature/Misc.hs 105;" f
slimeToRad src/Dodge/Data/Creature/Misc.hs 112;" f
slinkCrit src/Dodge/Creature/ChaseCrit.hs 58;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 358;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f
@@ -5219,7 +5225,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f
spPos src/ShapePicture/Data.hs 11;" f
spaceAction src/Dodge/Update/Input/InGame.hs 542;" f
spaceAction src/Dodge/Update/Input/InGame.hs 539;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f
@@ -5459,7 +5465,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 130;" f
topTestPart src/Dodge/TestString.hs 131;" f
torchShape src/Dodge/Item/Draw/SPic.hs 278;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 85;" f
@@ -5513,7 +5519,7 @@ truncate src/Polyhedra/Geodesic.hs 39;" f
trunkDepth src/TreeHelp.hs 164;" f
tryAttachItems src/Dodge/Item/Grammar.hs 35;" f
tryClickUse src/Dodge/Creature/YourControl.hs 205;" f
tryCombine src/Dodge/Update/Input/InGame.hs 559;" f
tryCombine src/Dodge/Update/Input/InGame.hs 556;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 132;" f
tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f
@@ -5525,9 +5531,9 @@ tryPlay src/Sound.hs 85;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 64;" f
trySeedFromClipboard src/Dodge/Menu.hs 94;" f
trySpin src/Dodge/Projectile/Update.hs 120;" f
trySpin src/Dodge/Projectile/Update.hs 130;" f
trySynthBullet src/Dodge/Creature/State.hs 200;" f
tryThrust src/Dodge/Projectile/Update.hs 126;" f
tryThrust src/Dodge/Projectile/Update.hs 136;" f
tryUseParent src/Dodge/Creature/State.hs 178;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
@@ -5603,7 +5609,7 @@ updateCreatureStrides src/Dodge/Update.hs 375;" f
updateDebris src/Dodge/Update.hs 686;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 104;" f
updateDelayedEvents src/Dodge/Update.hs 1116;" f
updateDelayedEvents src/Dodge/Update.hs 1110;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 117;" f
updateDistortion src/Dodge/Distortion.hs 8;" f
updateDistortions src/Dodge/Update.hs 665;" f
@@ -5617,7 +5623,7 @@ updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f
updateEnergyBall src/Dodge/EnergyBall.hs 32;" f
updateEnergyBalls src/Dodge/Update.hs 774;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 516;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 515;" f
updateExpBarrel src/Dodge/Barreloid.hs 21;" f
updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 771;" f