Refactor damages in circles

This commit is contained in:
2025-06-20 21:52:42 +01:00
parent edcd947c90
commit b2d64ce698
6 changed files with 56 additions and 56 deletions
+13
View File
@@ -1,12 +1,15 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Damage ( module Dodge.Damage (
damageInCircle,
damageCrWl, damageCrWl,
damageDirection, damageDirection,
damageCrWlID, damageCrWlID,
maxDamageType, maxDamageType,
) where ) where
import Dodge.WorldEvent.ThingsHit
import Geometry.Data
import Dodge.Data.Damage.Type import Dodge.Data.Damage.Type
import Geometry.Vector import Geometry.Vector
import ListHelp import ListHelp
@@ -53,3 +56,13 @@ collectDamageTypes = foldl' (flip f) M.empty
maxDamageType :: [Damage] -> Maybe (DamageType, Int) maxDamageType :: [Damage] -> Maybe (DamageType, Int)
maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes
damageInCircle :: (Point2 -> [Damage]) -> Point2 -> Float -> World -> World
damageInCircle f p r w = w
& cWorld . lWorld . wallDamages %~ dowldams
& cWorld . lWorld . creatures %~ docrdams
where
dowldams wds = foldl' g wds (wlsHitRadial p r w)
docrdams crs = foldl' h crs (crsHitRadial p r w)
g wds (x,wl) = wds & at (_wlID wl) . non mempty <>~ f x
h crs (x,cr) = crs & ix (_crID cr) . crDamage <>~ f x
+4 -20
View File
@@ -7,14 +7,12 @@ module Dodge.EnergyBall (
makeMovingEB, makeMovingEB,
) where ) where
import qualified Data.IntMap.Strict as IM import Dodge.Damage
import Data.List (foldl')
import Data.Maybe import Data.Maybe
import Dodge.Base.Collide import Dodge.Base.Collide
import Dodge.Data.World import Dodge.Data.World
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.Spark import Dodge.Spark
import Dodge.WorldEvent.ThingsHit
import Geometry import Geometry
import LensHelp import LensHelp
import Picture import Picture
@@ -38,7 +36,7 @@ updateEnergyBall :: World -> EnergyBall -> (World, Maybe EnergyBall)
updateEnergyBall w eb updateEnergyBall w eb
| _ebTimer eb <= 0 = (w, Nothing) | _ebTimer eb <= 0 = (w, Nothing)
| otherwise = | otherwise =
( ebEffect eb . ebFlicker eb $ damageCircle (_ebPos eb) (_ebEff eb) w ( ebEffect eb . ebFlicker eb $ ebDamage (_ebPos eb) (_ebEff eb) w
, Just $ eb & ebTimer -~ 1 & ebPos .~ bp & ebVel .~ drag * bv , Just $ eb & ebTimer -~ 1 & ebPos .~ bp & ebVel .~ drag * bv
) )
where where
@@ -101,18 +99,10 @@ ebColor eb = case eb ^. ebEff of
ExplosiveBall -> white ExplosiveBall -> white
FlashBall -> white FlashBall -> white
damageCircle :: Point2 -> EnergyBallType -> World -> World ebDamage :: Point2 -> EnergyBallType -> World -> World
damageCircle sp dt w = ebDamage sp dt w = damageInCircle (return . (const $ ebtToDamage sp dt)) sp r w
w
& cWorld . lWorld . wallDamages %~ addwalldamages
& cWorld . lWorld . creatures %~ addcreaturedamages
where where
addwalldamages wlds = foldl' (damageWlCircle dam) wlds wlstodam
addcreaturedamages crs = foldl' (damageCrCircle dam) crs crstodam
wlstodam = wlsHitRadial sp r w
crstodam = crsHitRadial sp r w
r = fromMaybe 5 $ dt ^? fbSize r = fromMaybe 5 $ dt ^? fbSize
dam = ebtToDamage sp dt
ebtToDamage :: Point2 -> EnergyBallType -> Damage ebtToDamage :: Point2 -> EnergyBallType -> Damage
ebtToDamage p = \case ebtToDamage p = \case
@@ -121,9 +111,3 @@ ebtToDamage p = \case
ElectricalBall{} -> Electrical 10 ElectricalBall{} -> Electrical 10
ExplosiveBall -> Explosive 10 p ExplosiveBall -> Explosive 10 p
FlashBall -> Flashing 10 p FlashBall -> Flashing 10 p
damageWlCircle :: Damage -> IM.IntMap [Damage] -> (Point2, Wall) -> IM.IntMap [Damage]
damageWlCircle dam wls (_, wl) = wls & at (_wlID wl) . non mempty .:~ dam
damageCrCircle :: Damage -> IM.IntMap Creature -> (Point2, Creature) -> IM.IntMap Creature
damageCrCircle dam crs (_, cr) = crs & ix (_crID cr) . crDamage .:~ dam
+4 -1
View File
@@ -3,6 +3,7 @@ module Dodge.Prop.Moving (
fallSmallBounce, fallSmallBounce,
) where ) where
import Dodge.Damage
import Dodge.Creature.Radius import Dodge.Creature.Radius
import Dodge.Base import Dodge.Base
import Dodge.Data.World import Dodge.Data.World
@@ -18,8 +19,10 @@ fallSmallBounceDamage pr w =
p = _prPos pr p = _prPos pr
v = _prVel pr v = _prVel pr
dodamage dodamage
| _prPosZ pr < 25 = cWorld . lWorld . creatures %~ fmap dodamage' | _prPosZ pr < 25 = damageInCircle (return . const thedam) p 5
-- cWorld . lWorld . creatures . each %~ dodamage'
| otherwise = id | otherwise = id
thedam = Crushing (floor . (* 10) . max 0 . subtract 5 . abs $ _prVelZ pr)
dodamage' cr dodamage' cr
| dist (_crPos cr) p < crRad (cr ^. crType) + 5 = | dist (_crPos cr) p < crRad (cr ^. crType) + 5 =
cr & crDamage cr & crDamage
+3 -5
View File
@@ -1,17 +1,15 @@
module Dodge.Update.Cloud where module Dodge.Update.Cloud (cloudPoisonDamage) where
import Dodge.Creature.Radius
import Data.Foldable import Data.Foldable
import Dodge.Creature.Radius
import Dodge.Data.World import Dodge.Data.World
import Dodge.Zoning.Creature import Dodge.Zoning.Creature
import Geometry.Vector3D import Geometry.Vector3D
import LensHelp import LensHelp
cloudPoisonDamage :: Cloud -> World -> World cloudPoisonDamage :: Cloud -> World -> World
cloudPoisonDamage c w = w & dodamagesto (filter f $ crsNearPoint clpos w) cloudPoisonDamage c w = foldl' (flip doDam) w (filter f $ crsNearPoint clpos w)
where where
dodamagesto :: [Creature] -> World -> World
dodamagesto scrs mcrs = foldl' (flip doDam) mcrs scrs
doDam cr = doDam cr =
cWorld . lWorld . creatures . ix (_crID cr) . crDamage .:~ Poison 1 cWorld . lWorld . creatures . ix (_crID cr) . crDamage .:~ Poison 1
f cr = dist3 (addZ 20 $ _crPos cr) (_clPos c) < crRad (cr ^. crType) + _clRad c + 10 f cr = dist3 (addZ 20 $ _crPos cr) (_clPos c) < crRad (cr ^. crType) + _clRad c + 10
+5 -2
View File
@@ -1,9 +1,9 @@
module Dodge.Zoning.Creature where module Dodge.Zoning.Creature where
import Dodge.Creature.Radius
import Control.Lens import Control.Lens
import qualified Data.IntSet as IS import qualified Data.IntSet as IS
import Data.Maybe import Data.Maybe
import Dodge.Creature.Radius
import Dodge.Data.World import Dodge.Data.World
import Dodge.Zoning.Base import Dodge.Zoning.Base
import Dodge.Zoning.Common import Dodge.Zoning.Common
@@ -16,7 +16,10 @@ crIXsNearPoint :: Point2 -> World -> IS.IntSet
crIXsNearPoint = nearPoint crZoneSize _crZoning crIXsNearPoint = nearPoint crZoneSize _crZoning
crsNearPoint :: Point2 -> World -> [Creature] crsNearPoint :: Point2 -> World -> [Creature]
crsNearPoint p w = mapMaybe (\cid -> w ^? cWorld . lWorld . creatures . ix cid) . IS.toList $ crIXsNearPoint p w crsNearPoint p w =
mapMaybe (\cid -> w ^? cWorld . lWorld . creatures . ix cid)
. IS.toList
$ crIXsNearPoint p w
crsNearSeg :: Point2 -> Point2 -> World -> [Creature] crsNearSeg :: Point2 -> Point2 -> World -> [Creature]
crsNearSeg sp ep w = crsNearSeg sp ep w =
+27 -28
View File
@@ -12,7 +12,6 @@
.++~ src/LensHelp.hs 33;" o .++~ src/LensHelp.hs 33;" o
.+.+~ src/LensHelp.hs 23;" o .+.+~ src/LensHelp.hs 23;" o
.:~ src/LensHelp.hs 14;" o .:~ src/LensHelp.hs 14;" o
:!: src/FoldlHelp.hs 10;" C
<$> src/Dodge/Data/ActionPlan.hs 203;" o <$> src/Dodge/Data/ActionPlan.hs 203;" o
<$> src/Dodge/Data/CWorld.hs 45;" o <$> src/Dodge/Data/CWorld.hs 45;" o
<$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Camera.hs 39;" o
@@ -145,7 +144,7 @@ BarrelCrit src/Dodge/Data/Creature/Misc.hs 73;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 32;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 32;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 83;" C Barreloid src/Dodge/Data/Creature/Misc.hs 83;" C
Barreloid src/Dodge/Barreloid.hs 1;" m Barreloid src/Dodge/Barreloid.hs 3;" m
Base src/Dodge/Base.hs 8;" m Base src/Dodge/Base.hs 8;" m
Base src/Dodge/Zoning/Base.hs 2;" m Base src/Dodge/Zoning/Base.hs 2;" m
Base src/Picture/Base.hs 4;" m Base src/Picture/Base.hs 4;" m
@@ -1424,7 +1423,6 @@ PSRoomRand src/Dodge/Data/GenWorld.hs 69;" C
PSType src/Dodge/Data/GenWorld.hs 30;" t PSType src/Dodge/Data/GenWorld.hs 30;" t
PUMP src/Dodge/Data/Item/Combine.hs 62;" C PUMP src/Dodge/Data/Item/Combine.hs 62;" C
Padding src/Padding.hs 2;" m Padding src/Padding.hs 2;" m
Pair src/FoldlHelp.hs 10;" t
PaletteColor src/Color/Data.hs 14;" t PaletteColor src/Color/Data.hs 14;" t
Parameters src/Shader/Parameters.hs 1;" m Parameters src/Shader/Parameters.hs 1;" m
Parameters src/Shape/Parameters.hs 1;" m Parameters src/Shape/Parameters.hs 1;" m
@@ -3659,7 +3657,7 @@ clusterFunc src/Dodge/Combine/Graph.hs 119;" f
cogRaised src/Dodge/Creature/Perception.hs 102;" f cogRaised src/Dodge/Creature/Perception.hs 102;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f
collectDamageTypes src/Dodge/Damage.hs 49;" f collectDamageTypes src/Dodge/Damage.hs 51;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f
collideCircWalls src/Dodge/Base/Collide.hs 159;" f collideCircWalls src/Dodge/Base/Collide.hs 159;" f
collidePoint src/Dodge/Base/Collide.hs 50;" f collidePoint src/Dodge/Base/Collide.hs 50;" f
@@ -3728,7 +3726,7 @@ crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 52;" f
crHasTarget src/Dodge/Creature/Test.hs 63;" f crHasTarget src/Dodge/Creature/Test.hs 63;" f
crHasTargetLOS src/Dodge/Creature/Test.hs 66;" f crHasTargetLOS src/Dodge/Creature/Test.hs 66;" f
crHit src/Dodge/WorldEvent/ThingsHit.hs 68;" f crHit src/Dodge/WorldEvent/ThingsHit.hs 68;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f crIXsNearCirc src/Dodge/Zoning/Creature.hs 35;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f
crInAimStance src/Dodge/Creature/Test.hs 92;" f crInAimStance src/Dodge/Creature/Test.hs 92;" f
crIntelligence src/Dodge/Creature/Statistics.hs 34;" f crIntelligence src/Dodge/Creature/Statistics.hs 34;" f
@@ -3756,7 +3754,7 @@ crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f
crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f
crZoneSize src/Dodge/Zoning/Creature.hs 41;" f crZoneSize src/Dodge/Zoning/Creature.hs 44;" f
craftInfo src/Dodge/Item/Info.hs 168;" f craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 451;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 451;" f
@@ -3781,17 +3779,17 @@ creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
critInDeadEnd src/Dodge/Room/Room.hs 232;" f critInDeadEnd src/Dodge/Room/Room.hs 232;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 27;" f crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 27;" f crossPic src/Dodge/Render/Label.hs 27;" f
crossProd src/Geometry/Vector3D.hs 41;" f crossProd src/Geometry/Vector3D.hs 41;" f
crossV src/Geometry/Vector.hs 178;" f crossV src/Geometry/Vector.hs 178;" f
crsHit src/Dodge/WorldEvent/ThingsHit.hs 42;" f crsHit src/Dodge/WorldEvent/ThingsHit.hs 42;" f
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 103;" f crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 103;" f
crsItmsUnused src/Dodge/Room/Containing.hs 45;" f crsItmsUnused src/Dodge/Room/Containing.hs 45;" f
crsNearCirc src/Dodge/Zoning/Creature.hs 35;" f crsNearCirc src/Dodge/Zoning/Creature.hs 38;" f
crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
crsNearRect src/Dodge/Zoning/Creature.hs 38;" f crsNearRect src/Dodge/Zoning/Creature.hs 41;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 21;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalDebris src/Dodge/Block/Debris.hs 176;" f crystalDebris src/Dodge/Block/Debris.hs 176;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
crystalWallDamage src/Dodge/Wall/DamageEffect.hs 74;" f crystalWallDamage src/Dodge/Wall/DamageEffect.hs 74;" f
@@ -3821,17 +3819,17 @@ cylinderPoly src/Shape.hs 87;" f
cylinderRoundIndices src/Shader/Poke.hs 389;" f cylinderRoundIndices src/Shader/Poke.hs 389;" f
dShadCol src/Dodge/Render/List.hs 215;" f dShadCol src/Dodge/Render/List.hs 215;" f
damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f
damToExpBarrel src/Dodge/Barreloid.hs 44;" f damToExpBarrel src/Dodge/Barreloid.hs 49;" f
damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f
damageCircle src/Dodge/DamageCircle.hs 12;" f damageCircle src/Dodge/DamageCircle.hs 12;" f
damageCircle src/Dodge/EnergyBall.hs 104;" f
damageCodeCommand src/Dodge/Terminal.hs 232;" f damageCodeCommand src/Dodge/Terminal.hs 232;" f
damageCrCircle src/Dodge/DamageCircle.hs 33;" f damageCrCircle src/Dodge/DamageCircle.hs 33;" f
damageCrCircle src/Dodge/EnergyBall.hs 128;" f damageCrCircle src/Dodge/EnergyBall.hs 128;" f
damageCrWl src/Dodge/Damage.hs 26;" f damageCrWl src/Dodge/Damage.hs 28;" f
damageCrWlID src/Dodge/Damage.hs 20;" f damageCrWlID src/Dodge/Damage.hs 22;" f
damageDirection src/Dodge/Damage.hs 31;" f damageDirection src/Dodge/Damage.hs 33;" f
damageHP src/Dodge/Creature/Damage.hs 63;" f damageHP src/Dodge/Creature/Damage.hs 63;" f
damageInCircle src/Dodge/Damage.hs 59;" f
damageMaterial src/Dodge/Material/Damage.hs 7;" f damageMaterial src/Dodge/Material/Damage.hs 7;" f
damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f
damageStone src/Dodge/Material/Damage.hs 20;" f damageStone src/Dodge/Material/Damage.hs 20;" f
@@ -3842,7 +3840,7 @@ damageWallEffect src/Dodge/Wall/DamageEffect.hs 12;" f
damageWlCircle src/Dodge/DamageCircle.hs 26;" f damageWlCircle src/Dodge/DamageCircle.hs 26;" f
damageWlCircle src/Dodge/EnergyBall.hs 125;" f damageWlCircle src/Dodge/EnergyBall.hs 125;" f
dampField src/Dodge/Magnet.hs 8;" f dampField src/Dodge/Magnet.hs 8;" f
damsToExpBarrel src/Dodge/Barreloid.hs 41;" f damsToExpBarrel src/Dodge/Barreloid.hs 46;" f
dark src/Color.hs 108;" f dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f
dbArg src/Dodge/Base.hs 165;" f dbArg src/Dodge/Base.hs 165;" f
@@ -3995,7 +3993,7 @@ divideDoorPane src/Dodge/Placement/Instance/Door.hs 59;" f
divideLine src/Geometry.hs 247;" f divideLine src/Geometry.hs 247;" f
divideLineExact src/Geometry.hs 275;" f divideLineExact src/Geometry.hs 275;" f
divideLineOddNumPoints src/Geometry.hs 260;" f divideLineOddNumPoints src/Geometry.hs 260;" f
dmType src/Dodge/Damage.hs 34;" f dmType src/Dodge/Damage.hs 36;" f
doAfterPlacement src/Dodge/Layout.hs 86;" f doAfterPlacement src/Dodge/Layout.hs 86;" f
doAfterPlacements src/Dodge/Layout.hs 83;" f doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 140;" f doAimTwist src/Dodge/Creature/YourControl.hs 140;" f
@@ -4240,6 +4238,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
ebColor src/Dodge/EnergyBall.hs 96;" f ebColor src/Dodge/EnergyBall.hs 96;" f
ebDamage src/Dodge/EnergyBall.hs 104;" f
ebEffect src/Dodge/EnergyBall.hs 51;" f ebEffect src/Dodge/EnergyBall.hs 51;" f
ebFlicker src/Dodge/EnergyBall.hs 89;" f ebFlicker src/Dodge/EnergyBall.hs 89;" f
ebtToDamage src/Dodge/EnergyBall.hs 117;" f ebtToDamage src/Dodge/EnergyBall.hs 117;" f
@@ -4305,8 +4304,8 @@ extractRoomPos src/Dodge/RoomPos.hs 6;" f
faceEdges src/Polyhedra.hs 65;" f faceEdges src/Polyhedra.hs 65;" f
facesToVF src/Polyhedra/Geodesic.hs 69;" f facesToVF src/Polyhedra/Geodesic.hs 69;" f
fadeTLS src/Dodge/LightSource/Update.hs 14;" f fadeTLS src/Dodge/LightSource/Update.hs 14;" f
fallSmallBounce src/Dodge/Prop/Moving.hs 30;" f fallSmallBounce src/Dodge/Prop/Moving.hs 31;" f
fallSmallBounce' src/Dodge/Prop/Moving.hs 35;" f fallSmallBounce' src/Dodge/Prop/Moving.hs 36;" f
fallSmallBounceDamage src/Dodge/Prop/Moving.hs 12;" f fallSmallBounceDamage src/Dodge/Prop/Moving.hs 12;" f
farWallDistDirection src/Dodge/Update/Camera.hs 233;" f farWallDistDirection src/Dodge/Update/Camera.hs 233;" f
fdiv src/ShortShow.hs 26;" f fdiv src/ShortShow.hs 26;" f
@@ -4943,7 +4942,7 @@ makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f
makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f
mapper src/Dodge/Item/Scope.hs 70;" f mapper src/Dodge/Item/Scope.hs 70;" f
maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f
maxDamageType src/Dodge/Damage.hs 54;" f maxDamageType src/Dodge/Damage.hs 56;" f
maxInvSlots src/Dodge/Inventory/CheckSlots.hs 27;" f maxInvSlots src/Dodge/Inventory/CheckSlots.hs 27;" f
maxShowX src/Dodge/Combine/Graph.hs 50;" f maxShowX src/Dodge/Combine/Graph.hs 50;" f
maxViewDistance src/Dodge/Viewpoints.hs 26;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f
@@ -5009,7 +5008,7 @@ midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f midPoint src/Geometry.hs 83;" f
midWall src/Dodge/Placement/Instance/Wall.hs 27;" f midWall src/Dodge/Placement/Instance/Wall.hs 27;" f
minAndMax src/FoldableHelp.hs 109;" f minAndMax src/FoldableHelp.hs 109;" f
minCrIXOn src/Dodge/Zoning/Creature.hs 47;" f minCrIXOn src/Dodge/Zoning/Creature.hs 50;" f
minOn src/FoldableHelp.hs 35;" f minOn src/FoldableHelp.hs 35;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 349;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 349;" f
miniGunCrit src/Dodge/Creature.hs 64;" f miniGunCrit src/Dodge/Creature.hs 64;" f
@@ -5018,7 +5017,7 @@ miniGunXPict src/Dodge/Item/Draw/SPic.hs 365;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 359;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 359;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 553;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 553;" f
miniTree2 src/Dodge/Room/Room.hs 106;" f miniTree2 src/Dodge/Room/Room.hs 106;" f
minimumOn src/FoldlHelp.hs 12;" f minimumOn src/FoldlHelp.hs 14;" f
mirrorV3xz src/Dodge/Creature/HandPos.hs 26;" f mirrorV3xz src/Dodge/Creature/HandPos.hs 26;" f
mirrorXAxis src/Geometry/Polygon.hs 49;" f mirrorXAxis src/Geometry/Polygon.hs 49;" f
mirrorxz src/Picture/Base.hs 335;" f mirrorxz src/Picture/Base.hs 335;" f
@@ -5336,7 +5335,7 @@ ppEvents src/Dodge/Update.hs 684;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f preCritStart src/Dodge/Room/Start.hs 82;" f
preloadRender src/Preload/Render.hs 30;" f preloadRender src/Preload/Render.hs 30;" f
premapMaybe src/FoldlHelp.hs 24;" f premapMaybe src/FoldlHelp.hs 26;" f
prependTwo src/Geometry.hs 176;" f prependTwo src/Geometry.hs 176;" f
prettyDT src/Dodge/DoubleTree.hs 179;" f prettyDT src/Dodge/DoubleTree.hs 179;" f
prettyLDT src/Dodge/DoubleTree.hs 183;" f prettyLDT src/Dodge/DoubleTree.hs 183;" f
@@ -6183,8 +6182,8 @@ updateArc src/Dodge/Tesla.hs 44;" f
updateArc src/Dodge/Tesla/Arc.hs 100;" f updateArc src/Dodge/Tesla/Arc.hs 100;" f
updateAttachedItems src/Dodge/Creature/State.hs 251;" f updateAttachedItems src/Dodge/Creature/State.hs 251;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 453;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 453;" f
updateBarrel src/Dodge/Barreloid.hs 36;" f updateBarrel src/Dodge/Barreloid.hs 41;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBarreloid src/Dodge/Barreloid.hs 15;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 29;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 29;" f
updateBounds src/Dodge/Update/Camera.hs 250;" f updateBounds src/Dodge/Update/Camera.hs 250;" f
updateBulVel src/Dodge/Bullet.hs 55;" f updateBulVel src/Dodge/Bullet.hs 55;" f
@@ -6207,7 +6206,7 @@ updateDistortions src/Dodge/Update.hs 532;" f
updateEnergyBall src/Dodge/EnergyBall.hs 37;" f updateEnergyBall src/Dodge/EnergyBall.hs 37;" f
updateEnergyBalls src/Dodge/Update.hs 597;" f updateEnergyBalls src/Dodge/Update.hs 597;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f
updateExpBarrel src/Dodge/Barreloid.hs 18;" f updateExpBarrel src/Dodge/Barreloid.hs 20;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f
updateFlame src/Dodge/Flame.hs 19;" f updateFlame src/Dodge/Flame.hs 19;" f
@@ -6458,13 +6457,13 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f
zipCountDown src/Dodge/Room/Procedural.hs 118;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 440;" f zoneClouds src/Dodge/Update.hs 440;" f
zoneCreature src/Dodge/Zoning/Creature.hs 54;" f zoneCreature src/Dodge/Zoning/Creature.hs 57;" f
zoneCreatures src/Dodge/Update.hs 482;" f zoneCreatures src/Dodge/Update.hs 482;" f
zoneExtract src/Dodge/Zoning/Base.hs 52;" f zoneExtract src/Dodge/Zoning/Base.hs 52;" f
zoneMonoid src/Dodge/Zoning/Base.hs 83;" f zoneMonoid src/Dodge/Zoning/Base.hs 83;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 24;" f zoneOfCirc src/Dodge/Zoning/Base.hs 24;" f
zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f
zoneOfCr src/Dodge/Zoning/Creature.hs 44;" f zoneOfCr src/Dodge/Zoning/Creature.hs 47;" f
zoneOfPe src/Dodge/Zoning/Pathing.hs 49;" f zoneOfPe src/Dodge/Zoning/Pathing.hs 49;" f
zoneOfPn src/Dodge/Zoning/Pathing.hs 27;" f zoneOfPn src/Dodge/Zoning/Pathing.hs 27;" f
zoneOfPoint src/Dodge/Zoning/Base.hs 44;" f zoneOfPoint src/Dodge/Zoning/Base.hs 44;" f