Work on what happens when creatures fall down chasms

This commit is contained in:
2025-08-05 21:39:44 +01:00
parent df443744db
commit f69956750a
9 changed files with 112 additions and 109 deletions
+1 -3
View File
@@ -1,7 +1,5 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Combine (
combineList,
) where
module Dodge.Combine (combineList) where
import Dodge.Data.CombAmount
import Dodge.Item.InvSize
+2 -4
View File
@@ -119,11 +119,9 @@ scorchSPic = _1 %~ overColSH (mixColors 0.9 0.1 black . normalizeColor)
poisonSPic :: SPic -> SPic
poisonSPic = _1 %~ overColSH (mixColors 0.5 0.5 green . normalizeColor)
{- | Drop items according to the creature state.
TODO make sure this doesn't mess up any ItemPosition
-}
-- reverse keys, otherwise two or more inv items will cause errors
dropAll :: Creature -> World -> World
dropAll cr w = foldl' (flip (dropItem cr)) w $ IM.keys $ _crInv cr
dropAll cr w = foldl' (flip (dropItem cr)) w . reverse . IM.keys $ _crInv cr
doDamage :: Creature -> World -> World
doDamage cr = applyPastDamages cr . applyCreatureDamage (cr ^. crDamage) cr
+12 -1
View File
@@ -14,8 +14,19 @@ import Dodge.Humanoid
import Dodge.Lampoid
import qualified Data.List as List
-- Should separate out creature movement from other parts here
updateCreature :: Creature -> World -> World
updateCreature cr = chasmTest cr . case _crType cr of
updateCreature cr
| _crZ cr < negate 100 = id -- can remove creature and all items
| _crZ cr < 0 = (tocr . crZVel -~ 0.5)
. (tocr . crZ +~ _crZVel cr)
| otherwise = updateCreature' cr
where
tocr = cWorld . lWorld . creatures . ix (_crID cr)
updateCreature' :: Creature -> World -> World
updateCreature' cr = chasmTest cr . case _crType cr of
Avatar{} -> (cWorld . lWorld . creatures . ix 0 . crType . avatarPulse %~ updatePulse)
. crUpdate yourControl cr
LampCrit{} -> updateLampoid cr
+10 -11
View File
@@ -6,28 +6,27 @@ module Dodge.EnergyBall (
makeMovingEB,
) where
import Dodge.Damage
import Data.Maybe
import Dodge.Base.Collide
import Dodge.Damage
import Dodge.Data.World
import Dodge.SoundLogic
import Dodge.Spark
import Geometry
import LensHelp
import Linear.V3
import Picture
import RandomHelp
import Linear.V3
makeFlamelet :: Point3 -> Point3 -> Float -> Int -> World -> World
makeFlamelet p v s t w =
w
& cWorld . lWorld . energyBalls
.:~ EnergyBall
{ _ebVel = v
, _ebPos = p
, _ebTimer = t
, _ebType = FlameletBall s
}
makeFlamelet p v s t =
cWorld . lWorld . energyBalls
.:~ EnergyBall
{ _ebVel = v
, _ebPos = p
, _ebTimer = t
, _ebType = FlameletBall s
}
updateEnergyBall :: World -> EnergyBall -> (World, Maybe EnergyBall)
updateEnergyBall w eb
+2 -8
View File
@@ -2,16 +2,10 @@ module Dodge.Event.Test (
testEvent,
) where
import Dodge.SoundLogic.ExternallyGeneratedSounds
--import Dodge.Creature.State
import Dodge.Data.World
import Control.Lens
import Geometry
--import Control.Lens
testEvent :: World -> World
testEvent w = w
& cWorld . lWorld . worldEvents .~ SoundStart BackgroundSound (V2 0 0) foamSprayFadeOutS Nothing :
--[MakeStartCloudAt (V3 (cx + x) (cy + y) 5) | x <- [-5, -4 .. 5], y <- [-5, -4 .. 5]]
[MakeStartCloudAt (V3 (cx + x) (cy + y) 200) | x <- [0], y <- [0]]
where
V2 cx cy = w ^?! cWorld . lWorld . creatures . ix 0 . crPos
+13 -8
View File
@@ -13,6 +13,7 @@ module Dodge.Inventory (
swapInvItems,
scrollAugNextInSection,
swapItemWith,
destroyItem,
) where
import Dodge.Equipment
@@ -60,14 +61,18 @@ destroyInvItem cid invid w =
(cWorld . lWorld . imHotkeys . unNIntMap . at itid .~ Nothing)
. (cWorld . lWorld . hotkeys . at hk .~ Nothing)
-- | after this the item at the inventory position will no longer exist
rmInvItem ::
-- | Creature id
Int ->
-- | Inventory position
Int ->
World ->
World
destroyItem :: Int -> World -> World
destroyItem itid w = case w ^? cWorld . lWorld . itemLocations . ix itid of
Nothing -> error $ "Tried to destroy item that does not exist; item id: "++ show itid
Just (InInv {_ilCrID = cid, _ilInvID = invid}) -> destroyInvItem cid invid w
Just (OnTurret{}) -> error "need to write code for destroying items on turrets"
Just (OnFloor (NInt i)) -> w & cWorld . lWorld . itemLocations . at itid .~ Nothing
& cWorld . lWorld . floorItems . unNIntMap . at i .~ Nothing
Just InVoid -> w & cWorld . lWorld . itemLocations . at itid .~ Nothing
-- note rmInvItem does not fully destroy the item, other updates to the item
-- location are required
rmInvItem :: Int -> Int -> World -> World
rmInvItem cid invid w =
w
& dounequipfunction --the ordering of these is
+18 -19
View File
@@ -1,15 +1,13 @@
module Dodge.Prop.Gib (
addCrGibs,
) where
module Dodge.Prop.Gib (addCrGibs) where
import Dodge.WorldEvent.Cloud
import Dodge.Creature.Shape
import Color
import Control.Monad
import Data.Foldable
import Data.List (zip4)
import Dodge.Creature.Shape
import Dodge.Damage
import Dodge.Data.World
import Dodge.WorldEvent.Cloud
import Geometry
import LensHelp
import qualified Quaternion as Q
@@ -18,16 +16,16 @@ import RandomHelp
addCrGibs :: Creature -> World -> World
addCrGibs cr = case damageDirection $ _crDamage cr of
Nothing ->
addGibAt 25 (_skinHead skin) cpos
addGibAt 25 (_skinHead skin) cpos
. addGibsAtDir pi 0 3 7 (_skinLower skin) cpos
. addGibsAtDir pi 0 13 20 (_skinUpper skin) cpos
. makeDustAt Flesh 50 (addZ 20 cpos)
. makeDustAt Flesh 50 (addZ 20 cpos)
. makeDustAt Flesh 50 (addZ 20 cpos)
. makeDustAt Flesh 50 (addZ 20 cpos)
Just d -> (testFloat +~ 1)
. addGibsAtDir (pi/4) d 3 7 (_skinLower skin) cpos
. addGibsAtDir (pi/4) d 13 20 (_skinUpper skin) cpos
Just d ->
addGibsAtDir (pi / 4) d 3 7 (_skinLower skin) cpos
. addGibsAtDir (pi / 4) d 13 20 (_skinUpper skin) cpos
. addGibAtDir d 25 (_skinHead skin) cpos
. makeDustAt Flesh 50 (addZ 20 cpos)
. makeDustAt Flesh 50 (addZ 20 cpos)
@@ -48,11 +46,11 @@ addGibsAtDir spread dir minh maxh col p w =
dirs = unitVectorAtAngle <$> (randsSpread (dir - spread, dir + spread) 4 & evalState $ _randGen w)
vels = zipWith (*.*) speeds dirs
zspeeds = replicateM 4 (state (randomR (-8, 8))) & evalState $ _randGen w
quats :: [Q.Quaternion Float]
quats = replicateM 4 (Q.vToQuat (V3 0 0 1) <$> randOnUnitSphere) & evalState $ _randGen w
addGib4 :: Point2 -> Color -> (Point2, Float, QFloat, Float) -> World -> World
addGib4 p col (v, zs, q, h) = cWorld . lWorld . debris
addGib4 p col (v, zs, q, h) =
cWorld . lWorld . debris
.:~ DebrisChunk
{ _dbPos = p `v2z` h
, _dbType = Gib 3 col
@@ -60,7 +58,7 @@ addGib4 p col (v, zs, q, h) = cWorld . lWorld . debris
, _dbRot = q
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) (-0.1)
}
addGibAt :: Float -> Color -> Point2 -> World -> World
addGibAt h col p w = addGibAtDir d h col p (w & randGen .~ newg)
where
@@ -78,10 +76,11 @@ addGibAtDir dir h col p w =
zs <- state $ randomR (-4, 4)
q <- Q.vToQuat (V3 0 0 1) <$> randOnUnitSphere
let v = s *.* unitVectorAtAngle dir
return $ DebrisChunk
{ _dbPos = p `v2z` h
, _dbType = Gib 3 col
, _dbVel = v `v2z` zs
, _dbRot = q
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) (-0.1)
}
return $
DebrisChunk
{ _dbPos = p `v2z` h
, _dbType = Gib 3 col
, _dbVel = v `v2z` zs
, _dbRot = q
, _dbSpin = Q.axisAngle (vNormal v `v2z` 0) (-0.1)
}
+1 -1
View File
@@ -33,7 +33,7 @@ import Shader.Poke.Cloud
doDrawing :: SDL.Window -> Universe -> IO ()
doDrawing window u
| SDL.ScancodeT `M.member` (u ^. uvWorld . input . pressedKeys) = doTestDrawing rdata u
| SDL.ScancodeY `M.member` (u ^. uvWorld . input . pressedKeys) = doTestDrawing rdata u
| otherwise = doDrawing' window rdata u
where
rdata = u ^. preloadData . renderData
+53 -54
View File
@@ -114,8 +114,8 @@ BarrelHiss src/Dodge/Data/SoundOrigin.hs 33;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 83;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 34;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 44;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 43;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 50;" C
BasicFlare src/Dodge/Data/Muzzle.hs 26;" C
Beam src/Dodge/Data/Beam.hs 18;" t
BeamCombine src/Dodge/Data/Beam.hs 47;" C
@@ -126,8 +126,8 @@ BeamSimple src/Dodge/Data/Beam.hs 50;" C
BeamType src/Dodge/Data/Beam.hs 46;" t
BecomePowerful src/Dodge/Data/Scenario.hs 9;" C
BeltBulletAmmo src/Dodge/Data/AmmoType.hs 8;" C
BezierTrajectory src/Dodge/Data/Bullet.hs 45;" C
BezierTrajectoryType src/Dodge/Data/Bullet.hs 52;" C
BezierTrajectory src/Dodge/Data/Bullet.hs 44;" C
BezierTrajectoryType src/Dodge/Data/Bullet.hs 51;" C
Biome src/Dodge/Data/Scenario.hs 71;" t
BlBl src/Dodge/Data/BlBl.hs 11;" t
BlConst src/Dodge/Data/BlBl.hs 13;" C
@@ -152,27 +152,27 @@ BloomNoZWrite src/Picture/Data.hs 26;" C
Blunt src/Dodge/Data/Damage.hs 21;" C
Boosting src/Dodge/Data/Creature/Stance.hs 28;" C
BottomEscapeMenuOption src/Dodge/Data/Universe.hs 77;" C
BounceBullet src/Dodge/Data/Bullet.hs 31;" C
BounceBullet src/Dodge/Data/Bullet.hs 30;" C
Bound_box_screen src/Dodge/Data/Config.hs 81;" C
BoundaryCursor src/Dodge/Data/SelectionList.hs 20;" C
Bounds src/Dodge/Data/Bounds.hs 12;" t
BrigSS src/Dodge/Data/Scenario.hs 102;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
BulBall src/Dodge/Data/Bullet.hs 36;" C
BulFlak src/Dodge/Data/Bullet.hs 38;" C
BulFrag src/Dodge/Data/Bullet.hs 39;" C
BulGas src/Dodge/Data/Bullet.hs 40;" C
BulPlain src/Dodge/Data/Bullet.hs 37;" C
BulBall src/Dodge/Data/Bullet.hs 35;" C
BulFlak src/Dodge/Data/Bullet.hs 37;" C
BulFrag src/Dodge/Data/Bullet.hs 38;" C
BulGas src/Dodge/Data/Bullet.hs 39;" C
BulPlain src/Dodge/Data/Bullet.hs 36;" C
Bullet src/Dodge/Data/Bullet.hs 18;" t
BulletAmmo src/Dodge/Data/AmmoType.hs 7;" C
BulletEffect src/Dodge/Data/Bullet.hs 29;" t
BulletEffect src/Dodge/Data/Bullet.hs 28;" t
BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t
BulletModEffect src/Dodge/Data/Item/BulletMod.hs 12;" C
BulletModPayload src/Dodge/Data/Item/BulletMod.hs 11;" C
BulletParams src/Dodge/Data/Item/Use.hs 52;" C
BulletPayload src/Dodge/Data/Bullet.hs 35;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 43;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 50;" t
BulletPayload src/Dodge/Data/Bullet.hs 34;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 42;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 49;" t
BurstTrigger src/Dodge/Data/TriggerType.hs 12;" C
Button src/Dodge/Data/Button.hs 30;" t
ButtonAccessTerminal src/Dodge/Data/Button.hs 28;" C
@@ -340,7 +340,7 @@ DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
DefaultTerminal src/Dodge/Data/Terminal.hs 55;" C
DestroyBeing src/Dodge/Data/Scenario.hs 8;" C
DestroyBullet src/Dodge/Data/Bullet.hs 30;" C
DestroyBullet src/Dodge/Data/Bullet.hs 29;" C
DestroyItem src/Dodge/Data/Scenario.hs 7;" C
Detector src/Dodge/Data/Item/Combine.hs 183;" t
Dirt src/Dodge/Data/Material.hs 11;" C
@@ -461,8 +461,8 @@ FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C
Flashing src/Dodge/Data/Damage.hs 27;" C
FlatFaces src/Shape/Data.hs 17;" C
FlatShieldParams src/Dodge/Data/Item/Params.hs 16;" C
FlechetteTrajectory src/Dodge/Data/Bullet.hs 46;" C
FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 53;" C
FlechetteTrajectory src/Dodge/Data/Bullet.hs 45;" C
FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 52;" C
Flee src/Dodge/Data/ActionPlan.hs 191;" C
Flesh src/Dodge/Data/Material.hs 11;" C
FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 16;" C
@@ -749,8 +749,8 @@ MagnetAttract src/Dodge/Data/Magnet.hs 19;" C
MagnetBuBu src/Dodge/Data/Magnet.hs 16;" t
MagnetDeflect src/Dodge/Data/Magnet.hs 18;" C
MagnetRepulse src/Dodge/Data/Magnet.hs 20;" C
MagnetTrajectory src/Dodge/Data/Bullet.hs 47;" C
MagnetTrajectoryType src/Dodge/Data/Bullet.hs 54;" C
MagnetTrajectory src/Dodge/Data/Bullet.hs 46;" C
MagnetTrajectoryType src/Dodge/Data/Bullet.hs 53;" C
MagnetUpdate src/Dodge/Data/Magnet.hs 13;" t
MagnetUpdateTimer src/Dodge/Data/Magnet.hs 13;" C
MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C
@@ -1004,7 +1004,7 @@ Pathing src/Dodge/Data/Config.hs 76;" C
Patrol src/Dodge/Data/ActionPlan.hs 180;" C
PausedTimeFlow src/Dodge/Data/World.hs 77;" C
Payload src/Dodge/Data/Payload.hs 11;" t
PenetrateBullet src/Dodge/Data/Bullet.hs 32;" C
PenetrateBullet src/Dodge/Data/Bullet.hs 31;" C
Perception src/Dodge/Data/Creature/Perception.hs 32;" t
PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C
PhysicalSensor src/Dodge/Data/Machine/Sensor/Type.hs 14;" C
@@ -1629,7 +1629,7 @@ _btOn src/Dodge/Data/Button.hs 26;" f
_btPos src/Dodge/Data/Button.hs 31;" f
_btRot src/Dodge/Data/Button.hs 32;" f
_btTermMID src/Dodge/Data/Button.hs 35;" f
_buDam src/Dodge/Data/Bullet.hs 37;" f
_buDam src/Dodge/Data/Bullet.hs 36;" f
_buDrag src/Dodge/Data/Bullet.hs 22;" f
_buEffect src/Dodge/Data/Bullet.hs 19;" f
_buOldPos src/Dodge/Data/Bullet.hs 24;" f
@@ -1861,7 +1861,6 @@ _eboName src/Shader/Data.hs 89;" f
_eboPtr src/Shader/Data.hs 90;" f
_emoMenuOption src/Dodge/Data/Universe.hs 77;" f
_energyBalls src/Dodge/Data/LWorld.hs 111;" f
_fbRot src/Dodge/Data/EnergyBall/Type.hs 14;" f
_fbSize src/Dodge/Data/EnergyBall/Type.hs 14;" f
_fbo2 src/Data/Preload/Render.hs 29;" f
_fbo3 src/Data/Preload/Render.hs 30;" f
@@ -2393,7 +2392,7 @@ _soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f
_spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f
_spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f
_sparks src/Dodge/Data/LWorld.hs 113;" f
_spawnEBT src/Dodge/Data/Bullet.hs 36;" f
_spawnEBT src/Dodge/Data/Bullet.hs 35;" f
_ssIndent src/Dodge/Data/SelectionList.hs 34;" f
_ssItems src/Dodge/Data/SelectionList.hs 30;" f
_ssOffset src/Dodge/Data/SelectionList.hs 31;" f
@@ -2786,7 +2785,7 @@ bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 530;" f
bindFBO src/Render.hs 244;" f
bindFBO src/Render.hs 245;" f
bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f
blank src/Picture/Base.hs 59;" f
@@ -3257,7 +3256,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/Block.hs 100;" f
destroyMounts src/Dodge/Block.hs 97;" f
destroyProjectile src/Dodge/Projectile/Update.hs 162;" f
destroyProjectile src/Dodge/Projectile/Update.hs 161;" f
detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 465;" f
@@ -3295,7 +3294,7 @@ doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 140;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 223;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 213;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 215;" f
doBlBl src/Dodge/BlBl.hs 5;" f
doBlSh src/Dodge/Block/Draw.hs 14;" f
doBounce src/Dodge/Base/Collide.hs 66;" f
@@ -3322,8 +3321,8 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 48;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 56;" f
doDrWdWd src/Dodge/DrWdWd.hs 16;" f
doDrag src/Dodge/Update/Input/InGame.hs 107;" f
doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f
doDrawing src/Dodge/Render.hs 34;" f
doDrawing' src/Dodge/Render.hs 45;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1212;" f
doGravityPU src/Dodge/Projectile/Update.hs 37;" f
@@ -3359,10 +3358,10 @@ doSideEffects appDodge/Main.hs 120;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 166;" f
doTerminalBootProgram src/Dodge/WorldEffect.hs 94;" f
doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f
doTestDrawing src/Dodge/Render.hs 41;" 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 184;" f
doThrust src/Dodge/Projectile/Update.hs 183;" f
doTimeScroll src/Dodge/Update.hs 208;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 99;" f
@@ -3538,11 +3537,11 @@ dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
dustColor src/Shader/Poke/Cloud.hs 71;" f
dustSpringVel src/Dodge/Update.hs 880;" f
ebColor src/Dodge/EnergyBall.hs 81;" f
ebDamage src/Dodge/EnergyBall.hs 89;" f
ebEffect src/Dodge/EnergyBall.hs 49;" f
ebFlicker src/Dodge/EnergyBall.hs 74;" f
ebtToDamage src/Dodge/EnergyBall.hs 97;" f
ebColor src/Dodge/EnergyBall.hs 78;" f
ebDamage src/Dodge/EnergyBall.hs 86;" f
ebEffect src/Dodge/EnergyBall.hs 46;" f
ebFlicker src/Dodge/EnergyBall.hs 71;" f
ebtToDamage src/Dodge/EnergyBall.hs 94;" f
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 436;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f
@@ -3591,7 +3590,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 184;" f
explodeShell src/Dodge/Projectile/Update.hs 283;" f
explodeShell src/Dodge/Projectile/Update.hs 285;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
@@ -3727,7 +3726,7 @@ getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 424;" f
getDistortions src/Dodge/Render.hs 435;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1324;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
@@ -4209,7 +4208,7 @@ makeFragBullets src/Dodge/Bullet.hs 128;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 64;" f
makeMovingEB src/Dodge/EnergyBall.hs 61;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 664;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
@@ -4339,10 +4338,10 @@ moveCombineSel src/Dodge/Update/Scroll.hs 114;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
movePenBullet src/Dodge/Bullet.hs 199;" f
moveProjectile src/Dodge/Projectile/Update.hs 261;" f
moveProjectile src/Dodge/Projectile/Update.hs 263;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 247;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 249;" f
moveToSideFirstOutLink src/Dodge/Room/Warning.hs 55;" f
moveWall src/Dodge/Wall/Move.hs 29;" f
moveWallID src/Dodge/Wall/Move.hs 24;" f
@@ -4501,12 +4500,12 @@ pincerP src/Dodge/Creature/Boid.hs 61;" f
pincerP' src/Dodge/Creature/Boid.hs 94;" f
pincerP'' src/Dodge/Creature/Boid.hs 104;" f
pincerP''' src/Dodge/Creature/Boid.hs 75;" f
pingPongBetween src/Render.hs 220;" f
pingPongBetween src/Render.hs 221;" f
pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f
pistolerRoom src/Dodge/Room/Room.hs 321;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 226;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 228;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
@@ -4794,7 +4793,7 @@ renderDataResizeUpdate src/Preload/Update.hs 26;" f
renderFlatLighting src/Render.hs 104;" f
renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
renderLayer src/Render.hs 233;" f
renderLayer src/Render.hs 234;" f
renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 192;" f
renderShadows src/Render.hs 117;" f
@@ -5007,7 +5006,7 @@ setTiles src/Dodge/Layout.hs 65;" f
setToggle src/Dodge/Prop/Update.hs 44;" f
setViewDistance src/Dodge/Update/Camera.hs 229;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 429;" f
setViewport src/Dodge/Render.hs 440;" f
setVol src/Dodge/Config/Update.hs 30;" f
setWristShieldPos src/Dodge/Equipment.hs 49;" f
setWristShieldPos src/Dodge/Euse.hs 35;" f
@@ -5037,10 +5036,10 @@ shapeVerxSize src/Shape/Parameters.hs 10;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 324;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 55;" f
shellHitCreature src/Dodge/Projectile/Update.hs 87;" f
shellHitFloor src/Dodge/Projectile/Update.hs 102;" f
shellHitWall src/Dodge/Projectile/Update.hs 66;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 57;" f
shellHitCreature src/Dodge/Projectile/Update.hs 85;" f
shellHitFloor src/Dodge/Projectile/Update.hs 101;" f
shellHitWall src/Dodge/Projectile/Update.hs 68;" f
shellMag src/Dodge/Item/Ammo.hs 49;" f
shellModule src/Dodge/Item/Scope.hs 123;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f
@@ -5093,9 +5092,9 @@ showEquipItem src/Dodge/Item/Display.hs 107;" f
showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f
showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 65;" f
showManObj src/Dodge/TestString.hs 67;" f
showTerminalError src/Dodge/Debug/Terminal.hs 78;" f
showTimeFlow src/Dodge/TestString.hs 88;" f
showTimeFlow src/Dodge/TestString.hs 90;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 142;" f
shrinkVert src/Geometry/Polygon.hs 146;" f
shuffle src/RandomHelp.hs 49;" f
@@ -5361,7 +5360,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f
topInvW src/Dodge/ListDisplayParams.hs 51;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 61;" f
topTestPart src/Dodge/TestString.hs 63;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 290;" f
torqueAmount src/Dodge/HeldUse.hs 597;" f
@@ -5438,9 +5437,9 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 91;" f
trySpin src/Dodge/Projectile/Update.hs 172;" f
trySpin src/Dodge/Projectile/Update.hs 171;" f
trySynthBullet src/Dodge/Creature/State.hs 249;" f
tryThrust src/Dodge/Projectile/Update.hs 178;" f
tryThrust src/Dodge/Projectile/Update.hs 177;" f
tryUseParent src/Dodge/Creature/State.hs 227;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
@@ -5505,7 +5504,7 @@ updateDistortions src/Dodge/Update.hs 587;" f
updateDoor src/Dodge/Update.hs 326;" f
updateDust src/Dodge/Update.hs 850;" f
updateDusts src/Dodge/Update.hs 701;" f
updateEnergyBall src/Dodge/EnergyBall.hs 35;" f
updateEnergyBall src/Dodge/EnergyBall.hs 32;" f
updateEnergyBalls src/Dodge/Update.hs 689;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f
updateExpBarrel src/Dodge/Barreloid.hs 20;" f