Redo maxDamageType

This commit is contained in:
2025-06-08 20:56:56 +01:00
parent 70c78824f3
commit 1b769ad504
4 changed files with 81 additions and 73 deletions
+4 -4
View File
@@ -3,6 +3,7 @@ module Dodge.Creature.State (
doDamage,
) where
import Dodge.Data.Damage.Type
import Dodge.Item.BackgroundEffect
import Dodge.Item.MaxAmmo
import Control.Applicative
@@ -108,10 +109,9 @@ checkDeath cr w
-- could look at the amount of damage here (given by maxDamage) too
corpseOrGib :: Creature -> World -> World
corpseOrGib cr = case cr ^? crState . csDamage . to maxDamageType . _Just . _1 of
Just Flaming{} -> plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ scorchSPic)
Just Electrical{} -> plNew (cWorld . lWorld . corpses) cpID thecorpse
Just Poison{} -> plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ poisonSPic)
_ | _crPastDamage cr > 200 -> addCrGibs cr
Just CookingDamage -> plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ scorchSPic)
Just PoisonDamage -> plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ poisonSPic)
Just PhysicalDamage | _crPastDamage cr > 200 -> addCrGibs cr
_ -> plNew (cWorld . lWorld . corpses) cpID thecorpse
where
thecorpse = makeCorpse cr
+25 -8
View File
@@ -7,12 +7,15 @@ module Dodge.Damage (
maxDamageType,
) where
import Dodge.Data.Damage.Type
import Geometry.Vector
import ListHelp
import Dodge.Data.CrWlID
import Dodge.Data.World
import qualified IntMapHelp as IM
import LensHelp
import qualified Data.Map.Strict as M
import FoldableHelp
damageCrWlID :: Damage -> CrWlID -> World -> World
damageCrWlID dam = \case
@@ -28,12 +31,26 @@ damageCrWl dt (Right wl) = cWorld . lWorld . wallDamages %~ IM.insertWith (++) (
damageDirection :: [Damage] -> Maybe Float
damageDirection ds = safeArgV =<< safeHead (ds ^.. each . dmVector)
--collectDamageTypes :: [Damage] -> M.Map DamageType Int
--collectDamageTypes = foldl' (flip f) M.empty
-- where
-- f dm = M.insertWith (+) (_dmType dm) (_dmAmount dm)
--
maxDamageType :: [Damage] -> Maybe (Damage, Int)
maxDamageType _ = Nothing
dmType :: Damage -> DamageType
dmType = \case
Piercing {} -> PhysicalDamage
Blunt {} -> PhysicalDamage
Sparking {} -> CookingDamage
Crushing {} -> PhysicalDamage
Shattering {} -> PhysicalDamage
Flaming {} -> CookingDamage
Lasering {} -> CookingDamage
Flashing {} -> CookingDamage
Electrical {} -> CookingDamage
Explosive {} -> PhysicalDamage
Poison {} -> PoisonDamage
Enterrement {} -> PhysicalDamage
--maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes
collectDamageTypes :: [Damage] -> M.Map DamageType Int
collectDamageTypes = foldl' (flip f) M.empty
where
f dm = at (dmType dm) . non 0 +~ _dmAmount dm
--f dm = M.insertWith (+) (dmType dm) (_dmAmount dm)
maxDamageType :: [Damage] -> Maybe (DamageType, Int)
maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes
+3
View File
@@ -33,3 +33,6 @@ data Damage
makeLenses ''Damage
deriveJSON defaultOptions ''Damage
--deriveJSON defaultOptions ''DamageType
--instance ToJSONKey DamageType
--instance FromJSONKey DamageType
+49 -61
View File
@@ -47,7 +47,7 @@ AddGoal src/Dodge/Data/ActionPlan.hs 45;" C
AesonHelp src/AesonHelp.hs 1;" m
AimAt src/Dodge/Data/ActionPlan.hs 84;" C
AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m
AimStance src/Dodge/Data/AimStance.hs 4;" m
AimStance src/Dodge/Data/AimStance.hs 3;" m
AimStance src/Dodge/Item/AimStance.hs 2;" m
Aiming src/Dodge/Data/Creature/Stance.hs 39;" C
AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C
@@ -129,7 +129,6 @@ BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 179;" C
BLOWTORCH src/Dodge/Data/Item/Combine.hs 165;" C
BLUE src/Color/Data.hs 17;" C
BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 148;" C
BLUNT src/Dodge/Data/Damage/Type.hs 14;" C
BQuad src/Geometry/Bezier.hs 9;" t
BRAINHAT src/Dodge/Data/Item/Combine.hs 125;" C
BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 133;" C
@@ -261,13 +260,10 @@ CHeal src/Dodge/Data/Item/HeldUse.hs 16;" C
CIRCLE src/Dodge/Data/GenParams.hs 20;" C
CLICKER src/Dodge/Data/Item/Combine.hs 28;" C
CME src/Dodge/Data/MuzzleEffect.hs 14;" C
CONCUSSIVE src/Dodge/Data/Damage/Type.hs 23;" C
COPIER src/Dodge/Data/Item/Combine.hs 29;" C
CRAFT src/Dodge/Data/Item/Combine.hs 19;" C
CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 184;" C
CREATURESENSOR src/Dodge/Data/Item/Combine.hs 85;" C
CRUSHING src/Dodge/Data/Damage/Type.hs 17;" C
CUTTING src/Dodge/Data/Damage/Type.hs 15;" C
CWGen src/Dodge/Data/CWorld.hs 32;" t
CWorld src/Dodge/Data/CWorld.hs 23;" t
CWorld src/Dodge/Data/CWorld.hs 6;" m
@@ -376,6 +372,7 @@ ContinentalGovernment src/Dodge/Data/Scenario.hs 51;" C
ControlDeckSS src/Dodge/Data/Scenario.hs 89;" C
ConvexPoly src/Geometry/ConvexPoly.hs 27;" t
ConvexPoly src/Geometry/ConvexPoly.hs 6;" m
CookingDamage src/Dodge/Data/Damage/Type.hs 5;" C
Coordinate src/Dodge/Base/Coordinate.hs 1;" m
Corporation src/Dodge/Data/Scenario.hs 46;" C
Corpse src/Dodge/Data/Corpse.hs 17;" t
@@ -463,7 +460,7 @@ DTRootNode src/Dodge/Data/DoubleTree.hs 16;" C
DTTopNode src/Dodge/Data/DoubleTree.hs 17;" C
Damage src/Dodge/Data/Damage.hs 19;" t
Damage src/Dodge/Creature/Damage.hs 1;" m
Damage src/Dodge/Damage.hs 2;" m
Damage src/Dodge/Damage.hs 3;" m
Damage src/Dodge/Data/Damage.hs 10;" m
Damage src/Dodge/Machine/Damage.hs 1;" m
Damage src/Dodge/Material/Damage.hs 1;" m
@@ -473,7 +470,7 @@ DamageCircle src/Dodge/DamageCircle.hs 1;" m
DamageEffect src/Dodge/Wall/DamageEffect.hs 2;" m
DamageLaser src/Dodge/Data/Laser.hs 17;" C
DamageSensor src/Dodge/Data/Machine/Sensor.hs 20;" C
DamageType src/Dodge/Data/Damage/Type.hs 12;" t
DamageType src/Dodge/Data/Damage/Type.hs 3;" t
Data src/Color/Data.hs 7;" m
Data src/Dodge/Annotation/Data.hs 4;" m
Data src/Dodge/Data.hs 4;" m
@@ -599,13 +596,10 @@ Dust src/Dodge/Wall/Dust.hs 1;" m
EBO src/Shader/Data.hs 88;" t
EDoNothing src/Dodge/Data/Item/HeldUse.hs 20;" C
EHeadLamp src/Dodge/Data/Item/HeldUse.hs 23;" C
ELECTRICAL src/Dodge/Data/Damage/Type.hs 21;" C
ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 157;" C
EMagShield src/Dodge/Data/Item/HeldUse.hs 21;" C
ENTERREMENT src/Dodge/Data/Damage/Type.hs 25;" C
EQUIP src/Dodge/Data/Item/Combine.hs 18;" C
EWristShield src/Dodge/Data/Item/HeldUse.hs 22;" C
EXPLOSIVE src/Dodge/Data/Damage/Type.hs 22;" C
EXPLOSIVES src/Dodge/Data/Item/Combine.hs 116;" C
Ears src/Dodge/Data/Creature/Perception.hs 47;" C
East src/Dodge/Data/CardinalPoint.hs 5;" C
@@ -673,7 +667,6 @@ FLAMESPITTER src/Dodge/Data/Item/Combine.hs 161;" C
FLAMETHROWER src/Dodge/Data/Item/Combine.hs 162;" C
FLAMETORRENT src/Dodge/Data/Item/Combine.hs 163;" C
FLAMEWALL src/Dodge/Data/Item/Combine.hs 164;" C
FLAMING src/Dodge/Data/Damage/Type.hs 19;" C
FLATSHIELD src/Dodge/Data/Item/Combine.hs 176;" C
FRONTARMOUR src/Dodge/Data/Item/Combine.hs 122;" C
FUELCELL src/Dodge/Data/Item/Combine.hs 87;" C
@@ -998,7 +991,6 @@ Justify src/Justify.hs 1;" m
KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C
Kill src/Dodge/Data/ActionPlan.hs 198;" C
LASER src/Dodge/Data/Item/Combine.hs 168;" C
LASERING src/Dodge/Data/Damage/Type.hs 20;" C
LDT src/Dodge/Data/DoubleTree.hs 40;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 28;" C
LDTComb src/Dodge/Item/Grammar.hs 239;" t
@@ -1385,7 +1377,7 @@ OnSpecial src/Dodge/Data/Equipment/Misc.hs 28;" C
OnTurret src/Dodge/Data/Item/Location.hs 37;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 16;" C
OneArgument src/Dodge/Data/Terminal.hs 92;" C
OneHand src/Dodge/Data/AimStance.hs 10;" C
OneHand src/Dodge/Data/AimStance.hs 9;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C
OnwardList src/Dodge/Annotation/Data.hs 16;" C
Opacity src/Dodge/Data/Wall.hs 40;" t
@@ -1423,7 +1415,6 @@ PJStabiliser src/Dodge/Projectile/Create.hs 18;" t
PLANK src/Dodge/Data/Item/Combine.hs 59;" C
PLATE src/Dodge/Data/Item/Combine.hs 69;" C
PLUS src/Dodge/Data/GenParams.hs 20;" C
POISONDAM src/Dodge/Data/Damage/Type.hs 24;" C
POISONSPRAYER src/Dodge/Data/Item/Combine.hs 173;" C
PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 88;" C
POWERLEGS src/Dodge/Data/Item/Combine.hs 128;" C
@@ -1461,6 +1452,7 @@ PenetrateBullet src/Dodge/Data/Bullet.hs 34;" C
Perception src/Dodge/Data/Creature/Perception.hs 32;" t
Perception src/Dodge/Creature/Perception.hs 2;" m
Perception src/Dodge/Data/Creature/Perception.hs 6;" m
PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C
PhysicalSensor src/Dodge/Data/Machine/Sensor/Type.hs 14;" C
PickOnePlacement src/Dodge/Data/GenWorld.hs 85;" C
Picture src/Picture/Data.hs 46;" t
@@ -1470,7 +1462,6 @@ Picture src/Dodge/Picture.hs 4;" m
Picture src/Dodge/Render/Picture.hs 1;" m
Picture src/Picture.hs 3;" m
Piercing src/Dodge/Data/Damage.hs 20;" C
Piercing src/Dodge/Data/Damage/Type.hs 13;" C
Pillar src/Dodge/Room/Pillar.hs 1;" m
Pipe src/Dodge/Placement/Instance/Pipe.hs 1;" m
PistolAI src/Dodge/Data/Creature/Misc.hs 43;" C
@@ -1492,6 +1483,7 @@ Point2 src/Geometry/Data.hs 19;" t
Point3 src/Geometry/Data.hs 25;" t
Point4 src/Geometry/Data.hs 29;" t
Poison src/Dodge/Data/Damage.hs 30;" C
PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C
Poke src/Shader/Poke.hs 1;" m
PolyShad src/Picture/Data.hs 36;" C
Polygon src/Geometry/Polygon.hs 3;" m
@@ -1700,7 +1692,6 @@ RunningSideEffect src/Dodge/Data/Universe.hs 69;" C
SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C
SFLink src/Dodge/Data/ComposedItem.hs 35;" C
SHATTERGUN src/Dodge/Data/Item/Combine.hs 174;" C
SHATTERING src/Dodge/Data/Damage/Type.hs 18;" C
SHELLMAG src/Dodge/Data/Item/Combine.hs 109;" C
SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 102;" C
SMG src/Dodge/Data/Item/Combine.hs 146;" C
@@ -1708,7 +1699,6 @@ SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 100;" C
SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 160;" C
SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 81;" C
SPARKGUN src/Dodge/Data/Item/Combine.hs 166;" C
SPARKING src/Dodge/Data/Damage/Type.hs 16;" C
SPEEDLEGS src/Dodge/Data/Item/Combine.hs 129;" C
SPRING src/Dodge/Data/Item/Combine.hs 53;" C
SPic src/ShapePicture/Data.hs 7;" t
@@ -2063,10 +2053,10 @@ Turret src/Dodge/Data/Machine.hs 57;" t
Turret src/Dodge/Placement/Instance/Turret.hs 1;" m
TurretInt src/Dodge/Data/Item/Location.hs 21;" t
TwistGoal src/Dodge/Data/Scenario.hs 15;" C
TwoHandFlat src/Dodge/Data/AimStance.hs 9;" C
TwoHandOver src/Dodge/Data/AimStance.hs 8;" C
TwoHandUnder src/Dodge/Data/AimStance.hs 7;" C
Type src/Dodge/Data/Damage/Type.hs 6;" m
TwoHandFlat src/Dodge/Data/AimStance.hs 8;" C
TwoHandOver src/Dodge/Data/AimStance.hs 7;" C
TwoHandUnder src/Dodge/Data/AimStance.hs 6;" C
Type src/Dodge/Data/Damage/Type.hs 1;" m
Type src/Dodge/Data/EnergyBall/Type.hs 6;" m
Type src/Dodge/Data/Machine/Sensor/Type.hs 5;" m
Type src/Dodge/Terminal/Type.hs 1;" m
@@ -2502,11 +2492,9 @@ _dmCenter src/Dodge/Data/Damage.hs 29;" f
_dmPos src/Dodge/Data/Damage.hs 20;" f
_dmPos src/Dodge/Data/Damage.hs 24;" f
_dmPos src/Dodge/Data/Damage.hs 27;" f
_dmPos src/Dodge/Data/Damage/Type.hs 13;" f
_dmVector src/Dodge/Data/Damage.hs 20;" f
_dmVector src/Dodge/Data/Damage.hs 23;" f
_dmVector src/Dodge/Data/Damage.hs 26;" f
_dmVector src/Dodge/Data/Damage/Type.hs 13;" f
_doActionIfAction src/Dodge/Data/ActionPlan.hs 118;" f
_doActionIfCondition src/Dodge/Data/ActionPlan.hs 117;" f
_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 122;" f
@@ -3405,11 +3393,10 @@ applyCreatureDamage src/Dodge/Creature/Damage.hs 12;" f
applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 47;" f
applyIndividualDamage' src/Dodge/Creature/Damage.hs 51;" f
applyInvLock src/Dodge/HeldUse.hs 425;" f
applyMagnetsToBul src/Dodge/Bullet.hs 28;" f
applyPastDamages src/Dodge/Creature/State.hs 144;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 56;" f
applyPastDamages src/Dodge/Creature/State.hs 143;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 52;" f
applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 457;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f
@@ -3595,7 +3582,7 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 289;" f
centroid src/Geometry/Polygon.hs 130;" f
centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 276;" f
chainLinkOrientation src/Dodge/Creature/State.hs 275;" f
chainPairs src/Geometry.hs 359;" f
changeSwapOther src/Dodge/Inventory.hs 144;" f
changeSwapSel src/Dodge/Inventory.hs 137;" f
@@ -3677,6 +3664,7 @@ clusterFunc src/Dodge/Combine/Graph.hs 119;" f
cogRaised src/Dodge/Creature/Perception.hs 102;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f
collectDamageTypes src/Dodge/Damage.hs 48;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f
collideCircWalls src/Dodge/Base/Collide.hs 159;" f
collidePoint src/Dodge/Base/Collide.hs 50;" f
@@ -3779,7 +3767,6 @@ craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f
createArc src/Dodge/Tesla/Arc.hs 81;" f
createBarrelSpark src/Dodge/Spark.hs 40;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f
@@ -3847,10 +3834,10 @@ damageCircle src/Dodge/EnergyBall.hs 76;" f
damageCodeCommand src/Dodge/Terminal.hs 232;" f
damageCrCircle src/Dodge/DamageCircle.hs 33;" f
damageCrCircle src/Dodge/EnergyBall.hs 99;" f
damageCrWl src/Dodge/Damage.hs 23;" f
damageCrWlID src/Dodge/Damage.hs 17;" f
damageDirection src/Dodge/Damage.hs 27;" f
damageHP src/Dodge/Creature/Damage.hs 67;" f
damageCrWl src/Dodge/Damage.hs 25;" f
damageCrWlID src/Dodge/Damage.hs 19;" f
damageDirection src/Dodge/Damage.hs 30;" f
damageHP src/Dodge/Creature/Damage.hs 63;" f
damageMaterial src/Dodge/Material/Damage.hs 7;" f
damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f
damageStone src/Dodge/Material/Damage.hs 20;" f
@@ -4015,10 +4002,11 @@ divideDoorPane src/Dodge/Placement/Instance/Door.hs 59;" f
divideLine src/Geometry.hs 247;" f
divideLineExact src/Geometry.hs 275;" f
divideLineOddNumPoints src/Geometry.hs 260;" f
dmType src/Dodge/Damage.hs 33;" f
doAfterPlacement src/Dodge/Layout.hs 86;" f
doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 140;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 192;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 191;" f
doArcStep src/Dodge/Tesla/Arc.hs 135;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBlBl src/Dodge/BlBl.hs 5;" f
@@ -4034,7 +4022,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f
doCrWdAc src/Dodge/CreatureEffect.hs 77;" f
doCrWdImp src/Dodge/CreatureEffect.hs 16;" f
doCrWdWd src/Dodge/CreatureEffect.hs 20;" f
doDamage src/Dodge/Creature/State.hs 138;" f
doDamage src/Dodge/Creature/State.hs 137;" f
doDeathToggle src/Dodge/WorldEffect.hs 98;" f
doDeathTriggers src/Dodge/WorldEffect.hs 93;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f
@@ -4115,7 +4103,7 @@ doublePair src/Geometry.hs 161;" f
doublePairSet src/Geometry.hs 165;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 168;" f
drawARHUD src/Dodge/Creature/State.hs 303;" f
drawARHUD src/Dodge/Creature/State.hs 302;" f
drawAimSweep src/Dodge/Render/Picture.hs 271;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
@@ -4241,7 +4229,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 367;" f
drawZoneCol src/Dodge/Debug/Picture.hs 142;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropByState src/Dodge/Creature/State.hs 131;" f
dropByState src/Dodge/Creature/State.hs 130;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1356;" f
dropItem src/Dodge/Creature/Action.hs 172;" f
@@ -4635,7 +4623,7 @@ insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWithNewKeys src/IntMapHelp.hs 70;" f
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
internalCreatureUpdate src/Dodge/Creature/State.hs 125;" f
internalCreatureUpdate src/Dodge/Creature/State.hs 124;" f
interpWith src/Dodge/Creature/Boid.hs 11;" f
intersectCircSeg src/Geometry/Intersect.hs 305;" f
intersectCircSegFirst src/Geometry/Intersect.hs 323;" f
@@ -4663,16 +4651,16 @@ invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f
invDimColor src/Dodge/DisplayInventory.hs 192;" f
invHead src/Dodge/Render/HUD.hs 405;" f
invItemLocUpdate src/Dodge/Creature/State.hs 181;" f
invItemLocUpdate src/Dodge/Creature/State.hs 180;" f
invLDT src/Dodge/Item/Grammar.hs 279;" f
invRootItemEffs src/Dodge/Creature/State.hs 174;" f
invRootItemEffs src/Dodge/Creature/State.hs 173;" f
invRootMap src/Dodge/Item/Grammar.hs 288;" f
invRootTrees src/Dodge/Item/Grammar.hs 309;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 185;" f
invSetSelectionPos src/Dodge/Inventory.hs 193;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 167;" f
invSideEff src/Dodge/Creature/State.hs 166;" f
invSize src/Dodge/Inventory/CheckSlots.hs 30;" f
inventoryX src/Dodge/Creature.hs 114;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f
@@ -4690,7 +4678,7 @@ isAnimate src/Dodge/Creature/Test.hs 142;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f
isElectrical src/Dodge/Machine/Update.hs 80;" f
isFrictionless src/Dodge/Creature/State.hs 438;" f
isFrictionless src/Dodge/Creature/State.hs 437;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 191;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f
isJust' src/MaybeHelp.hs 29;" f
@@ -4947,7 +4935,7 @@ makeShaderVBO src/Shader/Compile.hs 32;" f
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f
makeShrapnelAt src/Dodge/Payload.hs 24;" f
makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 43;" f
makeSpark src/Dodge/Spark.hs 39;" f
makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f
makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
@@ -4966,7 +4954,7 @@ makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f
makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f
mapper src/Dodge/Item/Scope.hs 70;" f
maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f
maxDamageType src/Dodge/Damage.hs 38;" f
maxDamageType src/Dodge/Damage.hs 54;" f
maxInvSlots src/Dodge/Inventory/CheckSlots.hs 27;" f
maxShowX src/Dodge/Combine/Graph.hs 50;" f
maxViewDistance src/Dodge/Viewpoints.hs 26;" f
@@ -5293,7 +5281,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 14;" f
pointerYourRootItem src/Dodge/Item/Location.hs 31;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 25;" f
pointsToPoly src/Geometry/ConvexPoly.hs 39;" f
poisonSPic src/Dodge/Creature/State.hs 122;" f
poisonSPic src/Dodge/Creature/State.hs 121;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 506;" f
pokeArrayOff src/Shader/Poke.hs 517;" f
@@ -5441,7 +5429,7 @@ radToDeg src/Geometry/Vector.hs 122;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
randDirPS src/Dodge/PlacementSpot.hs 56;" f
randDirSpark src/Dodge/Spark.hs 52;" f
randDirSpark src/Dodge/Spark.hs 49;" f
randEdgeTank src/Dodge/Room/Tanks.hs 33;" f
randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f
randEnergyBallAt src/Dodge/WorldEvent/SpawnParticle.hs 14;" f
@@ -5458,7 +5446,7 @@ randOnUnitSphere src/RandomHelp.hs 90;" f
randPeaked src/RandomHelp.hs 138;" f
randPeakedParam src/RandomHelp.hs 130;" f
randProb src/RandomHelp.hs 68;" f
randSpark src/Dodge/Spark.hs 72;" f
randSpark src/Dodge/Spark.hs 63;" f
randWallReflect src/Dodge/Tesla/Arc.hs 57;" f
randWallReflect src/Dodge/Update.hs 580;" f
randomChallenges src/Dodge/Room/Start.hs 62;" f
@@ -5641,7 +5629,7 @@ scaleSH src/Shape.hs 268;" f
scalp src/Dodge/Creature/Picture.hs 98;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 95;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/State.hs 119;" f
scorchSPic src/Dodge/Creature/State.hs 118;" f
screenBox src/Dodge/Base/Window.hs 53;" f
screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f
@@ -5715,7 +5703,7 @@ setOldPos src/Dodge/Update.hs 467;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 407;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 406;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 334;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f
@@ -5783,8 +5771,8 @@ shiftRoomBy src/Dodge/Room/Link.hs 37;" f
shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 309;" f
shineTorch src/Dodge/Creature/State.hs 350;" f
shineTargetLaser src/Dodge/Creature/State.hs 308;" f
shineTorch src/Dodge/Creature/State.hs 349;" f
shootBullet src/Dodge/HeldUse.hs 938;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 847;" f
@@ -5876,10 +5864,10 @@ spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f
spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f
sparkDam src/Dodge/Spark.hs 31;" f
sparkDam src/Dodge/Spark.hs 30;" f
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f
sparkRandDir src/Dodge/Spark.hs 95;" f
sparkToDamage src/Dodge/Spark.hs 34;" f
sparkRandDir src/Dodge/Spark.hs 86;" f
sparkToDamage src/Dodge/Spark.hs 33;" f
spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f
spawnElectricalSparks src/Dodge/PosEvent.hs 19;" f
spawnGun src/Dodge/Item/Weapon/Spawn.hs 12;" f
@@ -6163,8 +6151,8 @@ tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 91;" f
tryShellBounce src/Dodge/Projectile/Update.hs 103;" f
trySpinByCID src/Dodge/Projectile/Update.hs 178;" f
trySynthBullet src/Dodge/Creature/State.hs 206;" f
tryUseParent src/Dodge/Creature/State.hs 199;" f
trySynthBullet src/Dodge/Creature/State.hs 205;" f
tryUseParent src/Dodge/Creature/State.hs 198;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 19;" f
@@ -6204,7 +6192,7 @@ updateAimPos src/Dodge/Update.hs 306;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla.hs 44;" f
updateArc src/Dodge/Tesla/Arc.hs 100;" f
updateAttachedItems src/Dodge/Creature/State.hs 266;" f
updateAttachedItems src/Dodge/Creature/State.hs 265;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 453;" f
updateBarrel src/Dodge/Barreloid.hs 44;" f
updateBarreloid src/Dodge/Barreloid.hs 14;" f
@@ -6239,7 +6227,7 @@ updateFloatingCamera src/Dodge/Update/Camera.hs 34;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 364;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 357;" f
updateGusts src/Dodge/Update.hs 718;" f
updateHeldRootItem src/Dodge/Creature/State.hs 260;" f
updateHeldRootItem src/Dodge/Creature/State.hs 259;" f
updateHumanoid src/Dodge/Humanoid.hs 13;" f
updateIMl src/Dodge/Update.hs 502;" f
updateIMl' src/Dodge/Update.hs 507;" f
@@ -6247,8 +6235,8 @@ updateInGameCamera src/Dodge/Update/Camera.hs 78;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 400;" f
updateInt2Map src/Dodge/Zoning/Base.hs 92;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
updateItemTargeting src/Dodge/Creature/State.hs 376;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 286;" f
updateItemTargeting src/Dodge/Creature/State.hs 375;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 285;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 394;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
@@ -6264,7 +6252,7 @@ updateMouseContextGame src/Dodge/Update.hs 328;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 85;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 158;" f
updateMovement src/Dodge/Creature/State.hs 428;" f
updateMovement src/Dodge/Creature/State.hs 427;" f
updateObjCatMaybes src/Dodge/Update.hs 524;" f
updateObjMapMaybe src/Dodge/Update.hs 517;" f
updatePastWorlds src/Dodge/Update.hs 422;" f
@@ -6291,7 +6279,7 @@ updateShockwaves src/Dodge/Update.hs 592;" f
updateSingleNodes src/TreeHelp.hs 97;" f
updateSound src/Sound.hs 72;" f
updateSounds src/Sound.hs 67;" f
updateSpark src/Dodge/Spark.hs 18;" f
updateSpark src/Dodge/Spark.hs 17;" f
updateSparks src/Dodge/Update.hs 604;" f
updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f
updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f