Move creature mass out of record

This commit is contained in:
2025-06-06 09:10:03 +01:00
parent aa219acf8d
commit 73c79f2f4d
12 changed files with 76 additions and 67 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -2
View File
@@ -1,5 +1,6 @@
module Dodge.Creature.Damage where module Dodge.Creature.Damage where
import Dodge.Creature.Mass
import Color import Color
import Data.List import Data.List
import Dodge.Creature.Test import Dodge.Creature.Test
@@ -35,9 +36,9 @@ applyDamageEffect dm de cr = case de of
where where
pushAmount pushAmount
| dist (_crPos cr) fromDir == 0 = 0 | dist (_crPos cr) fromDir == 0 = 0
| otherwise = min 5 $ (push * 5 * pushRad / (dist (_crPos cr) fromDir * _crMass cr)) ** pushexp | otherwise = min 5 $ (push * 5 * pushRad / (dist (_crPos cr) fromDir * crMass (_crType cr))) ** pushexp
PushBackDamage pback -> PushBackDamage pback ->
cWorld . lWorld . creatures . ix (_crID cr) . crPos .+.+~ (pback / _crMass cr) *.* (_dmTo dm -.- fromDir) cWorld . lWorld . creatures . ix (_crID cr) . crPos .+.+~ (pback / crMass (_crType cr)) *.* (_dmTo dm -.- fromDir)
TorqueDamage rot -> TorqueDamage rot ->
cWorld . lWorld . creatures . ix (_crID cr) . crDir +~ rot cWorld . lWorld . creatures . ix (_crID cr) . crDir +~ rot
NoDamageEffect -> id NoDamageEffect -> id
-1
View File
@@ -16,7 +16,6 @@ colorLamp col h =
{ _crHP = 100 { _crHP = 100
, _crType = LampCrit h col Nothing , _crType = LampCrit h col Nothing
, _crRad = 3 , _crRad = 3
, _crMass = 3
} }
lamp :: Float -> Creature lamp :: Float -> Creature
+13
View File
@@ -0,0 +1,13 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Creature.Mass (crMass) where
import Dodge.Data.Creature.Misc
crMass :: CreatureType -> Float
crMass = \case
Avatar {} -> 10
AvatarDead -> 10
ChaseCrit -> 10
SwarmCrit -> 2
AutoCrit -> 10
BarrelCrit{} -> 10
LampCrit {} -> 3
-2
View File
@@ -12,8 +12,6 @@ swarmCrit =
defaultCreature defaultCreature
{ _crHP = 1 { _crHP = 1
, _crRad = 2 , _crRad = 2
, _crMass = 2
-- , _crCorpse = MakeDefaultCorpse
, _crFaction = ColorFaction yellow , _crFaction = ColorFaction yellow
, _crMeleeCooldown = 0 , _crMeleeCooldown = 0
} }
+1 -1
View File
@@ -41,7 +41,7 @@ data Creature = Creature
, _crType :: CreatureType , _crType :: CreatureType
, _crID :: Int , _crID :: Int
, _crRad :: Float , _crRad :: Float
, _crMass :: Float -- , _crMass :: Float
, _crHP :: Int , _crHP :: Int
, _crMaxHP :: Int , _crMaxHP :: Int
, _crInv :: IM.IntMap Item , _crInv :: IM.IntMap Item
+1 -6
View File
@@ -67,12 +67,7 @@ data Pulse = PulseStatus
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CreatureType data CreatureType
= Avatar = Avatar { _avatarPulse :: Pulse }
-- { _skinHead :: Color
-- , _skinUpper :: Color
-- , _skinLower :: Color
{ _avatarPulse :: Pulse
}
| AvatarDead | AvatarDead
| ChaseCrit | ChaseCrit
| SwarmCrit | SwarmCrit
+1 -1
View File
@@ -84,7 +84,7 @@ applySetTerminalString var = case key' of
"" -> showTerminalError ("set " ++ var) ("Unable to read as argument as float: " ++ val) "" -> showTerminalError ("set " ++ var) ("Unable to read as argument as float: " ++ val)
"hp" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crHP .~ round (fromJust val') "hp" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crHP .~ round (fromJust val')
"invcap" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crInvCapacity .~ round (fromJust val') "invcap" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crInvCapacity .~ round (fromJust val')
"mass" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crMass .~ fromJust val' -- "mass" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crMass .~ fromJust val'
"mvspeed" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crMvType . mvSpeed .~ fromJust val' "mvspeed" -> uvWorld . cWorld . lWorld . creatures . ix 0 . crMvType . mvSpeed .~ fromJust val'
_ -> showTerminalError ("set " ++ var) ("Invalid set command: " ++ key) -- never reached? _ -> showTerminalError ("set " ++ var) ("Invalid set command: " ++ key) -- never reached?
where where
-1
View File
@@ -21,7 +21,6 @@ defaultCreature =
, _crID = 1 , _crID = 1
, _crType = ChaseCrit , _crType = ChaseCrit
, _crRad = 10 , _crRad = 10
, _crMass = 10
, _crHP = 100 , _crHP = 100
, _crMaxHP = 150 , _crMaxHP = 150
, _crInv = IM.empty , _crInv = IM.empty
+3 -2
View File
@@ -10,6 +10,7 @@ module Dodge.HeldUse (
heldEffectMuzzles, heldEffectMuzzles,
) where ) where
import Dodge.Creature.Mass
import Dodge.Data.Muzzle import Dodge.Data.Muzzle
import Dodge.Data.UseDelay import Dodge.Data.UseDelay
import Dodge.Item.UseDelay import Dodge.Item.UseDelay
@@ -455,7 +456,7 @@ applySoundCME itm cr = fromMaybe id $ do
applyRecoil :: Item -> Creature -> World -> World applyRecoil :: Item -> Creature -> World -> World
applyRecoil itm cr = applyRecoil itm cr =
cWorld . lWorld . creatures . ix (_crID cr) . crPos cWorld . lWorld . creatures . ix (_crID cr) . crPos
+~ rotateV (_crDir cr) (V2 ((- recoilAmount itm) / _crMass cr) 0) +~ rotateV (_crDir cr) (V2 ((- recoilAmount itm) / crMass (_crType cr)) 0)
recoilAmount :: Item -> Float recoilAmount :: Item -> Float
recoilAmount itm recoilAmount itm
@@ -559,7 +560,7 @@ applySidePush maxSide cr w =
& randGen .~ g & randGen .~ g
where where
cid = _crID cr cid = _crID cr
push = rotateV (_crDir cr) (V2 0 (pushAmount / _crMass cr)) push = rotateV (_crDir cr) (V2 0 (pushAmount / crMass (_crType cr)))
(pushAmount, g) = randomR (- maxSide, maxSide) $ _randGen w (pushAmount, g) = randomR (- maxSide, maxSide) $ _randGen w
applyTorqueCME :: Item -> Creature -> World -> World applyTorqueCME :: Item -> Creature -> World -> World
+4 -3
View File
@@ -7,6 +7,7 @@ Description : Simulation update
-} -}
module Dodge.Update (updateUniverse) where module Dodge.Update (updateUniverse) where
import Dodge.Creature.Mass
import Dodge.Damage import Dodge.Damage
import RandomHelp import RandomHelp
import Dodge.Data.CrWlID import Dodge.Data.CrWlID
@@ -793,9 +794,9 @@ crCrSpring c1 c2
vec = _crPos c1 -.- _crPos c2 vec = _crPos c1 -.- _crPos c2
diff = magV vec diff = magV vec
comRad = _crRad c1 + _crRad c2 comRad = _crRad c1 + _crRad c2
overlap1 = ((comRad - diff) * _crMass c2 * 0.5 / massT) *.* errorNormalizeV 55 vec overlap1 = ((comRad - diff) * crMass (_crType c2) * 0.5 / massT) *.* errorNormalizeV 55 vec
overlap2 = ((comRad - diff) * _crMass c1 * 0.5 / massT) *.* errorNormalizeV 56 vec overlap2 = ((comRad - diff) * crMass (_crType c1) * 0.5 / massT) *.* errorNormalizeV 56 vec
massT = _crMass c1 + _crMass c2 massT = crMass (_crType c1) + crMass (_crType c2)
updateDelayedEvents :: World -> World updateDelayedEvents :: World -> World
updateDelayedEvents w = updateDelayedEvents w =
+49 -47
View File
@@ -109,13 +109,14 @@ Attention src/Dodge/Data/Creature/Perception.hs 60;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C
Audition src/Dodge/Data/Creature/Perception.hs 47;" t Audition src/Dodge/Data/Creature/Perception.hs 47;" t
AutoAI src/Dodge/Data/Creature/Misc.hs 56;" C AutoAI src/Dodge/Data/Creature/Misc.hs 56;" C
AutoCrit src/Dodge/Data/Creature/Misc.hs 78;" C AutoCrit src/Dodge/Data/Creature/Misc.hs 74;" C
AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m
AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C
AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 26;" C AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 26;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 10;" C AutoTrigger src/Dodge/Data/TriggerType.hs 10;" C
AuxAddition src/Shader/AuxAddition.hs 1;" m AuxAddition src/Shader/AuxAddition.hs 1;" m
Avatar src/Dodge/Data/Creature/Misc.hs 70;" C Avatar src/Dodge/Data/Creature/Misc.hs 70;" C
AvatarDead src/Dodge/Data/Creature/Misc.hs 71;" C
Awareness src/Dodge/Data/Creature/Perception.hs 65;" t Awareness src/Dodge/Data/Creature/Perception.hs 65;" t
Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m
BANGCONE src/Dodge/Data/Item/Combine.hs 147;" C BANGCONE src/Dodge/Data/Item/Combine.hs 147;" C
@@ -145,10 +146,10 @@ BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C
Ball src/Dodge/Tesla/Ball.hs 1;" m Ball src/Dodge/Tesla/Ball.hs 1;" m
Bark src/Dodge/Data/ActionPlan.hs 40;" C Bark src/Dodge/Data/ActionPlan.hs 40;" C
Barrel src/Dodge/Data/Creature/State.hs 30;" C Barrel src/Dodge/Data/Creature/State.hs 30;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 79;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 75;" C
BarrelHiss src/Dodge/Data/SoundOrigin.hs 32;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 32;" C
BarrelType src/Dodge/Data/Creature/Misc.hs 93;" t BarrelType src/Dodge/Data/Creature/Misc.hs 89;" t
Barreloid src/Dodge/Data/Creature/Misc.hs 89;" C Barreloid src/Dodge/Data/Creature/Misc.hs 85;" C
Barreloid src/Dodge/Barreloid.hs 1;" m Barreloid src/Dodge/Barreloid.hs 1;" 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
@@ -302,7 +303,7 @@ ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C
CharacterEnums src/Dodge/CharacterEnums.hs 1;" m CharacterEnums src/Dodge/CharacterEnums.hs 1;" m
ChargeableAmmo src/Dodge/Data/Item/Use/Consumption.hs 32;" C ChargeableAmmo src/Dodge/Data/Item/Use/Consumption.hs 32;" C
ChaseAI src/Dodge/Data/Creature/Misc.hs 49;" C ChaseAI src/Dodge/Data/Creature/Misc.hs 49;" C
ChaseCrit src/Dodge/Data/Creature/Misc.hs 76;" C ChaseCrit src/Dodge/Data/Creature/Misc.hs 72;" C
ChaseCrit src/Dodge/Creature/ChaseCrit.hs 1;" m ChaseCrit src/Dodge/Creature/ChaseCrit.hs 1;" m
ChaseCritters src/Dodge/Data/Creature/State.hs 38;" C ChaseCritters src/Dodge/Data/Creature/State.hs 38;" C
Check src/Framebuffer/Check.hs 1;" m Check src/Framebuffer/Check.hs 1;" m
@@ -439,7 +440,7 @@ CreatureDropType src/Dodge/Data/Creature/State.hs 23;" t
CreatureEffect src/Dodge/CreatureEffect.hs 1;" m CreatureEffect src/Dodge/CreatureEffect.hs 1;" m
CreatureEffect src/Dodge/Data/CreatureEffect.hs 6;" m CreatureEffect src/Dodge/Data/CreatureEffect.hs 6;" m
CreaturePart src/Dodge/Data/Wall/Structure.hs 17;" C CreaturePart src/Dodge/Data/Wall/Structure.hs 17;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 82;" t CreatureShape src/Dodge/Data/Creature/Misc.hs 78;" t
CreatureState src/Dodge/Data/Creature/State.hs 16;" t CreatureState src/Dodge/Data/Creature/State.hs 16;" t
CreatureStatistics src/Dodge/Data/Creature/Misc.hs 20;" t CreatureStatistics src/Dodge/Data/Creature/Misc.hs 20;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 69;" t CreatureType src/Dodge/Data/Creature/Misc.hs 69;" t
@@ -660,7 +661,7 @@ Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 37;" C Explosion src/Dodge/Data/SoundOrigin.hs 37;" C
Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m
ExplosionPayload src/Dodge/Data/Payload.hs 11;" C ExplosionPayload src/Dodge/Data/Payload.hs 11;" C
ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 93;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 89;" C
ExplosivePutty src/Dodge/Data/AmmoType.hs 17;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 17;" C
ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" m ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" m
ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m
@@ -866,7 +867,7 @@ HotkeyV src/Dodge/Data/Equipment/Misc.hs 39;" C
HotkeyX src/Dodge/Data/Equipment/Misc.hs 37;" C HotkeyX src/Dodge/Data/Equipment/Misc.hs 37;" C
HotkeyZ src/Dodge/Data/Equipment/Misc.hs 36;" C HotkeyZ src/Dodge/Data/Equipment/Misc.hs 36;" C
Huge src/Shape/Data.hs 28;" C Huge src/Shape/Data.hs 28;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 83;" C Humanoid src/Dodge/Data/Creature/Misc.hs 79;" C
Humanoid src/Dodge/Humanoid.hs 1;" m Humanoid src/Dodge/Humanoid.hs 1;" m
HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t
ILink src/Dodge/Data/ComposedItem.hs 72;" C ILink src/Dodge/Data/ComposedItem.hs 72;" C
@@ -1019,7 +1020,7 @@ LabelDoubleTree src/Dodge/Data/DoubleTree.hs 40;" t
LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 23;" t LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 23;" t
Laboratory src/Dodge/Data/Scenario.hs 61;" C Laboratory src/Dodge/Data/Scenario.hs 61;" C
Lamp src/Dodge/Creature/Lamp.hs 1;" m Lamp src/Dodge/Creature/Lamp.hs 1;" m
LampCrit src/Dodge/Data/Creature/Misc.hs 80;" C LampCrit src/Dodge/Data/Creature/Misc.hs 76;" C
Lampoid src/Dodge/Lampoid.hs 1;" m Lampoid src/Dodge/Lampoid.hs 1;" m
Large src/Shape/Data.hs 29;" C Large src/Shape/Data.hs 29;" C
LasBeamCombine src/Dodge/Data/Beam.hs 40;" C LasBeamCombine src/Dodge/Data/Beam.hs 40;" C
@@ -1155,6 +1156,7 @@ Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t
Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C
MapperInventory src/Dodge/Data/HUD.hs 31;" C MapperInventory src/Dodge/Data/HUD.hs 31;" C
MapperSF src/Dodge/Data/ComposedItem.hs 67;" C MapperSF src/Dodge/Data/ComposedItem.hs 67;" C
Mass src/Dodge/Creature/Mass.hs 2;" m
Material src/Dodge/Data/Material.hs 11;" t Material src/Dodge/Data/Material.hs 11;" t
Material src/Dodge/Data/Material.hs 6;" m Material src/Dodge/Data/Material.hs 6;" m
Material src/Dodge/Material.hs 1;" m Material src/Dodge/Material.hs 1;" m
@@ -1313,7 +1315,7 @@ NodeMTree src/Dodge/Data/MetaTree.hs 14;" C
NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C
NodeTree src/Dodge/Data/MetaTree.hs 13;" C NodeTree src/Dodge/Data/MetaTree.hs 13;" C
NodeTree src/Dodge/Tree/Compose/Data.hs 9;" C NodeTree src/Dodge/Tree/Compose/Data.hs 9;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 90;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 86;" C
NormalOptions src/Dodge/Data/Universe.hs 72;" C NormalOptions src/Dodge/Data/Universe.hs 72;" C
NormalTimeFlow src/Dodge/Data/World.hs 60;" C NormalTimeFlow src/Dodge/Data/World.hs 60;" C
North src/Dodge/Data/CardinalPoint.hs 4;" C North src/Dodge/Data/CardinalPoint.hs 4;" C
@@ -1469,7 +1471,7 @@ PlacementHelper src/Dodge/LevelGen/PlacementHelper.hs 1;" m
PlacementSpot src/Dodge/Data/GenWorld.hs 61;" t PlacementSpot src/Dodge/Data/GenWorld.hs 61;" t
PlacementSpot src/Dodge/PlacementSpot.hs 2;" m PlacementSpot src/Dodge/PlacementSpot.hs 2;" m
PlacementUsingPos src/Dodge/Data/GenWorld.hs 83;" C PlacementUsingPos src/Dodge/Data/GenWorld.hs 83;" C
PlainBarrel src/Dodge/Data/Creature/Misc.hs 93;" C PlainBarrel src/Dodge/Data/Creature/Misc.hs 89;" C
PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C
PlayStatus src/Sound/Data.hs 23;" t PlayStatus src/Sound/Data.hs 23;" t
PlayerFaction src/Dodge/Data/Creature/State.hs 42;" C PlayerFaction src/Dodge/Data/Creature/State.hs 42;" C
@@ -1886,7 +1888,7 @@ Swap src/Dodge/Inventory/Swap.hs 1;" m
SwapEquipment src/Dodge/Data/RightButtonOptions.hs 27;" C SwapEquipment src/Dodge/Data/RightButtonOptions.hs 27;" C
Swarm src/Dodge/Data/Creature/State.hs 47;" C Swarm src/Dodge/Data/Creature/State.hs 47;" C
SwarmAI src/Dodge/Data/Creature/Misc.hs 55;" C SwarmAI src/Dodge/Data/Creature/Misc.hs 55;" C
SwarmCrit src/Dodge/Data/Creature/Misc.hs 77;" C SwarmCrit src/Dodge/Data/Creature/Misc.hs 73;" C
SwarmCrit src/Dodge/Creature/SwarmCrit.hs 1;" m SwarmCrit src/Dodge/Creature/SwarmCrit.hs 1;" m
SwarmPlacement src/Dodge/LevelGen/SwarmPlacement.hs 1;" m SwarmPlacement src/Dodge/LevelGen/SwarmPlacement.hs 1;" m
Switch src/Dodge/LevelGen/Switch.hs 1;" m Switch src/Dodge/LevelGen/Switch.hs 1;" m
@@ -2269,9 +2271,9 @@ _asDir src/Dodge/Data/ArcStep.hs 16;" f
_asObject src/Dodge/Data/ArcStep.hs 17;" f _asObject src/Dodge/Data/ArcStep.hs 17;" f
_asPos src/Dodge/Data/ArcStep.hs 15;" f _asPos src/Dodge/Data/ArcStep.hs 15;" f
_auDist src/Dodge/Data/Creature/Perception.hs 48;" f _auDist src/Dodge/Data/Creature/Perception.hs 48;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 74;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 70;" f
_barrelShader src/Data/Preload/Render.hs 23;" f _barrelShader src/Data/Preload/Render.hs 23;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 89;" f _barrelType src/Dodge/Data/Creature/Misc.hs 75;" f
_bdMaxX src/Dodge/Data/Bounds.hs 14;" f _bdMaxX src/Dodge/Data/Bounds.hs 14;" f
_bdMaxY src/Dodge/Data/Bounds.hs 16;" f _bdMaxY src/Dodge/Data/Bounds.hs 16;" f
_bdMinX src/Dodge/Data/Bounds.hs 13;" f _bdMinX src/Dodge/Data/Bounds.hs 13;" f
@@ -2421,7 +2423,6 @@ _crInv src/Dodge/Data/Creature.hs 47;" f
_crInvCapacity src/Dodge/Data/Creature.hs 49;" f _crInvCapacity src/Dodge/Data/Creature.hs 49;" f
_crInvLock src/Dodge/Data/Creature.hs 50;" f _crInvLock src/Dodge/Data/Creature.hs 50;" f
_crManipulation src/Dodge/Data/Creature.hs 48;" f _crManipulation src/Dodge/Data/Creature.hs 48;" f
_crMass src/Dodge/Data/Creature.hs 44;" f
_crMaterial src/Dodge/Data/Creature.hs 53;" f _crMaterial src/Dodge/Data/Creature.hs 53;" f
_crMaxHP src/Dodge/Data/Creature.hs 46;" f _crMaxHP src/Dodge/Data/Creature.hs 46;" f
_crMeleeCooldown src/Dodge/Data/Creature.hs 57;" f _crMeleeCooldown src/Dodge/Data/Creature.hs 57;" f
@@ -2619,7 +2620,7 @@ _heldWorldPos src/Dodge/Data/Input.hs 56;" f
_hotkeys src/Dodge/Data/LWorld.hs 149;" f _hotkeys src/Dodge/Data/LWorld.hs 149;" f
_hud src/Dodge/Data/World.hs 45;" f _hud src/Dodge/Data/World.hs 45;" f
_hudElement src/Dodge/Data/HUD.hs 45;" f _hudElement src/Dodge/Data/HUD.hs 45;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 87;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 83;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 21;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 21;" f
_iatOrient src/Dodge/Data/ComposedItem.hs 74;" f _iatOrient src/Dodge/Data/ComposedItem.hs 74;" f
_iatType src/Dodge/Data/ComposedItem.hs 73;" f _iatType src/Dodge/Data/ComposedItem.hs 73;" f
@@ -2683,9 +2684,9 @@ _lClock src/Dodge/Data/LWorld.hs 146;" f
_lTestInt src/Dodge/Data/LWorld.hs 148;" f _lTestInt src/Dodge/Data/LWorld.hs 148;" f
_lTestString src/Dodge/Data/LWorld.hs 147;" f _lTestString src/Dodge/Data/LWorld.hs 147;" f
_lWorld src/Dodge/Data/CWorld.hs 24;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 80;" f _lampColor src/Dodge/Data/Creature/Misc.hs 76;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 80;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 76;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 80;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 76;" f
_laserEmmiter src/Dodge/Data/Laser.hs 18;" f _laserEmmiter src/Dodge/Data/Laser.hs 18;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 17;" f _laserTypeDamage src/Dodge/Data/Laser.hs 17;" f
_lasers src/Dodge/Data/LWorld.hs 119;" f _lasers src/Dodge/Data/LWorld.hs 119;" f
@@ -3077,9 +3078,9 @@ _skOldPos src/Dodge/Data/Spark.hs 19;" f
_skPos src/Dodge/Data/Spark.hs 18;" f _skPos src/Dodge/Data/Spark.hs 18;" f
_skVel src/Dodge/Data/Spark.hs 16;" f _skVel src/Dodge/Data/Spark.hs 16;" f
_skWidth src/Dodge/Data/Spark.hs 20;" f _skWidth src/Dodge/Data/Spark.hs 20;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 84;" f _skinHead src/Dodge/Data/Creature/Misc.hs 80;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 86;" f _skinLower src/Dodge/Data/Creature/Misc.hs 82;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 85;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 81;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 52;" f _smoothScrollAmount src/Dodge/Data/Input.hs 52;" f
_soundAngDist src/Sound/Data.hs 49;" f _soundAngDist src/Sound/Data.hs 49;" f
_soundChannel src/Sound/Data.hs 48;" f _soundChannel src/Sound/Data.hs 48;" f
@@ -3622,8 +3623,8 @@ chooseEquipPosition src/Dodge/Inventory/RBList.hs 36;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f
chooseMovementPistol src/Dodge/Humanoid.hs 202;" f chooseMovementPistol src/Dodge/Humanoid.hs 203;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f chooseMovementPistol' src/Dodge/Humanoid.hs 208;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f
circCollisionDebugItem src/Dodge/Debug.hs 63;" f circCollisionDebugItem src/Dodge/Debug.hs 63;" f
circHitWall src/Dodge/Base/Collide.hs 148;" f circHitWall src/Dodge/Base/Collide.hs 148;" f
@@ -3748,6 +3749,7 @@ crIXsNearPoint src/Dodge/Zoning/Creature.hs 13;" f
crInAimStance src/Dodge/Creature/Test.hs 91;" f crInAimStance src/Dodge/Creature/Test.hs 91;" f
crIsAiming src/Dodge/Creature/Test.hs 57;" f crIsAiming src/Dodge/Creature/Test.hs 57;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 112;" f crIsArmouredFrom src/Dodge/Creature/Test.hs 112;" f
crMass src/Dodge/Creature/Mass.hs 5;" f
crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 27;" f crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 27;" f
crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 41;" f crMvForward src/Dodge/Creature/Impulse/Movement.hs 41;" f
@@ -3887,12 +3889,12 @@ dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 340;" f
defDamageMaterial src/Dodge/Material/Damage.hs 17;" f defDamageMaterial src/Dodge/Material/Damage.hs 17;" f
defLSPic src/Dodge/LightSource/Draw.hs 10;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f
defSPic src/Dodge/Item/Draw/SPic.hs 299;" f defSPic src/Dodge/Item/Draw/SPic.hs 299;" f
defaultAimMvType src/Dodge/Default/Creature.hs 116;" f defaultAimMvType src/Dodge/Default/Creature.hs 115;" f
defaultAimingCrit src/Dodge/Default/Creature.hs 125;" f defaultAimingCrit src/Dodge/Default/Creature.hs 124;" f
defaultApplyDamage src/Dodge/Creature/Damage.hs 20;" f defaultApplyDamage src/Dodge/Creature/Damage.hs 20;" f
defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f
defaultArcStep src/Dodge/Tesla/Arc/Default.hs 15;" f defaultArcStep src/Dodge/Tesla/Arc/Default.hs 15;" f
defaultAudition src/Dodge/Default/Creature.hs 93;" f defaultAudition src/Dodge/Default/Creature.hs 92;" f
defaultAutoWall src/Dodge/Default/Door.hs 15;" f defaultAutoWall src/Dodge/Default/Door.hs 15;" f
defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBlock src/Dodge/Default/Block.hs 5;" f
defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBounds src/Dodge/Data/Bounds.hs 20;" f
@@ -3901,13 +3903,13 @@ defaultButton src/Dodge/Default.hs 49;" f
defaultCWCam src/Dodge/Default/World.hs 68;" f defaultCWCam src/Dodge/Default/World.hs 68;" f
defaultCWGen src/Dodge/Default/World.hs 58;" f defaultCWGen src/Dodge/Default/World.hs 58;" f
defaultCWorld src/Dodge/Default/World.hs 83;" f defaultCWorld src/Dodge/Default/World.hs 83;" f
defaultChaseMvType src/Dodge/Default/Creature.hs 107;" f defaultChaseMvType src/Dodge/Default/Creature.hs 106;" f
defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f
defaultConfig src/Dodge/Data/Config.hs 127;" f defaultConfig src/Dodge/Data/Config.hs 127;" f
defaultCorpse src/Dodge/Corpse/Make.hs 34;" f defaultCorpse src/Dodge/Corpse/Make.hs 34;" f
defaultCraftItem src/Dodge/Default/Item.hs 25;" f defaultCraftItem src/Dodge/Default/Item.hs 25;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f
defaultCreatureMemory src/Dodge/Default/Creature.hs 66;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f
defaultCrystalWall src/Dodge/Default/Wall.hs 40;" f defaultCrystalWall src/Dodge/Default/Wall.hs 40;" f
defaultDirtBlock src/Dodge/Default/Block.hs 19;" f defaultDirtBlock src/Dodge/Default/Block.hs 19;" f
defaultDirtWall src/Dodge/Default/Wall.hs 61;" f defaultDirtWall src/Dodge/Default/Wall.hs 61;" f
@@ -3922,11 +3924,11 @@ defaultFlIt src/Dodge/Default.hs 28;" f
defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f
defaultHUD src/Dodge/Default/World.hs 154;" f defaultHUD src/Dodge/Default/World.hs 154;" f
defaultHeldItem src/Dodge/Default/Item.hs 9;" f defaultHeldItem src/Dodge/Default/Item.hs 9;" f
defaultImpulsive src/Dodge/Humanoid.hs 190;" f defaultImpulsive src/Dodge/Humanoid.hs 191;" f
defaultInanimate src/Dodge/Default/Creature.hs 63;" f defaultInanimate src/Dodge/Default/Creature.hs 62;" f
defaultInput src/Dodge/Default/World.hs 14;" f defaultInput src/Dodge/Default/World.hs 14;" f
defaultIntention src/Dodge/Default/Creature.hs 99;" f defaultIntention src/Dodge/Default/Creature.hs 98;" f
defaultInvSize src/Dodge/Default/Creature.hs 73;" f defaultInvSize src/Dodge/Default/Creature.hs 72;" f
defaultLS src/Dodge/Default/LightSource.hs 8;" f defaultLS src/Dodge/Default/LightSource.hs 8;" f
defaultLWorld src/Dodge/Default/World.hs 95;" f defaultLWorld src/Dodge/Default/World.hs 95;" f
defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f
@@ -3935,16 +3937,16 @@ defaultMachine src/Dodge/Default.hs 31;" f
defaultMachineWall src/Dodge/Default/Wall.hs 48;" f defaultMachineWall src/Dodge/Default/Wall.hs 48;" f
defaultMuzzles src/Dodge/Default/Item/Use/AimParams.hs 8;" f defaultMuzzles src/Dodge/Default/Item/Use/AimParams.hs 8;" f
defaultPP src/Dodge/Default.hs 64;" f defaultPP src/Dodge/Default.hs 64;" f
defaultPerceptionState src/Dodge/Default/Creature.hs 76;" f defaultPerceptionState src/Dodge/Default/Creature.hs 75;" f
defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProp src/Dodge/Default/Prop.hs 6;" f
defaultProximitySensor src/Dodge/Default.hs 75;" f defaultProximitySensor src/Dodge/Default.hs 75;" f
defaultRoom src/Dodge/Default/Room.hs 9;" f defaultRoom src/Dodge/Default/Room.hs 9;" f
defaultSensorWall src/Dodge/Default/Wall.hs 58;" f defaultSensorWall src/Dodge/Default/Wall.hs 58;" f
defaultState src/Dodge/Default/Creature.hs 134;" f defaultState src/Dodge/Default/Creature.hs 133;" f
defaultSwitchWall src/Dodge/Default/Door.hs 22;" f defaultSwitchWall src/Dodge/Default/Door.hs 22;" f
defaultTerminal src/Dodge/Default/Terminal.hs 9;" f defaultTerminal src/Dodge/Default/Terminal.hs 9;" f
defaultTerminalInput src/Dodge/Default/Terminal.hs 32;" f defaultTerminalInput src/Dodge/Default/Terminal.hs 32;" f
defaultVision src/Dodge/Default/Creature.hs 86;" f defaultVision src/Dodge/Default/Creature.hs 85;" f
defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWall src/Dodge/Default/Wall.hs 10;" f
defaultWindow src/Dodge/Default/Wall.hs 74;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f
defaultWorld src/Dodge/Default/World.hs 34;" f defaultWorld src/Dodge/Default/World.hs 34;" f
@@ -4572,7 +4574,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 183;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 183;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 74;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 74;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 180;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 180;" f
humanoidAIList src/Dodge/Humanoid.hs 181;" f humanoidAIList src/Dodge/Humanoid.hs 182;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
@@ -4659,7 +4661,7 @@ invSetSelectionPos src/Dodge/Inventory.hs 193;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 166;" f invSideEff src/Dodge/Creature/State.hs 166;" f
invSize src/Dodge/Inventory/CheckSlots.hs 25;" f invSize src/Dodge/Inventory/CheckSlots.hs 25;" f
inventoryX src/Dodge/Creature.hs 117;" f inventoryX src/Dodge/Creature.hs 114;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 201;" f inverseSelSecYint src/Dodge/SelectionSections.hs 201;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 212;" f inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 212;" f
@@ -4767,7 +4769,7 @@ knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f
lamp src/Dodge/Creature/Lamp.hs 22;" f lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 55;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 55;" f
@@ -5512,8 +5514,8 @@ restrictLinkType src/Dodge/RoomLink.hs 32;" f
restrictOutLinks src/Dodge/RoomLink.hs 45;" f restrictOutLinks src/Dodge/RoomLink.hs 45;" f
restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f
resumeSound src/Dodge/SoundLogic.hs 48;" f resumeSound src/Dodge/SoundLogic.hs 48;" f
retreatActionsPistol src/Dodge/Humanoid.hs 248;" f retreatActionsPistol src/Dodge/Humanoid.hs 249;" f
retreatFireLauncher src/Dodge/Humanoid.hs 269;" f retreatFireLauncher src/Dodge/Humanoid.hs 270;" f
retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 7;" f retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 7;" f
reversePair src/Dodge/LevelGen.hs 82;" f reversePair src/Dodge/LevelGen.hs 82;" f
rewinder src/Dodge/Item/Held/Utility.hs 36;" f rewinder src/Dodge/Item/Held/Utility.hs 36;" f
@@ -5908,12 +5910,12 @@ ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 98;" f stackPicturesAt src/Dodge/Render/List.hs 98;" f
stackPicturesAtOff src/Dodge/Render/List.hs 101;" f stackPicturesAtOff src/Dodge/Render/List.hs 101;" f
stackText src/Picture/Base.hs 188;" f stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 310;" f stackedInventory src/Dodge/Creature.hs 307;" f
startCr src/Dodge/Creature.hs 92;" f startCr src/Dodge/Creature.hs 92;" f
startCrafts src/Dodge/Room/Start.hs 92;" f startCrafts src/Dodge/Room/Start.hs 92;" f
startDrag src/Dodge/Update/Input/InGame.hs 279;" f startDrag src/Dodge/Update/Input/InGame.hs 279;" f
startInvList src/Dodge/Creature.hs 111;" f startInvList src/Dodge/Creature.hs 108;" f
startInventory src/Dodge/Creature.hs 114;" f startInventory src/Dodge/Creature.hs 111;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f
startRoom src/Dodge/Room/Start.hs 52;" f startRoom src/Dodge/Room/Start.hs 52;" f
startSeedGame src/Dodge/StartNewGame.hs 20;" f startSeedGame src/Dodge/StartNewGame.hs 20;" f
@@ -5999,7 +6001,7 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 32;" f
teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
testCrossWalls src/Dodge/Room/Path.hs 47;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f
testEvent src/Dodge/Event/Test.hs 10;" f testEvent src/Dodge/Event/Test.hs 10;" f
testInventory src/Dodge/Creature.hs 291;" f testInventory src/Dodge/Creature.hs 288;" f
testStringInit src/Dodge/TestString.hs 28;" f testStringInit src/Dodge/TestString.hs 28;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
@@ -6448,8 +6450,8 @@ you src/Dodge/Base/You.hs 12;" f
youDropItem src/Dodge/Creature/Action.hs 190;" f youDropItem src/Dodge/Creature/Action.hs 190;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 236;" f yourAugmentedItem src/Dodge/Render/HUD.hs 236;" f
yourControl src/Dodge/Creature/YourControl.hs 27;" f yourControl src/Dodge/Creature/YourControl.hs 27;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 128;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 127;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 131;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 130;" f
yourInfo src/Dodge/Creature/Info.hs 8;" f yourInfo src/Dodge/Creature/Info.hs 8;" f
yourInv src/Dodge/Base/You.hs 25;" f yourInv src/Dodge/Base/You.hs 25;" f
yourRootItem src/Dodge/Base/You.hs 20;" f yourRootItem src/Dodge/Base/You.hs 20;" f