Continue removal of LDTs

This commit is contained in:
2025-07-11 00:24:38 +01:00
parent 8597f2bcc0
commit e5eff32ce3
2 changed files with 93 additions and 106 deletions
+62 -74
View File
@@ -129,7 +129,7 @@ heldEffectMuzzles :: LocationLDT ItemLink OItem -> Creature -> World -> World
heldEffectMuzzles loc cr w =
setusetime . doHeldUseEffect t cr
. uncurry (applyCME loc cr)
. foldl' (useLoadedAmmo loc cr) (False, w)
. foldl' (useLoadedAmmo (locLDTToLocDT loc) cr) (False, w)
$ loadedmuzzles
where
t = loc ^. locLDT
@@ -759,52 +759,55 @@ isAmmoIntLink i (AmmoMagSF j _) = i == j
isAmmoIntLink _ _ = False
useLoadedAmmo ::
LocationLDT ItemLink OItem ->
LocationDT OItem ->
Creature ->
(Bool, World) ->
Maybe (Muzzle, Int, LDTree ItemLink OItem) ->
(Bool, World)
useLoadedAmmo _ _ (cme, w) Nothing = (cme, w)
useLoadedAmmo loc cr (_, w) (Just (mz, x, magtree)) = (,) True $
removeAmmoFromMag x mid cr . makeMuzzleFlare mz (locLDTToLocDT loc) cr $ case _mzEffect mz of
MuzzleShootBullet -> shootBullets loc cr (mz, x, magtree) w
MuzzleLaser -> creatureShootLaser (locLDTToLocDT loc) cr mz w
removeAmmoFromMag x mid cr . makeMuzzleFlare mz loc cr $ case _mzEffect mz of
MuzzleShootBullet -> shootBullets loc cr (mz, x, (ldtToDT magtree)) w
MuzzleLaser -> creatureShootLaser loc cr mz w
MuzzleTesla -> shootTeslaArc loc cr mz w
MuzzleTractor -> shootTractorBeam cr w
MuzzleRLauncher -> createProjectileR loc magtree mz cr w
MuzzleGLauncher ->
createProjectile
(itmtree ^. ldtValue . _3)
(itmtree ^. dtValue . _3)
(Grenade (getGrenadeHitEffect $ itmtree))
magtree
(getPJStabiliser $ itmtree)
mz
cr
w
MuzzleNozzle{} -> useGasParams mid mz loc cr $ walkNozzle mz (itm ^. _1) cr w
MuzzleShatter -> shootShatter (itm ^. _1) cr w
MuzzleNozzle{} -> useGasParams mid mz loc cr $ walkNozzle mz itm cr w
MuzzleShatter -> shootShatter itm cr w
MuzzleDetector ->
itemDetectorEffect
(itm ^. _1)
(getAttachedSFLink MapperSF $ fmap (^. _1) itmtree)
(getAttachedSFLink ARHUDSF $ fmap (^. _1) itmtree)
itm
(getAttachedSFLink MapperSF itmtree)
(getAttachedSFLink ARHUDSF itmtree)
cr
w
MuzzleBlink -> unsafeBlinkAction cr w
MuzzleUnsafeBlink -> blinkActionMousePos cr w
MuzzleRewind -> useRewindGun (itm ^. _1 . itID) w
MuzzleStopper -> useStopWatch (itm ^. _1) cr w
MuzzleScroller -> useTimeScrollGun (itm ^. _1) cr w
MuzzleRewind -> useRewindGun (itm ^. itID) w
MuzzleStopper -> useStopWatch itm cr w
MuzzleScroller -> useTimeScrollGun itm cr w
where
itmtree = loc ^. locLDT
itmtree = loc ^. locDT
mid = magtree ^? ldtValue . _1 . itLocation . ilInvID
itm = itmtree ^. ldtValue
itm = itmtree ^. dtValue . _1
getAttachedSFLink ::
ItemStructuralFunction ->
LDTree ItemLink Item ->
DTree OItem ->
Maybe (NewInt ItmInt)
getAttachedSFLink sf = (^? ldtRight . folding (lookup (SFLink sf)) . ldtValue . itID)
getAttachedSFLink sf = (^? dtRight . folding (find f) . dtValue . _1 . itID)
where
f :: DTree OItem -> Bool
f x = x ^. dtValue . _2 == sf
itemDetectorEffect ::
Item ->
@@ -925,33 +928,24 @@ removeAmmoFromMag x mid cr = fromMaybe id $ do
. _Just
-~ x
getBulletType :: LDTree ItemLink OItem -> Maybe Bullet
getBulletType :: DTree OItem -> Maybe Bullet
getBulletType magtree =
--magtree ^? ldtValue . itConsumables . magParams . ampBullet
-- (magAmmoParams (magtree ^. ldtValue . _1) ^? _Just . ampBullet)
(magtree ^? ldtValue . _1 . to magAmmoParams . _Just . ampBullet)
-- <&> buTrajectory .~ btraj
(magtree ^? dtValue . _1 . to magAmmoParams . _Just . ampBullet)
<&> buPayload .~ bpayload
<&> buEffect .~ beffect
where
-- btraj = fromMaybe BasicBulletTrajectory $ do
-- targetingtree <- lookup WeaponTargetingLink (itmtree ^. ldtRight) -- left or right for these?
-- tp <- targetingtree ^? ldtValue . itTargeting . itTgPos . _Just
-- attree <- lookup AmmoTargetingLink (magtree ^. ldtLeft)
-- bt <- attree ^? ldtValue . itUse . ubMod . bmTrajectory
-- return $ getBulletTrajectory mz (itmtree ^. ldtValue) bt tp cr w
bpayload = fromMaybe (BulPlain 100) $ do
attree <- find ispayload (magtree ^. ldtLeft)
attree ^? _2 . ldtValue . _1 . itUse . ubMod . bmPayload
ispayload :: (ItemLink,LDTree ItemLink OItem) -> Bool
ispayload y = case y ^. _2 . ldtValue . _2 of
attree <- find ispayload (magtree ^. dtLeft)
attree ^? dtValue . _1 . itUse . ubMod . bmPayload
ispayload :: (DTree OItem) -> Bool
ispayload y = case y ^. dtValue . _2 of
AmmoPayloadSF {} -> True
_ -> False
beffect = fromMaybe DestroyBullet $ do
attree <- find isammoeffect (magtree ^. ldtLeft)
attree ^? _2 . ldtValue . _1 . itUse . ubMod . bmEffect
isammoeffect :: (ItemLink,LDTree ItemLink OItem) -> Bool
isammoeffect y = case y ^. _2 . ldtValue . _2 of
attree <- find isammoeffect (magtree ^. dtLeft)
attree ^? dtValue . _1 . itUse . ubMod . bmEffect
isammoeffect :: (DTree OItem) -> Bool
isammoeffect y = case y ^. dtValue . _2 of
AmmoEffectSF {} -> True
_ -> False
@@ -988,22 +982,22 @@ magAmmoParams itm = case itm ^. itType of
-- _ -> 0
shootBullets ::
LocationLDT ItemLink OItem ->
LocationDT OItem ->
Creature ->
(Muzzle, Int, LDTree ItemLink OItem) ->
(Muzzle, Int, DTree OItem) ->
World ->
World
shootBullets loc cr (mz, x, magtree) w = fromMaybe w $ do
thebullet <- getBulletType $ magtree
return $ foldl' (&) w (replicate x (shootBullet thebullet loc cr mz))
shootBullet :: Bullet -> LocationLDT ItemLink OItem -> Creature -> Muzzle -> World -> World
shootBullet :: Bullet -> LocationDT OItem -> Creature -> Muzzle -> World -> World
shootBullet bu loc cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w
where
(V3 x y _, q) =
locOrient (locLDTToLocDT loc) cr
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
itm = loc ^. locLDT . ldtValue . _1
itm = loc ^. locDT . dtValue . _1
bulpos = _crPos cr + rotateV (_crDir cr) (V2 x y)
(a, g) = randomR (- inacc, inacc) $ _randGen w
dir = _crDir cr + Q.qToAng q + a
@@ -1124,19 +1118,13 @@ mcUseHeld hit = case hit of
LASER -> mcShootLaser
_ -> mcShootAuto
useGasParams ::
Maybe Int ->
Muzzle ->
LocationLDT ItemLink OItem ->
Creature ->
World ->
World
useGasParams :: Maybe Int -> Muzzle -> LocationDT OItem -> Creature -> World -> World
useGasParams mmagid mz loc cr w =
w
& createGas gastype pressure pos dir cr
& randGen .~ g'
where
itm = loc ^. locLDT . ldtValue . _1
itm = loc ^. locDT . dtValue . _1
(pressure, g) = doGenFloat (_nzPressure $ _mzEffect mz) (_randGen w)
gastype = fromMaybe (error "cannot find gas ammo") $ do
magid <- mmagid
@@ -1144,7 +1132,7 @@ useGasParams mmagid mz loc cr w =
fueltype <- cr ^? crInv . ix magid >>= magAmmoParams >>= (^? ampCreateGas)
gasType hit fueltype
(V3 x y _, q) =
locOrient (locLDTToLocDT loc) cr
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
-- (moff, mrot) = heldItemOrient2D itm cr (_mzPos mz) (_mzRot mz)
pos = _crPos cr + rotateV (_crDir cr) (V2 x y)
@@ -1230,18 +1218,18 @@ mcShootAuto itm mc w
dir = mc ^?! mcType . _McTurret . tuDir
-- | assumes that the item is held
shootTeslaArc :: LocationLDT ItemLink OItem -> Creature -> Muzzle -> World -> World
shootTeslaArc :: LocationDT OItem -> Creature -> Muzzle -> World -> World
shootTeslaArc loc cr mz w =
w' & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix invid . itParams .~ ip
& soundContinue (CrWeaponSound (_crID cr) 0) pos elecCrackleS (Just 2)
where
-- use items item location instead
-- itRef = cr ^?! crManipulation . manObject . imRootSelectedItem -- unsafe!! TODO change
itm = loc ^. locLDT . ldtValue . _1
itm = loc ^. locDT . dtValue . _1
invid = itm ^?! itLocation . ilInvID
(w', ip) = makeTeslaArc (itm ^. itParams) pos dir w
(V3 x y _, q) =
locOrient (locLDTToLocDT loc) cr
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
pos = _crPos cr + rotateV (_crDir cr) (V2 x y)
dir = _crDir cr + Q.qToAng q
@@ -1250,7 +1238,7 @@ shootTeslaArc loc cr mz w =
i -> fst . randomR (- i, i) $ _randGen w
determineProjectileTracking :: LDTree ItemLink OItem
-> LDTree ItemLink OItem -> RocketHoming
-> DTree OItem -> RocketHoming
determineProjectileTracking magtree itmtree =
fromMaybe NoHoming $
finddronecontrols <|> findexternaltracking
@@ -1261,8 +1249,8 @@ determineProjectileTracking magtree itmtree =
return $ HomeUsingRemoteScreen (screen ^. _2 . ldtValue . _1 . itID)
findexternaltracking = do
_ <- find isammotargeting (magtree ^. ldtLeft)
targetingtree <- find isweapontargeting (itmtree ^. ldtRight)
return $ HomeUsingTargeting (targetingtree ^. _2 . ldtValue . _1 . itID)
targetingtree <- find isweapontargeting (itmtree ^. dtRight)
return $ HomeUsingTargeting (targetingtree ^. dtValue . _1 . itID)
isremscreen :: (ItemLink,LDTree ItemLink OItem) -> Bool
isremscreen x = case x ^. _2 . ldtValue . _2 of
RemoteScreenSF {} -> True
@@ -1275,13 +1263,13 @@ determineProjectileTracking magtree itmtree =
isammotargeting x = case x ^. _2 . ldtValue . _2 of
AmmoTargetingSF {} -> True
_ -> False
isweapontargeting :: (ItemLink,LDTree ItemLink OItem) -> Bool
isweapontargeting x = case x ^. _2 . ldtValue . _2 of
isweapontargeting :: (DTree OItem) -> Bool
isweapontargeting x = case x ^. dtValue . _2 of
WeaponTargetingSF {} -> True
_ -> False
createProjectileR ::
LocationLDT ItemLink OItem ->
LocationDT OItem ->
LDTree ItemLink OItem ->
Muzzle ->
Creature ->
@@ -1289,15 +1277,15 @@ createProjectileR ::
World
createProjectileR loc magtree =
createProjectile
(loc ^. locLDT . ldtValue . _3)
(loc ^. locDT . dtValue . _3)
( Rocket
(determineProjectileTracking ( magtree) $ itmtree)
(determineProjectileTracking ( magtree) $ itmtree)
smoke
)
magtree
(getPJStabiliser itmtree)
(getPJStabiliser itmtree)
where
itmtree = loc ^. locLDT
itmtree = loc ^. locDT
smoke
| isJust $ find issmokereducer (magtree ^. ldtLeft) = Just ReducedRocketSmoke
| otherwise = Nothing
@@ -1306,28 +1294,28 @@ createProjectileR loc magtree =
SmokeReducerSF {} -> True
_ -> False
getPJStabiliser :: LDTree ItemLink OItem -> Maybe PJStabiliser
getPJStabiliser ldt = case find isprojstab (ldt ^. ldtRight) of
Just ldt' -> case ldt' ^? _2 . ldtValue . _1 . itType . ibtAttach of
getPJStabiliser :: DTree OItem -> Maybe PJStabiliser
getPJStabiliser ldt = case find isprojstab (ldt ^. dtRight) of
Just ldt' -> case ldt' ^? dtValue . _1 . itType . ibtAttach of
Just GIMBAL -> Just StabOrthReduce
Just GYROSCOPE -> Just StabSpinIncrease
_ -> Nothing
_ -> Nothing
where
isprojstab :: (ItemLink,LDTree ItemLink OItem) -> Bool
isprojstab y = case y ^. _2 . ldtValue . _2 of
isprojstab :: (DTree OItem) -> Bool
isprojstab y = case y ^.dtValue . _2 of
ProjectileStabiliserSF {} -> True
_ -> False
getGrenadeHitEffect :: LDTree ItemLink OItem -> GrenadeHitEffect
getGrenadeHitEffect t = case find isghiteff (t ^. ldtRight) of
Just ldt' -> case ldt' ^? _2 . ldtValue . _1 . itType of
getGrenadeHitEffect :: DTree OItem -> GrenadeHitEffect
getGrenadeHitEffect t = case find isghiteff (t ^. dtRight) of
Just ldt' -> case ldt' ^? dtValue . _1 . itType of
Just STICKYMOD -> GStick
_ -> GBounce 2
_ -> GBounce 2
where
isghiteff :: (ItemLink,LDTree ItemLink OItem) -> Bool
isghiteff y = case y ^. _2 . ldtValue . _2 of
isghiteff :: (DTree OItem) -> Bool
isghiteff y = case y ^. dtValue . _2 of
GrenadeHitEffectSF {} -> True
_ -> False
+31 -32
View File
@@ -2009,7 +2009,6 @@ TreeHelp src/TreeHelp.hs 12;" m
Triangulate src/Geometry/Triangulate.hs 3;" m
Trie src/SimpleTrie.hs 9;" t
TriggerDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 1;" m
TriggerLink src/Dodge/Data/ComposedItem.hs 15;" C
TriggerSF src/Dodge/Data/ComposedItem.hs 47;" C
TriggerType src/Dodge/Data/TriggerType.hs 10;" t
TriggerType src/Dodge/Data/TriggerType.hs 4;" m
@@ -3770,14 +3769,14 @@ createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 90;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1312;" f
createProjectileR src/Dodge/HeldUse.hs 1275;" f
createProjectile src/Dodge/HeldUse.hs 1322;" f
createProjectileR src/Dodge/HeldUse.hs 1271;" f
createShell src/Dodge/Projectile/Create.hs 22;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 865;" f
creatureShootLaser src/Dodge/HeldUse.hs 868;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
@@ -3966,7 +3965,7 @@ detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 451;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1251;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1240;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f
@@ -4031,7 +4030,7 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" f
doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1202;" f
doGenFloat src/Dodge/HeldUse.hs 1191;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 326;" f
doInPlacements src/Dodge/Layout.hs 92;" f
@@ -4225,7 +4224,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropAll src/Dodge/Creature/State.hs 125;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1392;" f
dropInventoryPath src/Dodge/HeldUse.hs 1415;" f
dropItem src/Dodge/Creature/Action.hs 172;" f
dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 33;" f
@@ -4417,7 +4416,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1158;" f
gasType src/Dodge/HeldUse.hs 1147;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4436,7 +4435,7 @@ getAttachedSFLink src/Dodge/HeldUse.hs 803;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 121;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 928;" f
getBulletType src/Dodge/HeldUse.hs 931;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4444,7 +4443,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 411;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1305;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1310;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f
getLaserColor src/Dodge/HeldUse.hs 747;" f
@@ -4554,9 +4553,9 @@ heldInfo src/Dodge/Item/Info.hs 90;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f
heldItemInvLock src/Dodge/HeldUse.hs 479;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1033;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1028;" f
heldItemMuzzles src/Dodge/HeldUse.hs 157;" f
heldItemRifling src/Dodge/HeldUse.hs 1077;" f
heldItemRifling src/Dodge/HeldUse.hs 1072;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 223;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f
@@ -4714,7 +4713,7 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 809;" f
itemDetectorEffect src/Dodge/HeldUse.hs 812;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f
itemEquipPict src/Dodge/Item/Draw.hs 19;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f
@@ -4885,7 +4884,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 957;" f
magAmmoParams src/Dodge/HeldUse.hs 952;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f
@@ -4900,7 +4899,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1014;" f
makeBullet src/Dodge/HeldUse.hs 1009;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4981,11 +4980,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 111;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1213;" f
mcShootLaser src/Dodge/HeldUse.hs 1206;" f
mcShootAuto src/Dodge/HeldUse.hs 1202;" f
mcShootLaser src/Dodge/HeldUse.hs 1195;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1121;" f
mcUseHeld src/Dodge/HeldUse.hs 1116;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f
medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 54;" f
@@ -5501,7 +5500,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 916;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 919;" f
removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5782,15 +5781,15 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 293;" f
shineTorch src/Dodge/Creature/State.hs 333;" f
shootBullet src/Dodge/HeldUse.hs 999;" f
shootBullets src/Dodge/HeldUse.hs 989;" f
shootBullet src/Dodge/HeldUse.hs 994;" f
shootBullets src/Dodge/HeldUse.hs 984;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 895;" f
shootLaser src/Dodge/HeldUse.hs 898;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1232;" f
shootTeslaArc src/Dodge/HeldUse.hs 1221;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 842;" f
shootTractorBeam src/Dodge/HeldUse.hs 845;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -6092,7 +6091,7 @@ torqueCr src/Dodge/WorldEffect.hs 66;" f
torso src/Dodge/Creature/Picture.hs 99;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 854;" f
tractorBeamAt src/Dodge/HeldUse.hs 857;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 435;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
@@ -6330,9 +6329,9 @@ upperRounded src/Shape.hs 185;" f
useBulletPayload src/Dodge/Bullet.hs 113;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useGasParams src/Dodge/HeldUse.hs 1126;" f
useGasParams src/Dodge/HeldUse.hs 1121;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1423;" f
useInventoryPath src/Dodge/HeldUse.hs 1446;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
@@ -6340,14 +6339,14 @@ useLoadedAmmo src/Dodge/HeldUse.hs 761;" f
useMagShield src/Dodge/Euse.hs 27;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1383;" f
useRewindGun src/Dodge/HeldUse.hs 1406;" f
useRewindGun src/Dodge/Luse.hs 40;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useStopWatch src/Dodge/HeldUse.hs 1364;" f
useStopWatch src/Dodge/HeldUse.hs 1387;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1372;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1395;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6383,7 +6382,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 345;" f
waistSP src/Dodge/Creature/HandPos.hs 173;" f
walkNozzle src/Dodge/HeldUse.hs 824;" f
walkNozzle src/Dodge/HeldUse.hs 827;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6391,7 +6390,7 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1417;" f
warmupSound src/Dodge/HeldUse.hs 1440;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f