Track slime amount using ints

This commit is contained in:
2026-05-06 15:40:31 +01:00
parent e927de6508
commit b76148ae2a
12 changed files with 203 additions and 147 deletions
+1 -1
View File
@@ -193,7 +193,7 @@ crHeight cr = case cr ^. crHP of
Avatar {} -> 25 Avatar {} -> 25
CrabCrit {} -> 25 CrabCrit {} -> 25
SlinkCrit {} -> 25 SlinkCrit {} -> 25
SlimeCrit {_slimeRad = r} -> min 15 r SlimeCrit {_slimeSlime = r} -> min 15 $ slimeToRad r
BeeCrit {} -> 10 BeeCrit {} -> 10
HiveCrit {} -> 25 HiveCrit {} -> 25
BarrelCrit{} -> 20 BarrelCrit{} -> 20
+4 -4
View File
@@ -69,13 +69,13 @@ slimeCrit :: Creature
slimeCrit = defaultCreature slimeCrit = defaultCreature
& crName .~ "slimeCrit" & crName .~ "slimeCrit"
& crHP .~ HP 1000 & crHP .~ HP 1000
& crType .~ SlimeCrit r 0 0 (V2 r 0) False 0 & crType .~ SlimeCrit r 0 0 (V2 (slimeToRad r) 0) False 0
& crFaction .~ ColorFaction (light green) & crFaction .~ ColorFaction (light green)
& crPerception . cpVision . viFOV .~ FloatFOV pi & crPerception . cpVision . viFOV .~ FloatFOV pi
& crActionPlan .~ SlimeIntelligence & crActionPlan .~ SlimeIntelligence
& crStance . carriage .~ Crawling & crStance . carriage .~ Crawling
where where
r = 50 r = 250000
hoverCrit :: Creature hoverCrit :: Creature
hoverCrit = hoverCrit =
@@ -91,7 +91,7 @@ beeCrit =
defaultCreature defaultCreature
& crName .~ "beeCrit" & crName .~ "beeCrit"
& crHP .~ HP 100 & crHP .~ HP 100
& crType .~ BeeCrit 0 Nothing 0 0 0 Nothing & crType .~ BeeCrit 0 Nothing 0 0 0 Nothing 1
& crFaction .~ ColorFaction yellow & crFaction .~ ColorFaction yellow
& crStance . carriage .~ Flying 15 & crStance . carriage .~ Flying 15
@@ -100,6 +100,6 @@ hiveCrit =
defaultCreature defaultCreature
& crName .~ "hiveCrit" & crName .~ "hiveCrit"
& crHP .~ HP 100000 & crHP .~ HP 100000
& crType .~ HiveCrit mempty 0 & crType .~ HiveCrit mempty 0 400
& crStance . carriage .~ Rooted & crStance . carriage .~ Rooted
& crFaction .~ ColorFaction yellow & crFaction .~ ColorFaction yellow
+2 -2
View File
@@ -13,6 +13,6 @@ crMass = \case
BarrelCrit{} -> 10 BarrelCrit{} -> 10
SlinkCrit{} -> 100 SlinkCrit{} -> 100
LampCrit {} -> 3 LampCrit {} -> 3
SlimeCrit {_slimeRad = r} -> r * r / 10 SlimeCrit {_slimeSlime = r} -> fromIntegral r / 1000
BeeCrit {_beeSlime = x} -> 3 + x BeeCrit {_beeSlime = x} -> 3 + fromIntegral x / 100
HiveCrit {} -> 100 HiveCrit {} -> 100
+2 -2
View File
@@ -64,7 +64,7 @@ drawSlimeCrit cr = colorSH green
& each %~ rotateV (-cr ^. crDir) & each %~ rotateV (-cr ^. crDir)
& each %~ (((r-cr^?!crType.slimeRadWobble)/r) *^) & each %~ (((r-cr^?!crType.slimeRadWobble)/r) *^)
where where
r = cr ^?! crType . slimeRad r = cr ^?! crType . slimeSlime . to slimeToRad
p = cr ^?! crType . slimeCompression p = cr ^?! crType . slimeCompression
d = normalize p d = normalize p
s = norm p / r s = norm p / r
@@ -131,7 +131,7 @@ drawBeeCrit cr = colorSH col
col | cr ^?! crType . beeAggro > 0 = red col | cr ^?! crType . beeAggro > 0 = red
| otherwise = yellow | otherwise = yellow
f | Mounted {} <- cr ^. crStance . carriage f | Mounted {} <- cr ^. crStance . carriage
= each . sfVs . each . _xy %~ scaleAlong (V2 0 1) (1 + g ( modTo 1 (cr ^?! crType . beeSlime))) = each . sfVs . each . _xy %~ scaleAlong (V2 0 1) (1 + g ( modTo 1 (cr ^?! crType . beeSlime . to ((/100) . fromIntegral))))
| otherwise = id | otherwise = id
g x | x > 0.5 = 1 - x g x | x > 0.5 = 1 - x
| otherwise = x | otherwise = x
+2 -2
View File
@@ -11,11 +11,11 @@ crRad = \case
ChaseCrit {} -> 10 ChaseCrit {} -> 10
CrabCrit {} -> 10 CrabCrit {} -> 10
HoverCrit {} -> 8 HoverCrit {} -> 8
BeeCrit {_beeSlime = x} -> sqrt $ 2^(2::Int) + x BeeCrit {_beeSlime = x} -> sqrt $ 4 + (fromIntegral x / 100)
SwarmCrit -> 2 SwarmCrit -> 2
AutoCrit -> 10 AutoCrit -> 10
BarrelCrit{} -> 10 BarrelCrit{} -> 10
LampCrit {} -> 3 LampCrit {} -> 3
SlinkCrit {} -> 10 SlinkCrit {} -> 10
HiveCrit {} -> 20 HiveCrit {} -> 20
SlimeCrit {_slimeRad = r,_slimeRadWobble = x} -> r - x SlimeCrit {_slimeSlime = r,_slimeRadWobble = x} -> slimeToRad r - x
+1 -1
View File
@@ -57,7 +57,7 @@ updateCarriage' cid cr w = \case
mcr <- w ^? cWorld . lWorld . creatures . ix mid mcr <- w ^? cWorld . lWorld . creatures . ix mid
mp <- mcr ^? crPos mp <- mcr ^? crPos
d <- mcr ^? crType . slimeCompression d <- mcr ^? crType . slimeCompression
r <- mcr ^? crType . slimeRad r <- mcr ^? crType . slimeSlime . to slimeToRad
return $ w & tocr . crPos .~ mp + (p & _xy %~ compressionScale ((1/r) *^ d)) return $ w & tocr . crPos .~ mp + (p & _xy %~ compressionScale ((1/r) *^ d))
where where
tocr = cWorld . lWorld . creatures . ix cid tocr = cWorld . lWorld . creatures . ix cid
+44 -19
View File
@@ -84,16 +84,20 @@ updateHiveCrit cr cid w
| Just x <- cr ^? crType . hiveChildren . to IS.size | Just x <- cr ^? crType . hiveChildren . to IS.size
, x < nbees , x < nbees
, Just y <- cr ^? crType . hiveGestation , Just y <- cr ^? crType . hiveGestation
, y == 0 = w , y == 0
, Just z <- cr ^? crType . hiveSlime
, z >= 400
= w
& tocr . crType . hiveChildren %~ IS.insert nid & tocr . crType . hiveChildren %~ IS.insert nid
& tocr . crType . hiveGestation .~ 50 & tocr . crType . hiveGestation .~ 50
& cWorld . lWorld . creatures . at nid ?~ ncr & cWorld . lWorld . creatures . at nid ?~ ncr
& tocr . crType . hiveSlime -~ 400
| Just x <- cr ^? crType . hiveChildren . to IS.size | Just x <- cr ^? crType . hiveChildren . to IS.size
, x < nbees = w , x < nbees = w
& tocr . crType . hiveGestation %~ (max 0 . subtract 1) & tocr . crType . hiveGestation %~ (max 0 . subtract 1)
| otherwise = w | otherwise = w
where where
nbees = 25 nbees = 15
tocr = cWorld . lWorld . creatures . ix cid tocr = cWorld . lWorld . creatures . ix cid
nid = IM.newKey $ w ^. cWorld . lWorld . creatures nid = IM.newKey $ w ^. cWorld . lWorld . creatures
ncr = beeCrit & crPos .~ (cr ^. crPos + (0 & _xy +~ 25)) ncr = beeCrit & crPos .~ (cr ^. crPos + (0 & _xy +~ 25))
@@ -108,9 +112,18 @@ updateBeeFromPheremones cr cid w
f bp = distance (cr ^. crPos . _xy) (bp ^. bpPos . _xy) < 20 f bp = distance (cr ^. crPos . _xy) (bp ^. bpPos . _xy) < 20
updateBeeCrit :: Creature -> Int -> World -> World updateBeeCrit :: Creature -> Int -> World -> World
updateBeeCrit cr updateBeeCrit cr cid
| cr ^?! crType . beeAggro > 0 = updateAggroBee cr | cr ^?! crType . beeAggro > 0 = updateAggroBee cr cid
| otherwise = updateCalmBee cr | otherwise = beeLifespanCheck cr cid . updateCalmBee cr cid
beeLifespanCheck :: Creature -> Int -> World -> World
beeLifespanCheck cr cid
| Just ls <- cr ^? crType . beeLifespan
, Just x <- cr ^? crType . beeSlime
, ls < 1
, x < 5
= cWorld . lWorld . creatures . ix cid . crHP . _HP -~ 1
| otherwise = id
updateAggroBee :: Creature -> Int -> World -> World updateAggroBee :: Creature -> Int -> World -> World
updateAggroBee cr cid w updateAggroBee cr cid w
@@ -158,15 +171,19 @@ updateCalmBee cr cid w
| Just hcr <- gethive | Just hcr <- gethive
, distance (cr ^. crPos . _xy) (hcr ^. crPos . _xy) < 30 , distance (cr ^. crPos . _xy) (hcr ^. crPos . _xy) < 30
, Just x <- cr ^? crType . beeSlime , Just x <- cr ^? crType . beeSlime
, x >= 0.5 = w & tocr . crType . beeSlime -~ 0.5 , x >= 50 = w
& tocr . crType . beeSlime -~ 50
& cWorld . lWorld . creatures . ix (hcr ^. crID) . crType . hiveSlime +~ 50
| Just x <- cr ^? crType . beeSlime | Just x <- cr ^? crType . beeSlime
, x < 0.5 , x < 50
, Just hcr <- gethive , Just hcr <- gethive
, distance (cr ^. crPos . _xy) (hcr ^. crPos . _xy) < 30 , distance (cr ^. crPos . _xy) (hcr ^. crPos . _xy) < 30
, Just ReturnToHive <- cr ^? crActionPlan . apStrategy = startsearch , Just ReturnToHive <- cr ^? crActionPlan . apStrategy = startsearch
| Just ReturnToHive <- cr ^? crActionPlan . apStrategy = w | Just ReturnToHive <- cr ^? crActionPlan . apStrategy = w
| Just x <- cr ^? crType . beeSlime | Just x <- cr ^? crType . beeSlime
, x >= 15 = starthivereturn , x >= 1500 = starthivereturn
& randGen .~ gsa
& tocr . crType . beeLifespan %~ max 0 . subtract sa
| Just mid <- cr ^? crStance . carriage . mountID | Just mid <- cr ^? crStance . carriage . mountID
, mountshakeoff mid = startsearch , mountshakeoff mid = startsearch
| Nothing <- cr ^? crActionPlan . apStrategy . harvestTarget | Nothing <- cr ^? crActionPlan . apStrategy . harvestTarget
@@ -177,10 +194,11 @@ updateCalmBee cr cid w
| Just tid <- cr ^? crStance . carriage . mountID | Just tid <- cr ^? crStance . carriage . mountID
, Just SlimeCrit{} <- w ^? cWorld . lWorld . creatures . ix tid . crType = w , Just SlimeCrit{} <- w ^? cWorld . lWorld . creatures . ix tid . crType = w
& tocr . crType . beeSlime +~ sspeed & tocr . crType . beeSlime +~ sspeed
& cWorld . lWorld . creatures . ix tid . crType . slimeRad %~ (sqrt . subtract sspeed . (^(2::Int))) -- & cWorld . lWorld . creatures . ix tid . crType . slimeRad %~ (sqrt . subtract sspeed . (^(2::Int)))
& cWorld . lWorld . creatures . ix tid . crType . slimeSlime -~ sspeed
| Just (tcr,ti) <- gettarg | Just (tcr,ti) <- gettarg
, distance (cr ^. crPos . _xy) (tcr ^. crPos . _xy) < 0.8*crRad (tcr ^. crType) , distance (cr ^. crPos . _xy) (tcr ^. crPos . _xy) < 0.8*crRad (tcr ^. crType)
, Just r <- tcr ^? crType . slimeRad , Just r <- tcr ^? crType . slimeSlime . to slimeToRad
, Just d <- tcr ^? crType . slimeCompression , Just d <- tcr ^? crType . slimeCompression
= w = w
& tocr . crStance . carriage .~ Mounted ti (cr ^. crPos - tcr ^. crPos & _xy %~ compressionScale (vNormal ((1/r) *^d))) & tocr . crStance . carriage .~ Mounted ti (cr ^. crPos - tcr ^. crPos & _xy %~ compressionScale (vNormal ((1/r) *^d)))
@@ -193,6 +211,7 @@ updateCalmBee cr cid w
& tocr . crActionPlan . apStrategy . searchTimer %~ (max 0 . subtract 1) & tocr . crActionPlan . apStrategy . searchTimer %~ (max 0 . subtract 1)
| otherwise = startsearch | otherwise = startsearch
where where
(sa,gsa) = runState (takeOne [0,1]) (w ^. randGen)
starthivereturn = fromMaybe w $ do starthivereturn = fromMaybe w $ do
hcr <- gethive hcr <- gethive
return $ w return $ w
@@ -213,11 +232,12 @@ updateCalmBee cr cid w
mcr <- w ^? cWorld . lWorld . creatures . ix mid mcr <- w ^? cWorld . lWorld . creatures . ix mid
SlimeCrit {_slimeSplitTimer = x} <- mcr ^? crType SlimeCrit {_slimeSplitTimer = x} <- mcr ^? crType
return $ x > 0 return $ x > 0
sspeed = 0.05 --sspeed = 0.05
sspeed = 5
gettarg = do gettarg = do
i <- cr ^? crActionPlan . apStrategy . harvestTarget i <- cr ^? crActionPlan . apStrategy . harvestTarget
tcr <- w ^? cWorld . lWorld . creatures . ix i tcr <- w ^? cWorld . lWorld . creatures . ix i
x <- tcr ^? crType . slimeRad x <- tcr ^? crType . slimeSlime . to slimeToRad
guard $ x > 12 guard $ x > 12
return (tcr,i) return (tcr,i)
gethive = do gethive = do
@@ -225,7 +245,7 @@ updateCalmBee cr cid w
w ^? cWorld . lWorld . creatures . ix i w ^? cWorld . lWorld . creatures . ix i
tocr = cWorld . lWorld . creatures . ix cid tocr = cWorld . lWorld . creatures . ix cid
istarget tcr = fromMaybe False $ do istarget tcr = fromMaybe False $ do
r <- tcr ^? crType . slimeRad r <- tcr ^? crType . slimeSlime . to slimeToRad
return $ r > 12 return $ r > 12
slimeCritUpdate :: Int -> World -> World slimeCritUpdate :: Int -> World -> World
@@ -260,7 +280,7 @@ slimeCritUpdate cid w
f' | norm p > 3*r/2 = const True f' | norm p > 3*r/2 = const True
| otherwise = id | otherwise = id
t = cr ^?! crType . slimeIsCompressing t = cr ^?! crType . slimeIsCompressing
r = cr ^?! crType . slimeRad r = cr ^?! crType . slimeSlime . to slimeToRad
p = cr ^?! crType . slimeCompression p = cr ^?! crType . slimeCompression
setSlimeDir :: Int -> Creature -> World -> State StdGen World setSlimeDir :: Int -> Creature -> World -> State StdGen World
@@ -281,7 +301,7 @@ setSlimeDir cid cr w = do
tocr = cWorld . lWorld . creatures . ix cid tocr = cWorld . lWorld . creatures . ix cid
-- tocr' i = cWorld . lWorld . creatures . at i -- tocr' i = cWorld . lWorld . creatures . at i
cxy = cr ^. crPos . _xy cxy = cr ^. crPos . _xy
r = cr ^?! crType . slimeRad r = cr ^?! crType . slimeSlime . to slimeToRad
doSlimeRadChange :: Creature -> Creature doSlimeRadChange :: Creature -> Creature
@@ -314,18 +334,20 @@ splitSlimeCrit p v cr = do
| isLHS p (p+v) cxy = normalize (vNormal v) | isLHS p (p+v) cxy = normalize (vNormal v)
| otherwise = - normalize (vNormal v) | otherwise = - normalize (vNormal v)
return (cr' & crPos . _xy .~ mp + (r1 + 0.51) *^ mvdir return (cr' & crPos . _xy .~ mp + (r1 + 0.51) *^ mvdir
& crType . slimeRad .~ r1 -- & crType . slimeRad .~ r1
& crType . slimeSlime .~ round (r1 ^ (2 :: Int) * 100)
& crType . slimeCompression .~ rotateV (argV mvdir) (V2 r1 0) & crType . slimeCompression .~ rotateV (argV mvdir) (V2 r1 0)
& crDir .~ argV mvdir & crDir .~ argV mvdir
,cr' & crPos . _xy .~ mp - (r2 + 0.51) *^ mvdir ,cr' & crPos . _xy .~ mp - (r2 + 0.51) *^ mvdir
& crType . slimeRad .~ r2 -- & crType . slimeRad .~ r2
& crType . slimeSlime .~ round (r2^(2::Int) * 100)
& crType . slimeCompression .~ rotateV (argV (-mvdir)) (V2 r2 0) & crType . slimeCompression .~ rotateV (argV (-mvdir)) (V2 r2 0)
& crDir .~ argV (-mvdir) & crDir .~ argV (-mvdir)
& crType . slimeEngulfProgress .~ 0 & crType . slimeEngulfProgress .~ 0
) )
where where
cxy = cr ^. crPos . _xy cxy = cr ^. crPos . _xy
r = cr ^?! crType . slimeRad r = cr ^?! crType . slimeSlime . to slimeToRad
cr' = cr & crDamage .~ [] cr' = cr & crDamage .~ []
& crType . slimeRadWobble .~ 0 & crType . slimeRadWobble .~ 0
& crType . slimeSplitTimer .~ 10 & crType . slimeSplitTimer .~ 10
@@ -412,7 +434,10 @@ crDeathEffects cr w = case cr ^. crType of
return $ w & cWorld . lWorld . creatures . ix hid . crType . hiveChildren %~ IS.delete (cr ^. crID) return $ w & cWorld . lWorld . creatures . ix hid . crType . hiveChildren %~ IS.delete (cr ^. crID)
_ -> w _ -> w
where where
beepheremone = cWorld . lWorld . beePheremones .:~ BPheremone (cr ^. crPos) (cr ^. crPos - cr ^. crOldPos) 200 beepheremone
| Just x <- cr ^? crType . beeLifespan
, x < 1 = id
| otherwise = cWorld . lWorld . beePheremones .:~ BPheremone (cr ^. crPos) (cr ^. crPos - cr ^. crOldPos) 200
startDeathTimer :: Creature -> Creature startDeathTimer :: Creature -> Creature
startDeathTimer cr = cr & crDeathTimer ?~ case cr ^. crType of startDeathTimer cr = cr & crDeathTimer ?~ case cr ^. crType of
+7 -2
View File
@@ -78,7 +78,7 @@ data CreatureType
, _slinkHeadPos :: Point3Q , _slinkHeadPos :: Point3Q
} }
| SlimeCrit | SlimeCrit
{ _slimeRad :: Float { _slimeSlime :: Int -- note multiplied by 100
, _slimeRadWobble :: Float , _slimeRadWobble :: Float
, _slimeSplitTimer :: Int , _slimeSplitTimer :: Int
, _slimeCompression :: Point2 , _slimeCompression :: Point2
@@ -86,22 +86,27 @@ data CreatureType
, _slimeEngulfProgress :: Float , _slimeEngulfProgress :: Float
} }
| BeeCrit | BeeCrit
{ _beeSlime :: Float { _beeSlime :: Int
, _beeHive :: Maybe Int , _beeHive :: Maybe Int
, _startStopMv :: Int , _startStopMv :: Int
, _beeAggro :: Int , _beeAggro :: Int
, _meleeCooldown :: Int , _meleeCooldown :: Int
, _beeRandomMovement :: Maybe FootForward , _beeRandomMovement :: Maybe FootForward
, _beeLifespan :: Int
} }
| HiveCrit | HiveCrit
{ _hiveChildren :: IS.IntSet { _hiveChildren :: IS.IntSet
, _hiveGestation :: Int , _hiveGestation :: Int
, _hiveSlime :: Int
} }
| SwarmCrit | SwarmCrit
| AutoCrit | AutoCrit
| BarrelCrit {_barrelType :: BarrelType} | BarrelCrit {_barrelType :: BarrelType}
| LampCrit {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int} | LampCrit {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int}
slimeToRad :: Int -> Float
slimeToRad x = sqrt $ fromIntegral x * 0.01
data AvatarPosture = AvPosture data AvatarPosture = AvPosture
data CreatureShape data CreatureShape
+6 -3
View File
@@ -56,13 +56,16 @@ tutAnoTree :: State LayoutVars MTRS
tutAnoTree = do tutAnoTree = do
foldMTRS foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor -- , corDoor
, chasmSpitTerminal -- , chasmSpitTerminal
-- , tToBTree "" . return . cleatOnward <$> slowDoorRoom -- , tToBTree "" . return . cleatOnward <$> slowDoorRoom
, corDoor , corDoor
--, tToBTree "" . return . cleatOnward <$> (xChasm 200 200 --, tToBTree "" . return . cleatOnward <$> (xChasm 200 200
, tToBTree "" . return . cleatOnward <$> ((putSingleLight =<< roomRectAutoLights 300 300) , tToBTree "" . return . cleatOnward <$> ((putSingleLight =<< roomRectAutoLights 300 300)
<&> rmPmnts <>~ [sps0 (PutCrit slimeCrit) & plSpot . psPos .~ V2 150 100 <&> rmPmnts <>~
[sps0 (PutCrit slimeCrit) & plSpot . psPos .~ V2 150 100
,sps0 (PutCrit slimeCrit) & plSpot . psPos .~ V2 50 50
,sps0 (PutCrit slimeCrit) & plSpot . psPos .~ V2 50 150
, sps0 (PutCrit hiveCrit) & plSpot . psPos .~ V2 250 50 , sps0 (PutCrit hiveCrit) & plSpot . psPos .~ V2 250 50
, sps0 (PutCrit chaseCrit) & plSpot . psPos .~ V2 250 100 , sps0 (PutCrit chaseCrit) & plSpot . psPos .~ V2 250 100
] ]
+11 -1
View File
@@ -47,8 +47,18 @@ isBee cr = case cr ^. crType of
BeeCrit{} -> True BeeCrit{} -> True
_ -> False _ -> False
crslime :: Creature -> Int
crslime cr = case cr ^. crType of
SlimeCrit {_slimeSlime=r} | HP{} <- cr ^. crHP -> r -- r ^ (2::Int)
HiveCrit {_hiveSlime=x} -> x
BeeCrit {_beeSlime=x} -> 400 + x
_ -> 0
crs :: Universe -> [Creature]
crs u = u ^.. uvWorld . cWorld . lWorld . creatures . each
testStringInit :: Universe -> [String] testStringInit :: Universe -> [String]
testStringInit _ = mempty testStringInit u = [show . getSum $ foldMap (Sum . crslime) (crs u)]
--u = u ^.. tocrs . each . filtered isBee . crActionPlan . apStrategy . to show --u = u ^.. tocrs . each . filtered isBee . crActionPlan . apStrategy . to show
-- u ^.. tocrs . ix 1 . crPos . _xy . to show -- u ^.. tocrs . ix 1 . crPos . _xy . to show
-- <> u ^.. tocrs . ix 1 . crType . slimeCompression . to show -- <> u ^.. tocrs . ix 1 . crType . slimeCompression . to show
+12 -6
View File
@@ -1076,6 +1076,7 @@ slimeFood cr = case cr ^. crType of
Avatar{} -> True Avatar{} -> True
ChaseCrit{} -> True ChaseCrit{} -> True
CrabCrit {} -> True CrabCrit {} -> True
BeeCrit{} | CrIsCorpse{} <- cr ^. crHP -> True
_ -> False _ -> False
feedSlime :: Creature -> Creature -> World -> World feedSlime :: Creature -> Creature -> World -> World
@@ -1090,10 +1091,12 @@ feedSlime s c w = fromMaybe w $ do
& cWorld . lWorld . creatures . ix (s ^. crID) %~ f & cWorld . lWorld . creatures . ix (s ^. crID) %~ f
& slimeEatSound (s ^. crID) (s ^. crPos . _xy) & slimeEatSound (s ^. crID) (s ^. crPos . _xy)
where where
f cr = cr & crType . slimeRad .~ r f cr = cr -- & crType . slimeRad .~ r
& crType . slimeSlime .~ round (r^(2::Int) * 100)
& crType . slimeRadWobble +~ r - r1 & crType . slimeRadWobble +~ r - r1
& crType . slimeCompression %~ ((r/r1) *^) & crType . slimeCompression %~ ((r/r1) *^)
r1 = s ^?! crType . slimeRad --r1 = s ^?! crType . slimeRad
r1 = s ^?! crType . slimeSlime . to slimeToRad
r2 = c ^. crType . to crRad r2 = c ^. crType . to crRad
r = sqrt (r1*r1 + r2*r2) r = sqrt (r1*r1 + r2*r2)
@@ -1102,18 +1105,21 @@ fuseSlimes c1 c2 = (cWorld . lWorld . creatures . ix mini .~ c)
. (cWorld . lWorld . creatures . at maxi .~ Nothing) . (cWorld . lWorld . creatures . at maxi .~ Nothing)
. slimeEatSound i1 (c ^. crPos . _xy) . slimeEatSound i1 (c ^. crPos . _xy)
where where
c' | c1 ^?! crType . slimeRad > c2 ^?! crType . slimeRad = c1 --c' | c1 ^?! crType . slimeRad > c2 ^?! crType . slimeRad = c1
c' | c1 ^?! crType . slimeSlime > c2 ^?! crType . slimeSlime = c1
| otherwise = c2 | otherwise = c2
mini = min i1 i2 mini = min i1 i2
maxi = max i1 i2 maxi = max i1 i2
i1 = c1 ^. crID i1 = c1 ^. crID
i2 = c2 ^. crID i2 = c2 ^. crID
c = c' & crType . slimeRad .~ r c = c' & crType . slimeSlime .~ round (r^(2::Int) * 100)
& crType . slimeRadWobble +~ r - max r1 r2 & crType . slimeRadWobble +~ r - max r1 r2
& crType . slimeCompression %~ ((r/max r1 r2) *^) & crType . slimeCompression %~ ((r/max r1 r2) *^)
& crID .~ mini & crID .~ mini
r1 = c1 ^?! crType . slimeRad -- r1 = c1 ^?! crType . slimeRad
r2 = c2 ^?! crType . slimeRad -- r2 = c2 ^?! crType . slimeRad
r1 = c1 ^?! crType . slimeSlime . to slimeToRad
r2 = c2 ^?! crType . slimeSlime . to slimeToRad
r = sqrt (r1*r1 + r2*r2) r = sqrt (r1*r1 + r2*r2)
slimeEatSound :: Int -> Point2 -> World -> World slimeEatSound :: Int -> Point2 -> World -> World
+111 -104
View File
@@ -72,11 +72,11 @@ AttachType src/Dodge/Data/Item/Combine.hs 92;" t
Attention src/Dodge/Data/Creature/Perception.hs 58;" t Attention src/Dodge/Data/Creature/Perception.hs 58;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C
Audition src/Dodge/Data/Creature/Perception.hs 45;" t Audition src/Dodge/Data/Creature/Perception.hs 45;" t
AutoCrit src/Dodge/Data/Creature/Misc.hs 101;" C AutoCrit src/Dodge/Data/Creature/Misc.hs 103;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C
AvPosture src/Dodge/Data/Creature/Misc.hs 105;" C AvPosture src/Dodge/Data/Creature/Misc.hs 110;" C
Avatar src/Dodge/Data/Creature/Misc.hs 53;" C Avatar src/Dodge/Data/Creature/Misc.hs 53;" C
AvatarPosture src/Dodge/Data/Creature/Misc.hs 105;" t AvatarPosture src/Dodge/Data/Creature/Misc.hs 110;" t
Awareness src/Dodge/Data/Creature/Perception.hs 63;" t Awareness src/Dodge/Data/Creature/Perception.hs 63;" t
BANGCONE src/Dodge/Data/Item/Combine.hs 150;" C BANGCONE src/Dodge/Data/Item/Combine.hs 150;" C
BANGROD src/Dodge/Data/Item/Combine.hs 159;" C BANGROD src/Dodge/Data/Item/Combine.hs 159;" C
@@ -103,10 +103,10 @@ BURSTRIFLE src/Dodge/Data/Item/Combine.hs 158;" C
BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 41;" C Bark src/Dodge/Data/ActionPlan.hs 41;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 102;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 104;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 117;" t BarrelType src/Dodge/Data/Creature/Misc.hs 122;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 113;" C Barreloid src/Dodge/Data/Creature/Misc.hs 118;" C
BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C
BasicBulletTrajectory src/Dodge/Data/Bullet.hs 42;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 42;" C
BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 49;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 49;" C
@@ -286,7 +286,7 @@ CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
CreatePoisonGas 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 Creature src/Dodge/Data/Creature.hs 35;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 107;" t CreatureShape src/Dodge/Data/Creature/Misc.hs 112;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 52;" t CreatureType src/Dodge/Data/Creature/Misc.hs 52;" t
Crushing src/Dodge/Data/Damage.hs 19;" C Crushing src/Dodge/Data/Damage.hs 19;" C
CryoReleaseCloud src/Dodge/Data/Cloud.hs 24;" C CryoReleaseCloud src/Dodge/Data/Cloud.hs 24;" C
@@ -406,7 +406,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 39;" C
ExplosionPayload src/Dodge/Data/Payload.hs 9;" C ExplosionPayload src/Dodge/Data/Payload.hs 9;" C
Explosive src/Dodge/Data/Damage.hs 25;" C Explosive src/Dodge/Data/Damage.hs 25;" C
ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 119;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 124;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C
ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t
Eyes src/Dodge/Data/Creature/Perception.hs 39;" C Eyes src/Dodge/Data/Creature/Perception.hs 39;" C
@@ -538,7 +538,7 @@ HeldItemType src/Dodge/Data/Item/Combine.hs 141;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 15;" C HeldPlatformSF src/Dodge/Data/ComposedItem.hs 15;" C
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HighlightSI src/Dodge/Data/SelectionList.hs 58;" C HighlightSI src/Dodge/Data/SelectionList.hs 58;" C
HiveCrit src/Dodge/Data/Creature/Misc.hs 96;" C HiveCrit src/Dodge/Data/Creature/Misc.hs 97;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 43;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 43;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 44;" C HomeUsingTargeting src/Dodge/Data/Projectile.hs 44;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C Hospital src/Dodge/Data/Scenario.hs 69;" C
@@ -562,7 +562,7 @@ HotkeyX src/Dodge/Data/Equipment/Misc.hs 36;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C
HoverCrit src/Dodge/Data/Creature/Misc.hs 74;" C HoverCrit src/Dodge/Data/Creature/Misc.hs 74;" C
Huge src/Shape/Data.hs 24;" C Huge src/Shape/Data.hs 24;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 108;" C Humanoid src/Dodge/Data/Creature/Misc.hs 113;" C
IMSI src/Dodge/Data/SelectionList.hs 41;" t IMSI src/Dodge/Data/SelectionList.hs 41;" t
IMSS src/Dodge/Data/SelectionList.hs 39;" t IMSS src/Dodge/Data/SelectionList.hs 39;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
@@ -651,7 +651,7 @@ LabLink src/Dodge/Data/Room.hs 50;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C LabSS src/Dodge/Data/Scenario.hs 97;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
Laboratory src/Dodge/Data/Scenario.hs 61;" C Laboratory src/Dodge/Data/Scenario.hs 61;" C
LampCrit src/Dodge/Data/Creature/Misc.hs 103;" C LampCrit src/Dodge/Data/Creature/Misc.hs 105;" C
Large src/Shape/Data.hs 25;" C Large src/Shape/Data.hs 25;" C
LasBeamCombine src/Dodge/Data/Beam.hs 38;" C LasBeamCombine src/Dodge/Data/Beam.hs 38;" C
LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C
@@ -837,7 +837,7 @@ NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C
NoBeamCombine src/Dodge/Data/Beam.hs 41;" C NoBeamCombine src/Dodge/Data/Beam.hs 41;" C
NoConcurrentEffect src/Loop/Data.hs 7;" C NoConcurrentEffect src/Loop/Data.hs 7;" C
NoCrImp src/Dodge/Data/CreatureEffect.hs 9;" C NoCrImp src/Dodge/Data/CreatureEffect.hs 9;" C
NoCreatureShape src/Dodge/Data/Creature/Misc.hs 114;" C NoCreatureShape src/Dodge/Data/Creature/Misc.hs 119;" C
NoExtraMenuOption src/Dodge/Data/Universe.hs 79;" C NoExtraMenuOption src/Dodge/Data/Universe.hs 79;" C
NoFaction src/Dodge/Data/Creature/State.hs 18;" C NoFaction src/Dodge/Data/Creature/State.hs 18;" C
NoFlare src/Dodge/Data/Muzzle.hs 29;" C NoFlare src/Dodge/Data/Muzzle.hs 29;" C
@@ -1007,7 +1007,7 @@ Piezoelectric src/Dodge/Data/Material.hs 23;" C
Pitted src/Dodge/Data/Creature.hs 68;" C Pitted src/Dodge/Data/Creature.hs 68;" C
Placement src/Dodge/Data/GenWorld.hs 113;" t Placement src/Dodge/Data/GenWorld.hs 113;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t
PlainBarrel src/Dodge/Data/Creature/Misc.hs 118;" C PlainBarrel src/Dodge/Data/Creature/Misc.hs 123;" C
PlainDeath src/Dodge/Data/Creature.hs 70;" C PlainDeath src/Dodge/Data/Creature.hs 70;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlasmaBall src/Dodge/Data/PlasmaBall.hs 12;" t PlasmaBall src/Dodge/Data/PlasmaBall.hs 12;" t
@@ -1299,7 +1299,7 @@ Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C
Swallowed src/Dodge/Data/Creature.hs 68;" C Swallowed src/Dodge/Data/Creature.hs 68;" C
SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C
Swarm src/Dodge/Data/Creature/State.hs 25;" C Swarm src/Dodge/Data/Creature/State.hs 25;" C
SwarmCrit src/Dodge/Data/Creature/Misc.hs 100;" C SwarmCrit src/Dodge/Data/Creature/Misc.hs 102;" C
TAPE src/Dodge/Data/Item/Combine.hs 56;" C TAPE src/Dodge/Data/Item/Combine.hs 56;" C
TARGETING src/Dodge/Data/Item/Combine.hs 21;" C TARGETING src/Dodge/Data/Item/Combine.hs 21;" C
TCBase src/Dodge/Data/Terminal.hs 49;" C TCBase src/Dodge/Data/Terminal.hs 49;" C
@@ -1576,7 +1576,7 @@ _avStrength src/Dodge/Data/Creature/Misc.hs 56;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 55;" f _avatarMaterial src/Dodge/Data/Creature/Misc.hs 55;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 54;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 54;" f
_barrelShader src/Data/Preload/Render.hs 27;" f _barrelShader src/Data/Preload/Render.hs 27;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 102;" f _barrelType src/Dodge/Data/Creature/Misc.hs 104;" f
_bdColor src/Dodge/Data/Prop.hs 23;" f _bdColor src/Dodge/Data/Prop.hs 23;" f
_bdMaxX src/Dodge/Data/Bounds.hs 12;" f _bdMaxX src/Dodge/Data/Bounds.hs 12;" f
_bdMaxY src/Dodge/Data/Bounds.hs 14;" f _bdMaxY src/Dodge/Data/Bounds.hs 14;" f
@@ -1586,6 +1586,7 @@ _bdsTrigger src/Dodge/Data/Button.hs 26;" f
_beamCombine src/Dodge/Data/Beam.hs 46;" f _beamCombine src/Dodge/Data/Beam.hs 46;" f
_beeAggro src/Dodge/Data/Creature/Misc.hs 92;" f _beeAggro src/Dodge/Data/Creature/Misc.hs 92;" f
_beeHive src/Dodge/Data/Creature/Misc.hs 90;" f _beeHive src/Dodge/Data/Creature/Misc.hs 90;" f
_beeLifespan src/Dodge/Data/Creature/Misc.hs 95;" f
_beePheremones src/Dodge/Data/LWorld.hs 99;" f _beePheremones src/Dodge/Data/LWorld.hs 99;" f
_beeRandomMovement src/Dodge/Data/Creature/Misc.hs 94;" f _beeRandomMovement src/Dodge/Data/Creature/Misc.hs 94;" f
_beeSlime src/Dodge/Data/Creature/Misc.hs 89;" f _beeSlime src/Dodge/Data/Creature/Misc.hs 89;" f
@@ -1924,8 +1925,9 @@ _harvestTarget src/Dodge/Data/ActionPlan.hs 153;" f
_heldPos src/Dodge/Data/Input.hs 43;" f _heldPos src/Dodge/Data/Input.hs 43;" f
_heldWorldPos src/Dodge/Data/Input.hs 45;" f _heldWorldPos src/Dodge/Data/Input.hs 45;" f
_highlightItems src/Dodge/Data/CWorld.hs 36;" f _highlightItems src/Dodge/Data/CWorld.hs 36;" f
_hiveChildren src/Dodge/Data/Creature/Misc.hs 97;" f _hiveChildren src/Dodge/Data/Creature/Misc.hs 98;" f
_hiveGestation src/Dodge/Data/Creature/Misc.hs 98;" f _hiveGestation src/Dodge/Data/Creature/Misc.hs 99;" f
_hiveSlime src/Dodge/Data/Creature/Misc.hs 100;" f
_hotkeys src/Dodge/Data/LWorld.hs 146;" f _hotkeys src/Dodge/Data/LWorld.hs 146;" f
_hud src/Dodge/Data/World.hs 47;" f _hud src/Dodge/Data/World.hs 47;" f
_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f
@@ -1989,9 +1991,9 @@ _lInvLock src/Dodge/Data/LWorld.hs 149;" f
_lTestInt src/Dodge/Data/LWorld.hs 145;" f _lTestInt src/Dodge/Data/LWorld.hs 145;" f
_lTestString src/Dodge/Data/LWorld.hs 144;" f _lTestString src/Dodge/Data/LWorld.hs 144;" f
_lWorld src/Dodge/Data/CWorld.hs 24;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 103;" f _lampColor src/Dodge/Data/Creature/Misc.hs 105;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 103;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 105;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 103;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 105;" f
_lasWepXSF src/Dodge/Data/ComposedItem.hs 42;" f _lasWepXSF src/Dodge/Data/ComposedItem.hs 42;" f
_laserEmmiter src/Dodge/Data/Laser.hs 17;" f _laserEmmiter src/Dodge/Data/Laser.hs 17;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 16;" f _laserTypeDamage src/Dodge/Data/Laser.hs 16;" f
@@ -2162,7 +2164,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 44;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 15;" f _pickUpLevel src/Dodge/Layout/Generate.hs 15;" f
_pickUps src/Dodge/Layout/Generate.hs 16;" f _pickUps src/Dodge/Layout/Generate.hs 16;" f
_pictureShaders src/Data/Preload/Render.hs 31;" f _pictureShaders src/Data/Preload/Render.hs 31;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 119;" f _piercedPoints src/Dodge/Data/Creature/Misc.hs 124;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 24;" f _pjBarrelSpin src/Dodge/Data/Projectile.hs 24;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 26;" f _pjDetonatorID src/Dodge/Data/Projectile.hs 26;" f
_pjDir src/Dodge/Data/Projectile.hs 19;" f _pjDir src/Dodge/Data/Projectile.hs 19;" f
@@ -2377,17 +2379,17 @@ _skOldPos src/Dodge/Data/Spark.hs 14;" f
_skPos src/Dodge/Data/Spark.hs 13;" f _skPos src/Dodge/Data/Spark.hs 13;" f
_skType src/Dodge/Data/Spark.hs 15;" f _skType src/Dodge/Data/Spark.hs 15;" f
_skVel src/Dodge/Data/Spark.hs 12;" f _skVel src/Dodge/Data/Spark.hs 12;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 109;" f _skinHead src/Dodge/Data/Creature/Misc.hs 114;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 111;" f _skinLower src/Dodge/Data/Creature/Misc.hs 116;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 110;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 115;" f
_slInt src/Dodge/Data/HUD.hs 39;" f _slInt src/Dodge/Data/HUD.hs 39;" f
_slSec src/Dodge/Data/HUD.hs 39;" f _slSec src/Dodge/Data/HUD.hs 39;" f
_slSet src/Dodge/Data/HUD.hs 39;" f _slSet src/Dodge/Data/HUD.hs 39;" f
_slimeCompression src/Dodge/Data/Creature/Misc.hs 84;" f _slimeCompression src/Dodge/Data/Creature/Misc.hs 84;" f
_slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 86;" f _slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 86;" f
_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 85;" f _slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 85;" f
_slimeRad src/Dodge/Data/Creature/Misc.hs 81;" f
_slimeRadWobble src/Dodge/Data/Creature/Misc.hs 82;" f _slimeRadWobble src/Dodge/Data/Creature/Misc.hs 82;" f
_slimeSlime src/Dodge/Data/Creature/Misc.hs 81;" f
_slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 83;" f _slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 83;" f
_slinkHeadPos src/Dodge/Data/Creature/Misc.hs 78;" f _slinkHeadPos src/Dodge/Data/Creature/Misc.hs 78;" f
_slinkSpine src/Dodge/Data/Creature/Misc.hs 77;" f _slinkSpine src/Dodge/Data/Creature/Misc.hs 77;" f
@@ -2685,7 +2687,7 @@ anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f
anythingHitCirc src/Dodge/Base/Collide.hs 357;" f anythingHitCirc src/Dodge/Base/Collide.hs 357;" f
apply src/Quaternion.hs 78;" f apply src/Quaternion.hs 78;" f
applyCME src/Dodge/HeldUse.hs 397;" f applyCME src/Dodge/HeldUse.hs 397;" f
applyClip src/Dodge/Debug.hs 184;" f applyClip src/Dodge/Debug.hs 191;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" f
applyEventIO src/Loop.hs 90;" f applyEventIO src/Loop.hs 90;" f
applyGravityPU src/Dodge/Projectile/Update.hs 41;" f applyGravityPU src/Dodge/Projectile/Update.hs 41;" f
@@ -2788,6 +2790,7 @@ basicMuzFlare src/Dodge/HeldUse.hs 731;" f
battery src/Dodge/Item/Ammo.hs 60;" f battery src/Dodge/Item/Ammo.hs 60;" f
batteryPack src/Dodge/Item/Equipment.hs 38;" f batteryPack src/Dodge/Item/Equipment.hs 38;" f
beeCrit src/Dodge/Creature/ChaseCrit.hs 89;" f beeCrit src/Dodge/Creature/ChaseCrit.hs 89;" f
beeLifespanCheck src/Dodge/Creature/Update.hs 119;" f
beep3QuickS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 710;" f beep3QuickS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 710;" f
beltMag src/Dodge/Item/Ammo.hs 38;" f beltMag src/Dodge/Item/Ammo.hs 38;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 131;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 131;" f
@@ -2865,7 +2868,7 @@ buttonFlip src/Dodge/Button/Event.hs 18;" f
buzz1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 892;" f buzz1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 892;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
byNthLink src/Dodge/Room/Warning.hs 44;" f byNthLink src/Dodge/Room/Warning.hs 44;" f
cChasm src/Dodge/Room/Tutorial.hs 175;" f cChasm src/Dodge/Room/Tutorial.hs 178;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2903,14 +2906,14 @@ chaseCrit src/Dodge/Creature/ChaseCrit.hs 35;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 193;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 193;" f
chaseUpperBody src/Dodge/Creature/Picture.hs 180;" f chaseUpperBody src/Dodge/Creature/Picture.hs 180;" f
chasmRotate src/Dodge/Creature/State/WalkCycle.hs 149;" f chasmRotate src/Dodge/Creature/State/WalkCycle.hs 149;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 414;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 417;" f
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 345;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 348;" f
chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 126;" f chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 126;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 386;" f checkDeath src/Dodge/Creature/Update.hs 406;" f
checkDeath' src/Dodge/Creature/Update.hs 389;" f checkDeath' src/Dodge/Creature/Update.hs 409;" f
checkEndGame src/Dodge/Update.hs 889;" f checkEndGame src/Dodge/Update.hs 889;" f
checkErrorGL src/Shader/Compile.hs 86;" f checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2957,13 +2960,14 @@ click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 844;" f
clicker src/Dodge/Item/Scope.hs 88;" f clicker src/Dodge/Item/Scope.hs 88;" f
clipV src/Geometry/Vector.hs 48;" f clipV src/Geometry/Vector.hs 48;" f
clipZoom src/Dodge/Update/Camera.hs 234;" f clipZoom src/Dodge/Update/Camera.hs 234;" f
clipboardCr src/Dodge/Debug.hs 91;" f
clockCycle src/Dodge/Clock.hs 7;" f clockCycle src/Dodge/Clock.hs 7;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 237;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 237;" f
closeItemDist src/Dodge/Inventory.hs 149;" f closeItemDist src/Dodge/Inventory.hs 149;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 260;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 260;" f
closeObjectInfo src/Dodge/Render/HUD.hs 228;" f closeObjectInfo src/Dodge/Render/HUD.hs 228;" f
closestCrToMouse src/Dodge/Debug.hs 301;" f closestCrToMouse src/Dodge/Debug.hs 308;" f
closestPointOnLine src/Geometry/Intersect.hs 279;" f closestPointOnLine src/Geometry/Intersect.hs 279;" f
closestPointOnLineParam src/Geometry/Intersect.hs 295;" f closestPointOnLineParam src/Geometry/Intersect.hs 295;" f
closestPointOnSeg src/Geometry/Intersect.hs 310;" f closestPointOnSeg src/Geometry/Intersect.hs 310;" f
@@ -3036,7 +3040,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 159;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 411;" f corDoor src/Dodge/Room/Room.hs 411;" f
cornerList src/Preload/Render.hs 236;" f cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 432;" f corpseOrGib src/Dodge/Creature/Update.hs 455;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f corridorN src/Dodge/Room/Corridor.hs 58;" f
@@ -3048,7 +3052,7 @@ crCamouflage src/Dodge/Creature/Picture.hs 80;" f
crCanSeeCr src/Dodge/Creature/Test.hs 49;" f crCanSeeCr src/Dodge/Creature/Test.hs 49;" f
crCrSpring src/Dodge/Update.hs 1010;" f crCrSpring src/Dodge/Update.hs 1010;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f
crDeathEffects src/Dodge/Creature/Update.hs 410;" f crDeathEffects src/Dodge/Creature/Update.hs 430;" f
crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f
crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
@@ -3089,7 +3093,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 998;" f crSpring src/Dodge/Update.hs 998;" f
crStratConMatches src/Dodge/Creature/Test.hs 77;" f crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 30;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f
crUpdate src/Dodge/Creature/Update.hs 379;" f crUpdate src/Dodge/Creature/Update.hs 399;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f
crVocalResetTime src/Dodge/Creature/Vocalization.hs 69;" f crVocalResetTime src/Dodge/Creature/Vocalization.hs 69;" f
@@ -3104,7 +3108,7 @@ crabCorpse src/Dodge/Creature/Picture.hs 322;" f
crabCrit src/Dodge/Creature/ChaseCrit.hs 42;" f crabCrit src/Dodge/Creature/ChaseCrit.hs 42;" f
crabCritInternal src/Dodge/Humanoid.hs 25;" f crabCritInternal src/Dodge/Humanoid.hs 25;" f
crabFeet src/Dodge/Creature/Picture.hs 232;" f crabFeet src/Dodge/Creature/Picture.hs 232;" f
crabRoom src/Dodge/Room/Tutorial.hs 468;" f crabRoom src/Dodge/Room/Tutorial.hs 471;" f
crabUpperBody src/Dodge/Creature/Picture.hs 156;" f crabUpperBody src/Dodge/Creature/Picture.hs 156;" f
craftInfo src/Dodge/Item/Info.hs 168;" f craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 41;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 41;" f
@@ -3133,6 +3137,7 @@ critsRoom src/Dodge/Room/Room.hs 425;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 28;" f crossPic src/Dodge/Render/Label.hs 28;" f
crossProd src/Geometry/Vector3D.hs 42;" f crossProd src/Geometry/Vector3D.hs 42;" f
crs src/Dodge/TestString.hs 57;" f
crsHit src/Dodge/WorldEvent/ThingsHit.hs 95;" f crsHit src/Dodge/WorldEvent/ThingsHit.hs 95;" f
crsHitZ src/Dodge/WorldEvent/ThingsHit.hs 106;" f crsHitZ src/Dodge/WorldEvent/ThingsHit.hs 106;" f
crsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 126;" f crsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 126;" f
@@ -3141,6 +3146,7 @@ crsNearCirc src/Dodge/Zoning/Creature.hs 36;" f
crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
crsNearRect src/Dodge/Zoning/Creature.hs 40;" f crsNearRect src/Dodge/Zoning/Creature.hs 40;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crslime src/Dodge/TestString.hs 50;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f
cubeShape src/Dodge/Block/Debris.hs 162;" f cubeShape src/Dodge/Block/Debris.hs 162;" f
cullPoint src/Dodge/Render/ShapePicture.hs 117;" f cullPoint src/Dodge/Render/ShapePicture.hs 117;" f
@@ -3215,17 +3221,17 @@ debrisSize src/Dodge/Block/Debris.hs 131;" f
debugEvent src/Dodge/Debug.hs 47;" f debugEvent src/Dodge/Debug.hs 47;" f
debugEvent' src/Dodge/Debug.hs 53;" f debugEvent' src/Dodge/Debug.hs 53;" f
debugEvents src/Dodge/Debug.hs 32;" f debugEvents src/Dodge/Debug.hs 32;" f
debugGet src/Dodge/Debug.hs 129;" f debugGet src/Dodge/Debug.hs 136;" f
debugItem src/Dodge/Debug.hs 91;" f debugItem src/Dodge/Debug.hs 98;" f
debugMenu src/Dodge/Menu.hs 122;" f debugMenu src/Dodge/Menu.hs 122;" f
debugMenuOptions src/Dodge/Menu.hs 128;" f debugMenuOptions src/Dodge/Menu.hs 128;" f
debugMouseClickPos src/Dodge/Debug.hs 199;" f debugMouseClickPos src/Dodge/Debug.hs 206;" f
debugOn src/Dodge/Data/Config.hs 179;" f debugOn src/Dodge/Data/Config.hs 179;" f
debugPutDraw src/Dodge/Debug.hs 150;" f debugPutDraw src/Dodge/Debug.hs 157;" f
debugPutItems src/Dodge/Debug.hs 133;" f debugPutItems src/Dodge/Debug.hs 140;" f
debugPutN src/Dodge/Debug.hs 139;" f debugPutN src/Dodge/Debug.hs 146;" f
debugShowPath src/Dodge/Debug.hs 159;" f debugShowPath src/Dodge/Debug.hs 166;" f
debugWritableValues src/Dodge/Debug.hs 172;" f debugWritableValues src/Dodge/Debug.hs 179;" f
decodeSensorType src/Dodge/Terminal.hs 81;" f decodeSensorType src/Dodge/Terminal.hs 81;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 62;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 62;" f
decomposeTree src/Dodge/Tree/Compose.hs 59;" f decomposeTree src/Dodge/Tree/Compose.hs 59;" f
@@ -3353,8 +3359,8 @@ doCrImp src/Dodge/CreatureEffect.hs 13;" f
doDamage src/Dodge/Creature/State.hs 44;" f doDamage src/Dodge/Creature/State.hs 44;" f
doDeathToggle src/Dodge/WorldEffect.hs 99;" f doDeathToggle src/Dodge/WorldEffect.hs 99;" f
doDeathTriggers src/Dodge/WorldEffect.hs 92;" f doDeathTriggers src/Dodge/WorldEffect.hs 92;" f
doDebugGet src/Dodge/Debug.hs 153;" f doDebugGet src/Dodge/Debug.hs 160;" f
doDebugPut src/Dodge/Debug.hs 142;" f doDebugPut src/Dodge/Debug.hs 149;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f
doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 38;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 38;" f
doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 66;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 66;" f
@@ -3390,7 +3396,7 @@ doRoomShift src/Dodge/Room/Link.hs 34;" f
doScopeZoom src/Dodge/Update/Scroll.hs 89;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f
doSectionSize src/Dodge/DisplayInventory.hs 215;" f doSectionSize src/Dodge/DisplayInventory.hs 215;" f
doSideEffects appDodge/Main.hs 118;" f doSideEffects appDodge/Main.hs 118;" f
doSlimeRadChange src/Dodge/Creature/Update.hs 289;" f doSlimeRadChange src/Dodge/Creature/Update.hs 307;" f
doTabComplete src/Dodge/Terminal.hs 241;" f doTabComplete src/Dodge/Terminal.hs 241;" f
doTestDrawing src/Dodge/Render.hs 40;" f doTestDrawing src/Dodge/Render.hs 40;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
@@ -3439,19 +3445,19 @@ drawCombineInventory src/Dodge/Render/HUD.hs 190;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f
drawCoord src/Dodge/Debug/Picture.hs 396;" f drawCoord src/Dodge/Debug/Picture.hs 396;" f
drawCountMod src/Render.hs 231;" f drawCountMod src/Render.hs 231;" f
drawCrInfo src/Dodge/Debug.hs 223;" f drawCrInfo src/Dodge/Debug.hs 230;" f
drawCrInfo' src/Dodge/Debug.hs 218;" f drawCrInfo' src/Dodge/Debug.hs 225;" f
drawCrabCrit src/Dodge/Creature/Picture.hs 139;" f drawCrabCrit src/Dodge/Creature/Picture.hs 139;" f
drawCreature src/Dodge/Creature/Picture.hs 37;" f drawCreature src/Dodge/Creature/Picture.hs 37;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f
drawCreatureRad src/Dodge/Debug.hs 307;" f drawCreatureRad src/Dodge/Debug.hs 314;" f
drawCross src/Dodge/Render/Label.hs 25;" f drawCross src/Dodge/Render/Label.hs 25;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 73;" f drawCursorAt src/Dodge/Render/List.hs 73;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f
drawDDATest src/Dodge/Debug/Picture.hs 304;" f drawDDATest src/Dodge/Debug/Picture.hs 304;" f
drawDamSensor src/Dodge/Machine/Draw.hs 38;" f drawDamSensor src/Dodge/Machine/Draw.hs 38;" f
drawDebug src/Dodge/Debug.hs 261;" f drawDebug src/Dodge/Debug.hs 268;" f
drawDrag src/Dodge/Render/Picture.hs 204;" f drawDrag src/Dodge/Render/Picture.hs 204;" f
drawDragDrop src/Dodge/Render/Picture.hs 233;" f drawDragDrop src/Dodge/Render/Picture.hs 233;" f
drawDragPickup src/Dodge/Render/Picture.hs 242;" f drawDragPickup src/Dodge/Render/Picture.hs 242;" f
@@ -3554,7 +3560,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 470;" f dropAll src/Dodge/Creature/Update.hs 493;" f
dropInventoryPath src/Dodge/HeldUse.hs 1380;" f dropInventoryPath src/Dodge/HeldUse.hs 1380;" f
dropItem src/Dodge/Creature/Action.hs 180;" f dropItem src/Dodge/Creature/Action.hs 180;" f
dropper src/Dodge/Item/Scope.hs 82;" f dropper src/Dodge/Item/Scope.hs 82;" f
@@ -3644,7 +3650,7 @@ faceEdges src/Polyhedra.hs 62;" f
facesToVF src/Polyhedra/Geodesic.hs 70;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f
farWallDistDirection src/Dodge/Update/Camera.hs 245;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f
fdiv src/ShortShow.hs 41;" f fdiv src/ShortShow.hs 41;" f
feedSlime src/Dodge/Update.hs 1081;" f feedSlime src/Dodge/Update.hs 1082;" f
feet src/Dodge/Creature/Picture.hs 218;" f feet src/Dodge/Creature/Picture.hs 218;" f
filter3 src/FoldableHelp.hs 76;" f filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f
@@ -3694,7 +3700,7 @@ floorWire src/Dodge/Wire.hs 13;" f
flyInertia src/Dodge/Creature/State/WalkCycle.hs 74;" f flyInertia src/Dodge/Creature/State/WalkCycle.hs 74;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 836;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 836;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 886;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 886;" f
foldMTRS src/Dodge/Room/Tutorial.hs 108;" f foldMTRS src/Dodge/Room/Tutorial.hs 111;" f
foldPairs src/ListHelp.hs 37;" f foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 26;" f followImpulse src/Dodge/Creature/Impulse.hs 26;" f
@@ -3722,7 +3728,7 @@ fstV2 src/Geometry/Data.hs 70;" f
fuelPack src/Dodge/Item/Equipment.hs 44;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f
functionalUpdate src/Dodge/Update.hs 278;" f functionalUpdate src/Dodge/Update.hs 278;" f
fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f
fuseSlimes src/Dodge/Update.hs 1100;" f fuseSlimes src/Dodge/Update.hs 1103;" f
fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f
fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
g src/ShortShow.hs 48;" f g src/ShortShow.hs 48;" f
@@ -3759,8 +3765,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 543;" f
getCommand src/Dodge/Terminal.hs 61;" f getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 625;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 628;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 612;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 615;" f
getDebugMouseOver src/Dodge/Update.hs 475;" f getDebugMouseOver src/Dodge/Update.hs 475;" f
getDistortions src/Dodge/Render.hs 448;" f getDistortions src/Dodge/Render.hs 448;" f
getEdgesCrossing src/Dodge/Path.hs 39;" f getEdgesCrossing src/Dodge/Path.hs 39;" f
@@ -3777,7 +3783,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1280;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomFromID src/Dodge/Room/Modify.hs 31;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 608;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 611;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3901,7 +3907,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 201;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f
hoverCrit src/Dodge/Creature/ChaseCrit.hs 80;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 80;" f
hoverCritHoverSound src/Dodge/Creature/Update.hs 356;" f hoverCritHoverSound src/Dodge/Creature/Update.hs 376;" f
hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 228;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 228;" f
hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f
hoverPainEffect src/Dodge/Creature/State.hs 57;" f hoverPainEffect src/Dodge/Creature/State.hs 57;" f
@@ -4100,7 +4106,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
keyPic src/Dodge/Item/Draw/SPic.hs 442;" f keyPic src/Dodge/Item/Draw/SPic.hs 442;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 798;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 798;" f
lChasm src/Dodge/Room/Tutorial.hs 187;" f lChasm src/Dodge/Room/Tutorial.hs 190;" f
lConnect src/Dodge/Render/Connectors.hs 43;" f lConnect src/Dodge/Render/Connectors.hs 43;" f
lConnectCol src/Dodge/Render/Connectors.hs 46;" f lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
@@ -4168,7 +4174,7 @@ listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f
loadAmmoTut src/Dodge/Room/Tutorial.hs 472;" f loadAmmoTut src/Dodge/Room/Tutorial.hs 475;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 654;" f loadMuzzle src/Dodge/HeldUse.hs 654;" f
@@ -4348,9 +4354,9 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 216;" f midChasm src/Dodge/Room/Tutorial.hs 219;" f
midChasmPlatform src/Dodge/Room/Tutorial.hs 238;" f midChasmPlatform src/Dodge/Room/Tutorial.hs 241;" f
midChasmSpit src/Dodge/Room/Tutorial.hs 306;" f midChasmSpit src/Dodge/Room/Tutorial.hs 309;" f
midPad src/Padding.hs 27;" f midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f midPoint src/Geometry.hs 83;" f
@@ -4455,7 +4461,7 @@ noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f
nodeNear src/Dodge/Path.hs 94;" f nodeNear src/Dodge/Path.hs 94;" f
nodesNear src/Dodge/Path.hs 100;" f nodesNear src/Dodge/Path.hs 100;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 303;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 306;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f
normalGait src/Dodge/Creature/State/WalkCycle.hs 173;" f normalGait src/Dodge/Creature/State/WalkCycle.hs 173;" f
normalTo8 src/Shader/Poke.hs 475;" f normalTo8 src/Shader/Poke.hs 475;" f
@@ -4532,7 +4538,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
paletteToColor src/Color.hs 85;" f paletteToColor src/Color.hs 85;" f
parseItem src/Dodge/Debug/Terminal.hs 62;" f parseItem src/Dodge/Debug/Terminal.hs 62;" f
parseNum src/Dodge/Debug/Terminal.hs 77;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 690;" f passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 693;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 87;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f
@@ -4603,7 +4609,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 37;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f
poisonSPic src/Dodge/Creature/Update.hs 466;" f poisonSPic src/Dodge/Creature/Update.hs 489;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 518;" f poke34 src/Shader/Poke.hs 518;" f
pokeArrayOff src/Shader/Poke.hs 530;" f pokeArrayOff src/Shader/Poke.hs 530;" f
@@ -4639,8 +4645,8 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 76;" f poly3 src/Picture/Base.hs 76;" f
poly3Col src/Picture/Base.hs 80;" f poly3Col src/Picture/Base.hs 80;" f
polyChasm src/Dodge/Room/Tutorial.hs 392;" f polyChasm src/Dodge/Room/Tutorial.hs 395;" f
polyChasmC src/Dodge/Room/Tutorial.hs 404;" f polyChasmC src/Dodge/Room/Tutorial.hs 407;" f
polyCirc src/Shape.hs 48;" f polyCirc src/Shape.hs 48;" f
polyCircx src/Shape.hs 53;" f polyCircx src/Shape.hs 53;" f
polyCornerDist src/Geometry/Polygon.hs 69;" f polyCornerDist src/Geometry/Polygon.hs 69;" f
@@ -4736,7 +4742,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f
putShape src/Dodge/Room/Foreground.hs 134;" f putShape src/Dodge/Room/Foreground.hs 134;" f
putSingleLight src/Dodge/Room/Tutorial.hs 506;" f putSingleLight src/Dodge/Room/Tutorial.hs 509;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
putStrLnAppend src/Dodge/LevelGen.hs 84;" f putStrLnAppend src/Dodge/LevelGen.hs 84;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f
@@ -4978,7 +4984,7 @@ scaleSH src/Shape.hs 271;" f
scalp src/Dodge/Creature/Picture.hs 377;" f scalp src/Dodge/Creature/Picture.hs 377;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 463;" f scorchSPic src/Dodge/Creature/Update.hs 486;" f
screenBox src/Dodge/Base/Window.hs 54;" f screenBox src/Dodge/Base/Window.hs 54;" f
screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygon src/Dodge/Base/Window.hs 18;" f
screenPolygonBord src/Dodge/Base/Window.hs 28;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f
@@ -5006,7 +5012,7 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f
seedStartMenu src/Dodge/Menu.hs 85;" f seedStartMenu src/Dodge/Menu.hs 85;" f
seedStartOptions src/Dodge/Menu.hs 88;" f seedStartOptions src/Dodge/Menu.hs 88;" f
segOnCirc src/Geometry.hs 113;" f segOnCirc src/Geometry.hs 113;" f
segmentArea src/Dodge/Creature/Update.hs 337;" f segmentArea src/Dodge/Creature/Update.hs 357;" f
selNumPos src/Dodge/Render/HUD.hs 475;" f selNumPos src/Dodge/Render/HUD.hs 475;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f
selSecDrawCursor src/Dodge/Render/List.hs 101;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f
@@ -5024,13 +5030,13 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f
sensorSPic src/Dodge/Machine/Draw.hs 89;" f sensorSPic src/Dodge/Machine/Draw.hs 89;" f
sensorTut src/Dodge/Room/Tutorial.hs 634;" f sensorTut src/Dodge/Room/Tutorial.hs 637;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
setBeeRandomMovement src/Dodge/Creature/Impulse.hs 110;" f setBeeRandomMovement src/Dodge/Creature/Impulse.hs 110;" f
setChannelPos src/Sound.hs 152;" f setChannelPos src/Sound.hs 152;" f
setClickWorldPos src/Dodge/Update.hs 110;" f setClickWorldPos src/Dodge/Update.hs 110;" f
setClip src/Dodge/Debug.hs 247;" f setClip src/Dodge/Debug.hs 254;" f
setDepth src/Picture/Base.hs 120;" f setDepth src/Picture/Base.hs 120;" f
setDirPS src/Dodge/PlacementSpot.hs 51;" f setDirPS src/Dodge/PlacementSpot.hs 51;" f
setFallback src/Dodge/PlacementSpot.hs 127;" f setFallback src/Dodge/PlacementSpot.hs 127;" f
@@ -5053,11 +5059,11 @@ setSelWhileDragging src/Dodge/Update/Input/InGame.hs 360;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f
setShaderSource src/Shader/Compile.hs 121;" f setShaderSource src/Shader/Compile.hs 121;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f setShadowLimits src/Dodge/Shadows.hs 11;" f
setSlimeDir src/Dodge/Creature/Update.hs 268;" f setSlimeDir src/Dodge/Creature/Update.hs 286;" f
setSoundVolume src/Sound.hs 159;" f setSoundVolume src/Sound.hs 159;" f
setTile src/Dodge/Layout.hs 78;" f setTile src/Dodge/Layout.hs 78;" f
setTiles src/Dodge/Layout.hs 68;" f setTiles src/Dodge/Layout.hs 68;" f
setTreeInts src/Dodge/Room/Tutorial.hs 115;" f setTreeInts src/Dodge/Room/Tutorial.hs 118;" f
setViewDistance src/Dodge/Update/Camera.hs 240;" f setViewDistance src/Dodge/Update/Camera.hs 240;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 70;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 70;" f
setViewport src/Dodge/Render.hs 453;" f setViewport src/Dodge/Render.hs 453;" f
@@ -5135,10 +5141,10 @@ showEquipItem src/Dodge/Item/Display.hs 109;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 130;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f
showInventoryPathing src/Dodge/Item/Display.hs 87;" f showInventoryPathing src/Dodge/Item/Display.hs 87;" f
showManObj src/Dodge/TestString.hs 115;" f showManObj src/Dodge/TestString.hs 126;" f
showMuzzlePositions src/Dodge/Debug.hs 313;" f showMuzzlePositions src/Dodge/Debug.hs 320;" f
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
showTimeFlow src/Dodge/TestString.hs 132;" f showTimeFlow src/Dodge/TestString.hs 143;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f
shrinkVert src/Geometry/Polygon.hs 202;" f shrinkVert src/Geometry/Polygon.hs 202;" f
shuffle src/RandomHelp.hs 68;" f shuffle src/RandomHelp.hs 68;" f
@@ -5175,12 +5181,13 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
slideWindow src/ListHelp.hs 81;" f slideWindow src/ListHelp.hs 81;" f
slimeCrit src/Dodge/Creature/ChaseCrit.hs 68;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 68;" f
slimeCritUpdate src/Dodge/Creature/Update.hs 233;" f slimeCritUpdate src/Dodge/Creature/Update.hs 251;" f
slimeEatSound src/Dodge/Update.hs 1119;" f slimeEatSound src/Dodge/Update.hs 1125;" f
slimeFood src/Dodge/Update.hs 1074;" f slimeFood src/Dodge/Update.hs 1074;" f
slimeSuck src/Dodge/Update.hs 1058;" f slimeSuck src/Dodge/Update.hs 1058;" f
slimeToRad src/Dodge/Data/Creature/Misc.hs 107;" f
slinkCrit src/Dodge/Creature/ChaseCrit.hs 56;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 56;" f
slinkCritUpdate src/Dodge/Creature/Update.hs 340;" f slinkCritUpdate src/Dodge/Creature/Update.hs 360;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f
slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f
@@ -5247,8 +5254,8 @@ splashScreen src/Dodge/Initialisation.hs 10;" f
splitBezierquad src/Geometry/Bezier.hs 15;" f splitBezierquad src/Geometry/Bezier.hs 15;" f
splitExtra src/Justify.hs 21;" f splitExtra src/Justify.hs 21;" f
splitLookupTrie src/SimpleTrie.hs 39;" f splitLookupTrie src/SimpleTrie.hs 39;" f
splitSlimeCrit src/Dodge/Creature/Update.hs 306;" f splitSlimeCrit src/Dodge/Creature/Update.hs 324;" f
splitSlimeCrit' src/Dodge/Creature/Update.hs 296;" f splitSlimeCrit' src/Dodge/Creature/Update.hs 314;" f
splitTrunk src/TreeHelp.hs 181;" f splitTrunk src/TreeHelp.hs 181;" f
splitTrunkAt src/TreeHelp.hs 169;" f splitTrunkAt src/TreeHelp.hs 169;" f
spreadAroundCenter src/Dodge/Base.hs 173;" f spreadAroundCenter src/Dodge/Base.hs 173;" f
@@ -5258,8 +5265,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f
spreadOut src/Dodge/Creature/Boid.hs 160;" f spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
sqPlatformChasm src/Dodge/Room/Tutorial.hs 267;" f sqPlatformChasm src/Dodge/Room/Tutorial.hs 270;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 282;" f sqSpitChasm src/Dodge/Room/Tutorial.hs 285;" f
square src/Geometry/Polygon.hs 56;" f square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 127;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 127;" f
@@ -5286,7 +5293,7 @@ stackText src/Picture/Base.hs 180;" f
stackedInventory src/Dodge/Creature.hs 318;" f stackedInventory src/Dodge/Creature.hs 318;" f
startCr src/Dodge/Creature.hs 83;" f startCr src/Dodge/Creature.hs 83;" f
startCrafts src/Dodge/Room/Start.hs 94;" f startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 419;" f startDeathTimer src/Dodge/Creature/Update.hs 442;" f
startDrag src/Dodge/Update/Input/InGame.hs 319;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f
startInvList src/Dodge/Creature.hs 97;" f startInvList src/Dodge/Creature.hs 97;" f
startInventory src/Dodge/Creature.hs 100;" f startInventory src/Dodge/Creature.hs 100;" f
@@ -5322,7 +5329,7 @@ subInvX src/Dodge/ListDisplayParams.hs 53;" f
subMap src/TreeHelp.hs 121;" f subMap src/TreeHelp.hs 121;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f
subtree src/TreeHelp.hs 72;" f subtree src/TreeHelp.hs 72;" f
succB src/Dodge/Debug.hs 167;" f succB src/Dodge/Debug.hs 174;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f
swapInOutLinks src/Dodge/RoomLink.hs 99;" f swapInOutLinks src/Dodge/RoomLink.hs 99;" f
swapIndices src/ListHelp.hs 50;" f swapIndices src/ListHelp.hs 50;" f
@@ -5380,7 +5387,7 @@ testEvent src/Dodge/Event/Test.hs 11;" f
testInventory src/Dodge/Creature.hs 299;" f testInventory src/Dodge/Creature.hs 299;" f
testPic src/Dodge/Render/ShapePicture.hs 57;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f
testSPic src/Dodge/Render/ShapePicture.hs 54;" f testSPic src/Dodge/Render/ShapePicture.hs 54;" f
testStringInit src/Dodge/TestString.hs 50;" f testStringInit src/Dodge/TestString.hs 60;" f
text src/Picture/Base.hs 185;" f text src/Picture/Base.hs 185;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textInputBlurb src/Dodge/Terminal.hs 43;" f textInputBlurb src/Dodge/Terminal.hs 43;" f
@@ -5438,7 +5445,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 154;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 158;" f toColor8 src/Color.hs 158;" f
toDeathCarriage src/Dodge/Creature/Update.hs 425;" f toDeathCarriage src/Dodge/Creature/Update.hs 448;" f
toFloatVAs src/Shader/Compile.hs 66;" f toFloatVAs src/Shader/Compile.hs 66;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toMultiset src/Multiset.hs 64;" f toMultiset src/Multiset.hs 64;" f
@@ -5462,7 +5469,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f
topInvW src/Dodge/ListDisplayParams.hs 56;" f topInvW src/Dodge/ListDisplayParams.hs 56;" f
topPrismEdgeIndices src/Shader/Poke.hs 344;" f topPrismEdgeIndices src/Shader/Poke.hs 344;" f
topPrismIndices src/Shader/Poke.hs 419;" f topPrismIndices src/Shader/Poke.hs 419;" f
topTestPart src/Dodge/TestString.hs 110;" f topTestPart src/Dodge/TestString.hs 121;" f
torchShape src/Dodge/Item/Draw/SPic.hs 278;" f torchShape src/Dodge/Item/Draw/SPic.hs 278;" f
torqueAmount src/Dodge/HeldUse.hs 606;" f torqueAmount src/Dodge/HeldUse.hs 606;" f
torqueCr src/Dodge/WorldEffect.hs 85;" f torqueCr src/Dodge/WorldEffect.hs 85;" f
@@ -5535,12 +5542,12 @@ tryUseParent src/Dodge/Creature/State.hs 173;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f
tutDrop src/Dodge/Room/Tutorial.hs 120;" f tutDrop src/Dodge/Room/Tutorial.hs 123;" f
tutHub src/Dodge/Room/Tutorial.hs 532;" f tutHub src/Dodge/Room/Tutorial.hs 535;" f
tutLight src/Dodge/Room/Tutorial.hs 436;" f tutLight src/Dodge/Room/Tutorial.hs 439;" f
tutRezBox src/Dodge/Room/Tutorial.hs 645;" f tutRezBox src/Dodge/Room/Tutorial.hs 648;" f
tutRoomTree src/Dodge/Floor.hs 20;" f tutRoomTree src/Dodge/Floor.hs 20;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 670;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 673;" f
tweenAngles src/Geometry/Vector.hs 198;" f tweenAngles src/Geometry/Vector.hs 198;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f
@@ -5572,7 +5579,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f
unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f
updateAggroBee src/Dodge/Creature/Update.hs 115;" f updateAggroBee src/Dodge/Creature/Update.hs 128;" f
updateAimPos src/Dodge/Update.hs 400;" f updateAimPos src/Dodge/Update.hs 400;" f
updateAllNodes src/TreeHelp.hs 88;" f updateAllNodes src/TreeHelp.hs 88;" f
updateArc src/Dodge/Tesla.hs 44;" f updateArc src/Dodge/Tesla.hs 44;" f
@@ -5580,14 +5587,14 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 488;" f
updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarrel src/Dodge/Barreloid.hs 43;" f
updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f
updateBeeCrit src/Dodge/Creature/Update.hs 110;" f updateBeeCrit src/Dodge/Creature/Update.hs 114;" f
updateBeeFromPheremones src/Dodge/Creature/Update.hs 103;" f updateBeeFromPheremones src/Dodge/Creature/Update.hs 107;" f
updateBeePheremone src/Dodge/Update.hs 785;" f updateBeePheremone src/Dodge/Update.hs 785;" f
updateBounds src/Dodge/Update/Camera.hs 262;" f updateBounds src/Dodge/Update/Camera.hs 262;" f
updateBulVel src/Dodge/Bullet.hs 57;" f updateBulVel src/Dodge/Bullet.hs 57;" f
updateBullet src/Dodge/Bullet.hs 22;" f updateBullet src/Dodge/Bullet.hs 22;" f
updateBullets src/Dodge/Update.hs 671;" f updateBullets src/Dodge/Update.hs 671;" f
updateCalmBee src/Dodge/Creature/Update.hs 156;" f updateCalmBee src/Dodge/Creature/Update.hs 169;" f
updateCamera src/Dodge/Update/Camera.hs 33;" f updateCamera src/Dodge/Update/Camera.hs 33;" f
updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f
updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f
@@ -5605,7 +5612,7 @@ updateCreatureStrides src/Dodge/Update.hs 376;" f
updateDebris src/Dodge/Update.hs 685;" f updateDebris src/Dodge/Update.hs 685;" f
updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 104;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f
updateDelayedEvents src/Dodge/Update.hs 1126;" f updateDelayedEvents src/Dodge/Update.hs 1132;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 8;" f updateDistortion src/Dodge/Distortion.hs 8;" f
updateDistortions src/Dodge/Update.hs 664;" f updateDistortions src/Dodge/Update.hs 664;" f
@@ -5664,7 +5671,7 @@ updatePlasmaBall src/Dodge/Update.hs 530;" f
updatePlasmaBalls src/Dodge/Update.hs 678;" f updatePlasmaBalls src/Dodge/Update.hs 678;" f
updatePreload src/Preload/Update.hs 21;" f updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 478;" f updatePulse src/Dodge/Creature/Update.hs 501;" f
updatePulseBall src/Dodge/Update.hs 550;" f updatePulseBall src/Dodge/Update.hs 550;" f
updatePulseLaser src/Dodge/Update.hs 725;" f updatePulseLaser src/Dodge/Update.hs 725;" f
updatePulseLasers src/Dodge/Update.hs 525;" f updatePulseLasers src/Dodge/Update.hs 525;" f
@@ -5855,7 +5862,7 @@ wristArmour src/Dodge/Item/Equipment.hs 35;" f
wristInvisibility src/Dodge/Item/Equipment.hs 80;" f wristInvisibility src/Dodge/Item/Equipment.hs 80;" f
writeConfig src/Dodge/Menu.hs 180;" f writeConfig src/Dodge/Menu.hs 180;" f
writeSaveSlot src/Dodge/Save.hs 36;" f writeSaveSlot src/Dodge/Save.hs 36;" f
xChasm src/Dodge/Room/Tutorial.hs 154;" f xChasm src/Dodge/Room/Tutorial.hs 157;" f
xCylinder src/Shape.hs 129;" f xCylinder src/Shape.hs 129;" f
xCylinderST src/Shape.hs 126;" f xCylinderST src/Shape.hs 126;" f
xIntercepts src/Dodge/Zoning/Base.hs 66;" f xIntercepts src/Dodge/Zoning/Base.hs 66;" f
@@ -5877,7 +5884,7 @@ yourRootItem src/Dodge/Base/You.hs 26;" f
yourRootItemDT src/Dodge/Base/You.hs 32;" f yourRootItemDT src/Dodge/Base/You.hs 32;" f
yourSelectedItem src/Dodge/Base/You.hs 20;" f yourSelectedItem src/Dodge/Base/You.hs 20;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 200;" f zChasm src/Dodge/Room/Tutorial.hs 203;" f
zConnect src/Dodge/Render/Connectors.hs 18;" f zConnect src/Dodge/Render/Connectors.hs 18;" f
zConnectCol src/Dodge/Render/Connectors.hs 29;" f zConnectCol src/Dodge/Render/Connectors.hs 29;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f