Make equipment effects use item locations

Move towards removing on/off equipment effects
This commit is contained in:
2024-12-19 11:15:21 +00:00
parent 3ffe61e6db
commit a669632226
9 changed files with 110 additions and 103 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -91,8 +91,8 @@ toggleEquipmentAt invid cr w = case getEquipmentAllocation w of
itmat i = _crInv cr IM.! i
itm = itmat itRef
itRef = cr ^?! crManipulation . manObject . imSelectedItem -- unsafe!! TODO change?
onequip itm' = useE ((_eeOnEquip . _uequipEffect . _itUse) itm') itm'
onremove itm' = useE ((_eeOnRemove . _uequipEffect . _itUse) itm') itm'
onequip itm' = doItmCrWdWd ((_eeOnEquip . _uequipEffect . _itUse) itm') itm'
onremove itm' = doItmCrWdWd ((_eeOnRemove . _uequipEffect . _itUse) itm') itm'
-- need to make sure that the root item is not erroneously selected in the
-- following
+6 -15
View File
@@ -72,6 +72,8 @@ crUpdate f =
, invSideEff
-- , equipmentEffects
]
-- I have changed the ordering of item/equipment effects, which may have
-- unforseen consequences, be aware
checkDeath :: Creature -> World -> World
checkDeath cr w
@@ -146,21 +148,10 @@ applyPastDamages cr w
& randGen .~ g
| otherwise = w
useEquipment :: Creature -> Int -> World -> World
useEquipment cr i = useE (_eeUse (_uequipEffect $ _itUse itm)) itm cr
where
itm = _crInv cr IM.! i
-- a map updating all inventory items
updateInv :: Creature -> World -> World
updateInv cr = cWorld . lWorld . creatures . ix (_crID cr) . crInv %~ IM.map itemUpdate
-- a loop going over equipped items
-- maybe this should be done during a different loop (invSideEff)?
equipmentEffects :: Creature -> World -> World
--equipmentEffects cr = flip (foldl' $ flip $ useEquipment cr) (IM.keys $ _crInvEquipped cr)
equipmentEffects cr = alaf Endo foldMap (useEquipment cr) (IM.keys $ _crInvEquipped cr)
-- a loop going over all inventory items
invSideEff :: Creature -> World -> World
invSideEff cr = alaf Endo foldMap f (_crInv cr) . updateHeldRootItem cr
@@ -176,7 +167,7 @@ invRootItemEffs cr =
(invLDT (_crInv cr))
invItemLocUpdate :: Creature -> LocationLDT ItemLink ComposedItem -> World -> World
invItemLocUpdate cr loc w = doAnyEquipmentEffect cr loc $ case itm ^. itType of
invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
ATTACH BULLETSYNTH -> trySynthBullet loc w
EQUIP WRIST_ECG | haspulse -> tryUseParent loc w
_ -> w
@@ -186,9 +177,9 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect cr loc $ case itm ^. itType of
== Just 0
itm = loc ^. locLDT . ldtValue . _1
doAnyEquipmentEffect :: Creature -> LocationLDT ItemLink ComposedItem -> World -> World
doAnyEquipmentEffect cr loc = case itm ^? itLocation . ilEquipPosition . _Just of
Just _ -> useE (_eeUse (_uequipEffect $ _itUse itm)) itm cr
doAnyEquipmentEffect :: LocationLDT ItemLink ComposedItem -> Creature -> World -> World
doAnyEquipmentEffect loc cr = case itm ^? itLocation . ilEquipPosition . _Just of
Just _ -> useE (_eeUse (_uequipEffect $ _itUse itm)) loc cr
_ -> id
where
itm = loc ^. locLDT . ldtValue . _1
-3
View File
@@ -21,9 +21,6 @@ data Euse
| EMagShield
| EWristShield
| EHeadLamp
| ECamouflage {_euseCamouflageStatus :: CamouflageStatus}
| EonWristShield
| EoffWristShield
-- | EFuelSource {_euseFuelAmount :: Int, _euseFuelMax :: Int}
| EBatterySource {_euseBatteryAmount :: Int, _euseBatteryMax :: Int}
| EAmmoSource
+12 -2
View File
@@ -7,6 +7,7 @@ module Dodge.Data.Item.Use.Equipment (
module Dodge.Data.Item.Use.Equipment,
) where
import Dodge.Data.CamouflageStatus
import Geometry.Data
import Control.Lens
import Data.Aeson
@@ -16,8 +17,8 @@ import Dodge.Data.Item.HeldUse
data EquipEffect = EquipEffect
{ _eeUse :: Euse --Item -> Creature -> World -> World
, _eeOnEquip :: Euse --Item -> Creature -> World -> World
, _eeOnRemove :: Euse --Item -> Creature -> World -> World
, _eeOnEquip :: ItmCrWdWd --Item -> Creature -> World -> World
, _eeOnRemove :: ItmCrWdWd --Item -> Creature -> World -> World
, _eeSite :: EquipSite
, _eeParams :: EquipParams
, _eeViewDist :: Maybe Float
@@ -25,6 +26,13 @@ data EquipEffect = EquipEffect
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data ItmCrWdWd
= ItmCrWdWdDoNothing
| ECamouflage {_euseCamouflageStatus :: CamouflageStatus}
| EonWristShield
| EoffWristShield
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data EquipParams
= NoEquipParams
| EquipID {_eparamID :: Int}
@@ -33,5 +41,7 @@ data EquipParams
makeLenses ''EquipEffect
makeLenses ''EquipParams
makeLenses ''ItmCrWdWd
deriveJSON defaultOptions ''ItmCrWdWd
deriveJSON defaultOptions ''EquipParams
deriveJSON defaultOptions ''EquipEffect
+2 -2
View File
@@ -8,8 +8,8 @@ defaultEquip =
EquipEffect
{ _eeSite = GoesOnHead
, _eeUse = EDoNothing
, _eeOnEquip = EDoNothing
, _eeOnRemove = EDoNothing
, _eeOnEquip = ItmCrWdWdDoNothing
, _eeOnRemove = ItmCrWdWdDoNothing
, _eeParams = NoEquipParams
, _eeViewDist = Nothing
, _eeAttachPos = 0
+21 -14
View File
@@ -1,5 +1,8 @@
module Dodge.Euse where
module Dodge.Euse
where
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Color
--import Control.Monad
import Data.Maybe
@@ -17,19 +20,23 @@ import Geometry
import qualified IntMapHelp as IM
import LensHelp
useE :: Euse -> Item -> Creature -> World -> World
useE eo = case eo of
EDoNothing -> const $ const id
EMagShield -> useMagShield
EWristShield -> setWristShieldPos
EHeadLamp -> createHeadLamp
ECamouflage vis -> overCID (crCamouflage .~ vis)
EonWristShield -> onEquipWristShield
EoffWristShield -> onRemoveWristShield
-- EFuelSource 0 _ -> const . const id
-- EFuelSource{} -> const . const id
EBatterySource{} -> tryChargeBattery
EAmmoSource{} -> tryAttachBulletBelt
doItmCrWdWd :: ItmCrWdWd -> Item -> Creature -> World -> World
doItmCrWdWd x itm cr = case x of
(ECamouflage vis) -> overCID (crCamouflage .~ vis) itm cr
EonWristShield -> onEquipWristShield itm cr
EoffWristShield -> onRemoveWristShield itm cr
_ -> id
useE :: Euse -> LocationLDT ItemLink ComposedItem -> Creature -> World -> World
useE eo loc cr = case eo of
EDoNothing -> id
EMagShield -> useMagShield itm cr
EWristShield -> setWristShieldPos itm cr
EHeadLamp -> createHeadLamp itm cr
EBatterySource{} -> tryChargeBattery itm cr
EAmmoSource{} -> tryAttachBulletBelt itm cr
where
itm = loc ^. locLDT . ldtValue . _1
tryAttachBulletBelt :: Item -> Creature -> World -> World
tryAttachBulletBelt _ _ w = w
+1 -1
View File
@@ -90,7 +90,7 @@ rmInvItem cid invid w =
itm = _crInv cr IM.! invid
dounequipfunction = fromMaybe id $ do
rmf <- itm ^? itUse . uequipEffect . eeOnRemove
return $ useE rmf itm cr
return $ doItmCrWdWd rmf itm cr
doanyitemeffect = fromMaybe id $ do
rmf <- itm ^? itEffect . ieOnDrop
return $ doInvEffect rmf itm cr
+65 -63
View File
@@ -635,12 +635,12 @@ EnergyGeneratorSS src/Dodge/Data/Scenario.hs 109;" C
EngineSS src/Dodge/Data/Scenario.hs 88;" C
EoffWristShield src/Dodge/Data/Item/HeldUse.hs 26;" C
EonWristShield src/Dodge/Data/Item/HeldUse.hs 25;" C
EquipCounter src/Dodge/Data/Item/Use/Equipment.hs 31;" C
EquipCounter src/Dodge/Data/Item/Use/Equipment.hs 35;" C
EquipEffect src/Dodge/Data/Item/Use/Equipment.hs 17;" t
EquipID src/Dodge/Data/Item/Use/Equipment.hs 30;" C
EquipID src/Dodge/Data/Item/Use/Equipment.hs 34;" C
EquipItemType src/Dodge/Data/Item/Combine.hs 100;" t
EquipOptions src/Dodge/Data/RightButtonOptions.hs 15;" C
EquipParams src/Dodge/Data/Item/Use/Equipment.hs 28;" t
EquipParams src/Dodge/Data/Item/Use/Equipment.hs 32;" t
EquipPosition src/Dodge/Data/Equipment/Misc.hs 20;" t
EquipSite src/Dodge/Data/Equipment/Misc.hs 11;" t
Equipment src/Dodge/Data/Item/Use/Equipment.hs 5;" m
@@ -951,6 +951,8 @@ ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 29;" t
ItemTargeting src/Dodge/Data/Item.hs 53;" t
ItemType src/Dodge/Data/Item/Combine.hs 15;" t
ItemUse src/Dodge/Data/Item/Use.hs 35;" t
ItinvidCrWdWd src/Dodge/Data/Item/Use/Equipment.hs 28;" t
ItinvidCrWdWdDoNothing src/Dodge/Data/Item/Use/Equipment.hs 29;" C
ItmInt src/Dodge/Data/Item/Location.hs 25;" t
JGK src/Control/Foldl/JGK.hs 1;" m
JUMPLEGS src/Dodge/Data/Item/Combine.hs 111;" C
@@ -1247,7 +1249,7 @@ NoDamageEffect src/Dodge/Data/Damage.hs 29;" C
NoDebugInfo src/Dodge/Data/Universe.hs 54;" C
NoDelay src/Dodge/Data/Item/HeldDelay.hs 14;" C
NoDropEffect src/Dodge/Data/Item/Effect.hs 31;" C
NoEquipParams src/Dodge/Data/Item/Use/Equipment.hs 29;" C
NoEquipParams src/Dodge/Data/Item/Use/Equipment.hs 33;" C
NoEscapeMenuOption src/Dodge/Data/Universe.hs 75;" C
NoFaction src/Dodge/Data/Creature/State.hs 40;" C
NoHammer src/Dodge/Data/Hammer.hs 13;" C
@@ -2492,8 +2494,8 @@ _eeUse src/Dodge/Data/Item/Use/Equipment.hs 18;" f
_eeViewDist src/Dodge/Data/Item/Use/Equipment.hs 23;" f
_emoMenuOption src/Dodge/Data/Universe.hs 73;" f
_energyBalls src/Dodge/Data/LWorld.hs 107;" f
_eparamID src/Dodge/Data/Item/Use/Equipment.hs 30;" f
_eparamInt src/Dodge/Data/Item/Use/Equipment.hs 31;" f
_eparamID src/Dodge/Data/Item/Use/Equipment.hs 34;" f
_eparamInt src/Dodge/Data/Item/Use/Equipment.hs 35;" f
_euseAmmoAmount src/Dodge/Data/Item/HeldUse.hs 30;" f
_euseAmmoLink src/Dodge/Data/Item/HeldUse.hs 32;" f
_euseAmmoMax src/Dodge/Data/Item/HeldUse.hs 31;" f
@@ -3369,7 +3371,7 @@ applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 83;" f
applyMagnetsToBul src/Dodge/Bullet.hs 36;" f
applyNoDamage src/Dodge/Creature/Damage.hs 11;" f
applyPastDamages src/Dodge/Creature/State.hs 133;" f
applyPastDamages src/Dodge/Creature/State.hs 135;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f
applyPosition src/Sound.hs 110;" f
applyRecoil src/Dodge/HeldUse.hs 102;" f
@@ -3551,7 +3553,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 268;" f
chainLinkOrientation src/Dodge/Creature/State.hs 266;" f
chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 150;" f
changeSwapSel src/Dodge/Inventory.hs 142;" f
@@ -3568,7 +3570,7 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 105;" f
checkConnection src/Dodge/Inventory/Swap.hs 80;" f
checkDeath src/Dodge/Creature/State.hs 76;" f
checkDeath src/Dodge/Creature/State.hs 78;" f
checkEndGame src/Dodge/Update.hs 693;" f
checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f
@@ -3583,7 +3585,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 112;" f
chooseCursorBorders src/Dodge/Render/List.hs 156;" f
chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 43;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f
chooseMovementPistol src/Dodge/Humanoid.hs 202;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f
@@ -3614,9 +3616,9 @@ clickGetCreature src/Dodge/Debug.hs 83;" f
clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 221;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 69;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 83;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 71;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 56;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 85;" f
closeObjectInfo src/Dodge/Render/HUD.hs 211;" f
closestCreatureID src/Dodge/Debug.hs 92;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f
@@ -3685,7 +3687,7 @@ copyItemToFloor src/Dodge/FloorItem.hs 18;" f
copyItemToFloorID src/Dodge/FloorItem.hs 22;" f
corDoor src/Dodge/Room/Room.hs 376;" f
cornerList src/Preload/Render.hs 195;" f
corpseOrGib src/Dodge/Creature/State.hs 95;" f
corpseOrGib src/Dodge/Creature/State.hs 97;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f
@@ -3695,7 +3697,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 77;" f
crBlips src/Dodge/RadarSweep.hs 69;" f
crCanSeeCr src/Dodge/Creature/Test.hs 48;" f
crCrSpring src/Dodge/Update.hs 764;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 26;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f
crHasTarget src/Dodge/Creature/Test.hs 59;" f
@@ -3728,14 +3730,14 @@ createBarrelSpark src/Dodge/Spark.hs 44;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 153;" f
createHeadLamp src/Dodge/Euse.hs 160;" f
createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 76;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 526;" f
createShell src/Dodge/Projectile/Create.hs 19;" f
createShieldWall src/Dodge/Euse.hs 128;" f
createShieldWall src/Dodge/Euse.hs 135;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 10;" f
@@ -3968,6 +3970,7 @@ divideLineExact src/Geometry.hs 279;" f
divideLineOddNumPoints src/Geometry.hs 264;" f
doAfterPlacement src/Dodge/Layout.hs 86;" f
doAfterPlacements src/Dodge/Layout.hs 83;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 180;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBlBl src/Dodge/WorldEffect.hs 90;" f
doBlSh src/Dodge/Block/Draw.hs 14;" f
@@ -3982,7 +3985,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 127;" f
doDamage src/Dodge/Creature/State.hs 129;" f
doDamagesFL src/Dodge/Flame.hs 57;" f
doDeathToggle src/Dodge/WorldEffect.hs 87;" f
doDeathTriggers src/Dodge/WorldEffect.hs 82;" f
@@ -3999,6 +4002,7 @@ doIntImp src/Dodge/CreatureEffect.hs 24;" f
doInvEffect src/Dodge/ItEffect.hs 10;" f
doItCrWdWd src/Dodge/WorldEffect.hs 44;" f
doItemTimeScroll src/Dodge/Update.hs 199;" f
doItidCrWdWd src/Dodge/Euse.hs 23;" f
doLoop src/Loop.hs 60;" f
doMCrAc src/Dodge/CreatureEffect.hs 57;" f
doMP2Ac src/Dodge/CreatureEffect.hs 73;" f
@@ -4056,7 +4060,7 @@ doublePairSet src/Geometry.hs 153;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 156;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAugmentedHUD src/Dodge/Creature/State.hs 295;" f
drawAugmentedHUD src/Dodge/Creature/State.hs 293;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
drawBeam src/Dodge/Beam/Draw.hs 6;" f
drawBlip src/Dodge/RadarBlip.hs 13;" f
@@ -4176,7 +4180,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 329;" f
drawZoneCol src/Dodge/Debug/Picture.hs 117;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropByState src/Dodge/Creature/State.hs 121;" f
dropByState src/Dodge/Creature/State.hs 123;" f
dropExcept src/Dodge/Creature/Action.hs 171;" f
dropItem src/Dodge/Creature/Action.hs 177;" f
drumMag src/Dodge/Item/Ammo.hs 48;" f
@@ -4213,10 +4217,9 @@ equipInfo src/Dodge/Item/Info.hs 104;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 66;" f
equipPosition src/Dodge/Item/Draw.hs 30;" f
equipSiteInfo src/Dodge/Item/Info.hs 221;" f
equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f
equipSiteToPositions src/Dodge/Inventory/RBList.hs 79;" f
equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f
equipmentEffects src/Dodge/Creature/State.hs 160;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 22;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 20;" f
errorAngleVV src/Geometry.hs 62;" f
errorClosestPointOnLine src/Geometry.hs 74;" f
errorClosestPointOnLineParam src/Geometry.hs 80;" f
@@ -4364,12 +4367,12 @@ getBulletTrajectory src/Dodge/HeldUse.hs 372;" f
getBulletType src/Dodge/HeldUse.hs 346;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
getCrDexterity src/Dodge/Creature/Statistics.hs 13;" f
getCrDexterity src/Dodge/Creature/Statistics.hs 11;" f
getCrEquipment src/Dodge/Equipment.hs 7;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 16;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 14;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 383;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 48;" f
getLaserColor src/Dodge/HeldUse.hs 216;" f
getLaserDamage src/Dodge/HeldUse.hs 213;" f
getLaserPhaseV src/Dodge/HeldUse.hs 210;" f
@@ -4489,7 +4492,7 @@ homingDrawType src/Dodge/Projectile/Create.hs 12;" f
homingModule src/Dodge/Item/Scope.hs 32;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 53;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 39;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 41;" f
humanoidAIList src/Dodge/Humanoid.hs 181;" f
hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 30;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f
@@ -4539,7 +4542,7 @@ insertWall src/Dodge/Placement/PlaceSpot/Block.hs 122;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWithNewKeys src/IntMapHelp.hs 70;" f
internalCreatureUpdate src/Dodge/Creature/State.hs 111;" f
internalCreatureUpdate src/Dodge/Creature/State.hs 113;" f
interpWith src/Dodge/Creature/Boid.hs 10;" f
intersectCircSeg src/Geometry/Intersect.hs 303;" f
intersectCircSegFirst src/Geometry/Intersect.hs 314;" f
@@ -4564,14 +4567,14 @@ invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f
invDimColor src/Dodge/DisplayInventory.hs 219;" f
invHead src/Dodge/Render/HUD.hs 391;" f
invItemLocUpdate src/Dodge/Creature/State.hs 178;" f
invItemLocUpdate src/Dodge/Creature/State.hs 169;" f
invLDT src/Dodge/Item/Grammar.hs 183;" f
invRootItemEffs src/Dodge/Creature/State.hs 171;" f
invRootItemEffs src/Dodge/Creature/State.hs 162;" f
invRootMap src/Dodge/Item/Grammar.hs 192;" f
invRootTrees src/Dodge/Item/Grammar.hs 213;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 165;" f
invSideEff src/Dodge/Creature/State.hs 156;" f
invSize src/Dodge/Inventory/CheckSlots.hs 31;" f
inventoryX src/Dodge/Creature.hs 116;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f
@@ -4589,8 +4592,8 @@ isAnimate src/Dodge/Creature/Test.hs 136;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 90;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f
isFrictionless src/Dodge/Creature/State.hs 449;" f
isGas src/Dodge/Euse.hs 58;" f
isFrictionless src/Dodge/Creature/State.hs 447;" f
isGas src/Dodge/Euse.hs 65;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 169;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f
isJust' src/MaybeHelp.hs 29;" f
@@ -4640,7 +4643,7 @@ itemString src/Dodge/Item/Display.hs 42;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 50;" f
itemToFunction src/Dodge/Item/Grammar.hs 87;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f
itemUpdate src/Dodge/Creature/State.hs 421;" f
itemUpdate src/Dodge/Creature/State.hs 419;" f
iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f
itmBaseInfo src/Dodge/Item/Info.hs 23;" f
@@ -5028,8 +5031,8 @@ numTraversable src/TreeHelp.hs 183;" f
obstacleColor src/Dodge/Debug/Picture.hs 227;" f
obstructPathsCrossing src/Dodge/Path.hs 138;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f
onEquipWristShield src/Dodge/Euse.hs 77;" f
onRemoveWristShield src/Dodge/Euse.hs 86;" f
onEquipWristShield src/Dodge/Euse.hs 84;" f
onRemoveWristShield src/Dodge/Euse.hs 93;" f
onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 95;" f
openCursorAt src/Dodge/Render/HUD/Carte.hs 54;" f
@@ -5056,7 +5059,7 @@ orthogonalPointOnSeg src/Geometry/Intersect.hs 291;" f
outLink src/Dodge/RoomLink.hs 105;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
outwardIntegers src/Dodge/Base.hs 159;" f
overCID src/Dodge/Euse.hs 167;" f
overCID src/Dodge/Euse.hs 174;" f
overCol src/Picture/Base.hs 308;" f
overColObj src/Shape.hs 271;" f
overColSH src/Shape.hs 239;" f
@@ -5180,7 +5183,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 108;" f
poisonSPic src/Dodge/Creature/State.hs 110;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 516;" f
pokeArrayOff src/Shader/Poke.hs 527;" f
@@ -5384,7 +5387,7 @@ removeAmmoFromMag src/Dodge/HeldUse.hs 333;" f
removeDot src/ShortShow.hs 30;" f
removeHotkey src/Dodge/Hotkey.hs 41;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Euse.hs 146;" f
removeShieldWall src/Dodge/Euse.hs 153;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 26;" f
renderFlatLighting src/Render.hs 104;" f
@@ -5514,7 +5517,7 @@ scaleSH src/Shape.hs 267;" f
scalp src/Dodge/Creature/Picture.hs 93;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 68;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/State.hs 105;" f
scorchSPic src/Dodge/Creature/State.hs 107;" 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
@@ -5590,7 +5593,7 @@ setOldPos src/Dodge/Update.hs 462;" 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 400;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 398;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 316;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 85;" f
setShaderSource src/Shader/Compile.hs 290;" f
@@ -5604,7 +5607,7 @@ setViewDistance src/Dodge/Update/Camera.hs 227;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 61;" f
setViewport src/Dodge/Render.hs 388;" f
setVol src/Dodge/Config/Update.hs 30;" f
setWristShieldPos src/Dodge/Euse.hs 94;" f
setWristShieldPos src/Dodge/Euse.hs 101;" f
setupConLoop src/Loop.hs 102;" f
setupConLoop' src/Loop.hs 192;" f
setupEBO src/Shader/Compile.hs 188;" f
@@ -5636,7 +5639,7 @@ shellCollisionEffect src/Dodge/Projectile/Update.hs 48;" f
shellMag src/Dodge/Item/Ammo.hs 67;" f
shellShape src/Dodge/Projectile/Draw.hs 27;" f
shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f
shieldWall src/Dodge/Euse.hs 108;" f
shieldWall src/Dodge/Euse.hs 115;" f
shiftByV2 src/Dodge/PlacementSpot.hs 239;" f
shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 67;" f
@@ -5657,8 +5660,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 300;" f
shineTorch src/Dodge/Creature/State.hs 342;" f
shineTargetLaser src/Dodge/Creature/State.hs 298;" f
shineTorch src/Dodge/Creature/State.hs 340;" f
shootBullet src/Dodge/HeldUse.hs 392;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 165;" f
@@ -5818,8 +5821,8 @@ stopAllSounds src/Sound.hs 124;" f
stopPushing src/Dodge/Block.hs 109;" f
stopSoundFrom src/Dodge/SoundLogic.hs 206;" f
stopWatch src/Dodge/Item/Weapon/Utility.hs 13;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 19;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 37;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 17;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 35;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 32;" f
strictify src/MaybeHelp.hs 37;" f
strideRot src/Dodge/Item/HeldOffset.hs 84;" f
@@ -6007,9 +6010,9 @@ truncFaces src/Polyhedra/Geodesic.hs 53;" f
truncate src/Polyhedra/Geodesic.hs 38;" f
trunkDepth src/TreeHelp.hs 161;" f
tryAssignHotkey src/Dodge/Creature/YourControl.hs 84;" f
tryAttachBulletBelt src/Dodge/Euse.hs 34;" f
tryAttachBulletBelt src/Dodge/Euse.hs 41;" f
tryAttachItems src/Dodge/Item/Grammar.hs 21;" f
tryChargeBattery src/Dodge/Euse.hs 37;" f
tryChargeBattery src/Dodge/Euse.hs 44;" f
tryCombine src/Dodge/Update/Input/InGame.hs 569;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 114;" f
tryGetChannel src/Sound.hs 96;" f
@@ -6022,10 +6025,10 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySiphonFuel src/Dodge/Euse.hs 40;" f
trySiphonFuel src/Dodge/Euse.hs 47;" f
trySpinByCID src/Dodge/Projectile/Update.hs 95;" f
trySynthBullet src/Dodge/Creature/State.hs 196;" f
tryUseParent src/Dodge/Creature/State.hs 189;" f
trySynthBullet src/Dodge/Creature/State.hs 194;" f
tryUseParent src/Dodge/Creature/State.hs 187;" f
turnTo src/Dodge/Movement/Turn.hs 4;" f
turnToAmount src/Dodge/Movement/Turn.hs 15;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 16;" f
@@ -6059,8 +6062,8 @@ upHammer src/Dodge/Default.hs 75;" f
upProjectile src/Dodge/Projectile/Update.hs 26;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAttachedItems src/Dodge/Creature/State.hs 258;" f
updateAutoRecharge src/Dodge/Creature/State.hs 432;" f
updateAttachedItems src/Dodge/Creature/State.hs 256;" f
updateAutoRecharge src/Dodge/Creature/State.hs 430;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 455;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f
@@ -6094,17 +6097,17 @@ updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 346;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 339;" f
updateGusts src/Dodge/Update.hs 704;" f
updateHeldRootItem src/Dodge/Creature/State.hs 252;" f
updateHeldRootItem src/Dodge/Creature/State.hs 250;" f
updateHumanoid src/Dodge/Humanoid.hs 13;" f
updateIMl src/Dodge/Update.hs 498;" f
updateIMl' src/Dodge/Update.hs 503;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 399;" f
updateInstantBullets src/Dodge/Update.hs 642;" f
updateInv src/Dodge/Creature/State.hs 155;" f
updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f
updateItemTargeting src/Dodge/Creature/State.hs 369;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 278;" f
updateItemTargeting src/Dodge/Creature/State.hs 367;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 276;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 393;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 381;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
@@ -6120,7 +6123,7 @@ updateMouseContextGame src/Dodge/Update.hs 315;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 87;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 79;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 142;" f
updateMovement src/Dodge/Creature/State.hs 439;" f
updateMovement src/Dodge/Creature/State.hs 437;" f
updateObjCatMaybes src/Dodge/Update.hs 520;" f
updateObjMapMaybe src/Dodge/Update.hs 513;" f
updatePastWorlds src/Dodge/Update.hs 415;" f
@@ -6194,8 +6197,7 @@ useBreakListsLinkTest src/Dodge/Item/Grammar.hs 35;" f
useBulletPayload src/Dodge/Bullet.hs 96;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useE src/Dodge/Euse.hs 20;" f
useEquipment src/Dodge/Creature/State.hs 149;" f
useE src/Dodge/Euse.hs 27;" f
useGasParams src/Dodge/HeldUse.hs 442;" f
useHotKey src/Dodge/Creature/YourControl.hs 47;" f
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 123;" f
@@ -6203,7 +6205,7 @@ useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 99;" f
useL src/Dodge/Luse.hs 11;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 231;" f
useMagShield src/Dodge/Euse.hs 63;" f
useMagShield src/Dodge/Euse.hs 70;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 7;" f
useRewindGun src/Dodge/Luse.hs 39;" f
@@ -6214,7 +6216,7 @@ useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
useUpdate src/Dodge/Creature/State.hs 424;" f
useUpdate src/Dodge/Creature/State.hs 422;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f
v2z src/Geometry/Vector3D.hs 93;" f