First implementation of pulse lasers

This commit is contained in:
2025-07-23 23:22:26 +01:00
parent 8b17ec56ad
commit ff3699e6cb
9 changed files with 181 additions and 129 deletions
+4 -1
View File
@@ -6,6 +6,7 @@ module Dodge.BaseTriggerType (
module Dodge.Data.TriggerType,
) where
import Dodge.PulseLaser
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Control.Lens
@@ -13,7 +14,9 @@ import Dodge.Data.Item
import Dodge.Data.TriggerType
itemTriggerType :: LocationDT OItem -> TriggerType
itemTriggerType loc = baseItemTriggerType $ loc ^. locDT . dtValue . _1
itemTriggerType loc
| isPulseLaser loc = HammerTrigger 9
| otherwise = baseItemTriggerType $ loc ^. locDT . dtValue . _1
baseItemTriggerType :: Item -> TriggerType
baseItemTriggerType itm = case itm ^. itType of
+2 -1
View File
@@ -329,8 +329,9 @@ stackedInventory =
, remoteScreen
, megaShellMag
, laser
, makeTypeCraft TRANSFORMER
, megaBattery
, makeTypeCraft CAPACITOR
, makeTypeCraft TRANSFORMER
, teslaGun
, megaBattery
, flameThrower
+1
View File
@@ -38,6 +38,7 @@ data ItemSF -- Structural Function
| ToggleSF
| MapperSF
| LaserWeaponSF
| CapacitorSF
deriving (Eq, Ord, Show, Read)
type CItem = (Item, ItemSF)
+1
View File
@@ -31,6 +31,7 @@ data FlareType
data MuzzleEffect
= MuzzleShootBullet
| MuzzleLaser
| MuzzlePulseLaser
| MuzzleTesla
| MuzzleTractor
| MuzzleRLauncher
+1 -7
View File
@@ -4,14 +4,10 @@
module Dodge.Data.TriggerType where
import Control.Lens
--import Data.Aeson
--import Data.Aeson.TH
data TriggerType
= AutoTrigger Int
| HammerTrigger Int
| NoTrigger
-- | AlwaysSingleTrigger Int
| BurstTrigger {_burstFrames :: [Int], _burstRate :: Int}
| VolleyGunTrigger {_volleyNumBarrels::Int, _volleyRate :: Int}
| WarmUpCoolDown
@@ -19,9 +15,7 @@ data TriggerType
, _coolStart :: Int
, _coolEnd :: Int
}
| WarmUpNoDelay
{ _warmMax :: Int
}
| WarmUpNoDelay { _warmMax :: Int }
deriving (Eq, Show, Read)
makeLenses ''TriggerType
+51 -7
View File
@@ -8,6 +8,7 @@ module Dodge.HeldUse (
heldEffectMuzzles,
) where
import Dodge.PulseLaser
import Color
import Control.Applicative
import Control.Monad
@@ -134,12 +135,23 @@ heldEffectMuzzles loc cr w =
$ loadedmuzzles
where
t = loc ^. locDT
(_, loadedmuzzles) = mapAccumR loadMuzzle t . itemMuzzles $ t ^. dtValue . _1
(_, loadedmuzzles) = mapAccumR loadMuzzle t . locMuzzles $ loc
setusetime =
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itTimeLastUsed
.~ w ^. cWorld . lWorld . lClock
itid = t ^?! dtValue . _1 . itLocation . ilInvID
locMuzzles :: LocationDT OItem -> [Muzzle]
locMuzzles loc
| isPulseLaser loc =
dbwMuzzles
& ix 0 . mzPos .~ V2 6 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ TeslaGunFlare
& ix 0 . mzEffect .~ MuzzlePulseLaser
& ix 0 . mzAmmoPerShot .~ UseExactly 100
| otherwise = itemMuzzles $ loc ^. locDT . dtValue . _1
itemMuzzles :: Item -> [Muzzle]
itemMuzzles itm = case itm ^. itType of
HELD ALTERIFLE ->
@@ -686,10 +698,10 @@ flareCircleAt col alphax tranv =
)
-- previous phaseV parameters: 0.2, 1, 5
getLaserPhaseV :: DTree Item -> Float
getLaserPhaseV :: LocationDT OItem -> Float
getLaserPhaseV = const 1
getLaserDamage :: DTree Item -> LaserType
getLaserDamage :: LocationDT OItem -> LaserType
getLaserDamage = const (DamageLaser 11)
getLaserColor :: LocationDT OItem -> Color
@@ -719,6 +731,7 @@ useLoadedAmmo loc cr (_, w) (Just (mz, x, magtree)) = (,) True $
removeAmmoFromMag x mid cr . makeMuzzleFlare mz loc cr $ case _mzEffect mz of
MuzzleShootBullet -> shootBullets loc cr (mz, x, magtree) w
MuzzleLaser -> creatureShootLaser loc cr mz w
MuzzlePulseLaser -> creatureShootPulseLaser loc cr mz w
MuzzleTesla -> shootTeslaArc loc cr mz w
MuzzleTractor -> shootTractorBeam cr w
MuzzleRLauncher -> createProjectileR loc magtree mz cr w
@@ -816,14 +829,12 @@ creatureShootLaser loc cr mz w =
& randGen .~ g
& shootLaser
(CrWeaponSound (_crID cr) 0)
(getLaserDamage istree)
(getLaserPhaseV istree)
(getLaserDamage loc)
(getLaserPhaseV loc)
pos
dir
(getLaserColor loc)
where
itmtree = loc ^. locDT
istree = fmap (\(i, _, _) -> i) itmtree
(V3 x y _, q) =
locOrient loc cr
`Q.comp` ((_mzPos mz + V2 0 offset) `v2z` 0, Q.axisAngle (V3 0 0 1) (_mzRot mz))
@@ -856,6 +867,39 @@ shootLaser so lt pv p dir col w =
}
& soundContinue so p tone440sawtoothquietS (Just 2)
creatureShootPulseLaser :: LocationDT OItem -> Creature -> Muzzle -> World -> World
creatureShootPulseLaser loc cr mz w =
w
& randGen .~ g
& shootPulseLaser
(CrWeaponSound (_crID cr) 0)
pos
dir
where
(V3 x y _, q) =
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 + a
(a, g) = randomR (- inacc, inacc) $ _randGen w
inacc = _mzInaccuracy mz
offset = case mz ^. mzRandomOffset of
0 -> 0
i -> fst . randomR (- i, i) $ _randGen w
shootPulseLaser :: SoundOrigin -> Point2 -> Float -> World -> World
shootPulseLaser so p dir w =
w
& cWorld . lWorld . pulseLasers
.:~ PulseLaser
{ _pzPhaseV = 1
, _pzPos = p
, _pzDir = dir
, _pzDamage = 101
, _pzTimer = 5
}
& soundContinue so p tone440sawtoothquietS (Just 2)
removeAmmoFromMag :: Int -> Maybe Int -> Creature -> World -> World
removeAmmoFromMag x mid cr = fromMaybe id $ do
magid <- mid
+2
View File
@@ -47,6 +47,7 @@ itemAboveAttachables (itm,sf) = case (itm ^. itType, sf) of
itemBelowAttachables :: CItem -> [ItemSF]
itemBelowAttachables (itm,sf) = case (itm ^. itType, sf) of
(HELD LASER, _) -> getAmmoLinks itm <> [CapacitorSF]
(HELD TORCH, _) -> getAmmoLinks itm
(ATTACH UNDERBARRELSLOT, _) -> [UnderBarrelPlatformSF]
(_, HeldPlatformSF) -> getAmmoLinks itm <> extraWeaponLinksBelow itm
@@ -128,6 +129,7 @@ itemToFunction itm = case itm ^. itType of
ATTACH SHELLPAYLOAD{} -> AmmoPayloadSF LauncherAmmo
DROPPER{} -> GadgetPlatformSF
CLICKER{} -> GadgetPlatformSF
CRAFT CAPACITOR -> CapacitorSF
_ -> NoSF
treeToPotentialFunction :: DTree CItem -> S.Set ItemSF
+1
View File
@@ -36,6 +36,7 @@ itemInvColor ci = case ci ^. _2 of
UnderBarrelPlatformSF -> white
UnderBarrelSlotSF -> white
LaserWeaponSF -> white
CapacitorSF -> yellow
--ammoTypeColor :: AmmoType -> Color
--ammoTypeColor = \case
+118 -113
View File
@@ -63,7 +63,7 @@ AmmoMagType src/Dodge/Data/Item/Combine.hs 106;" t
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 30;" C
AmmoParams src/Dodge/Data/Item/Use.hs 51;" t
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 32;" C
AmmoPerShot src/Dodge/Data/Muzzle.hs 52;" t
AmmoPerShot src/Dodge/Data/Muzzle.hs 53;" t
AmmoSlots src/Dodge/Item/AmmoSlots.hs 3;" m
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C
AmmoType src/Dodge/Data/AmmoType.hs 3;" m
@@ -245,7 +245,7 @@ CHARTREUSE src/Color/Data.hs 25;" C
CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 112;" C
CHeal src/Dodge/Data/Item/HeldUse.hs 16;" C
CIRCLE src/Dodge/Data/GenParams.hs 20;" C
CItem src/Dodge/Data/ComposedItem.hs 43;" t
CItem src/Dodge/Data/ComposedItem.hs 44;" t
CLICKER src/Dodge/Data/Item/Combine.hs 28;" C
CME src/Dodge/Data/MuzzleEffect.hs 14;" C
COPIER src/Dodge/Data/Item/Combine.hs 29;" C
@@ -270,6 +270,7 @@ Camera src/Dodge/Update/Camera.hs 5;" m
CameraScrollTimeFlow src/Dodge/Data/World.hs 68;" C
CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 3;" m
Cane src/Dodge/Item/Held/Cane.hs 1;" m
CapacitorSF src/Dodge/Data/ComposedItem.hs 41;" C
CardinalCover src/Dodge/Data/CardinalPoint.hs 21;" t
CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 10;" t
CardinalPoint src/Dodge/Base/CardinalPoint.hs 1;" m
@@ -435,7 +436,7 @@ DRUMMAG src/Dodge/Data/Item/Combine.hs 108;" C
DS src/DoubleStack.hs 3;" t
DT src/Dodge/Data/DoubleTree.hs 31;" C
DTBottomNode src/Dodge/Data/DoubleTree.hs 21;" C
DTComb src/Dodge/Item/Grammar.hs 148;" t
DTComb src/Dodge/Item/Grammar.hs 150;" t
DTMidAboveNode src/Dodge/Data/DoubleTree.hs 19;" C
DTMidBelowNode src/Dodge/Data/DoubleTree.hs 20;" C
DTRootNode src/Dodge/Data/DoubleTree.hs 17;" C
@@ -1210,22 +1211,23 @@ MusicData src/Music.hs 7;" t
Mute src/Dodge/Data/Creature/Misc.hs 21;" C
Muzzle src/Dodge/Data/Muzzle.hs 9;" t
Muzzle src/Dodge/Data/Muzzle.hs 3;" m
MuzzleBlink src/Dodge/Data/Muzzle.hs 45;" C
MuzzleDetector src/Dodge/Data/Muzzle.hs 44;" C
MuzzleBlink src/Dodge/Data/Muzzle.hs 46;" C
MuzzleDetector src/Dodge/Data/Muzzle.hs 45;" C
MuzzleEffect src/Dodge/Data/Muzzle.hs 31;" t
MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 6;" m
MuzzleGLauncher src/Dodge/Data/Muzzle.hs 37;" C
MuzzleGLauncher src/Dodge/Data/Muzzle.hs 38;" C
MuzzleLaser src/Dodge/Data/Muzzle.hs 33;" C
MuzzleNozzle src/Dodge/Data/Muzzle.hs 38;" C
MuzzleRLauncher src/Dodge/Data/Muzzle.hs 36;" C
MuzzleRewind src/Dodge/Data/Muzzle.hs 47;" C
MuzzleScroller src/Dodge/Data/Muzzle.hs 49;" C
MuzzleShatter src/Dodge/Data/Muzzle.hs 43;" C
MuzzleNozzle src/Dodge/Data/Muzzle.hs 39;" C
MuzzlePulseLaser src/Dodge/Data/Muzzle.hs 34;" C
MuzzleRLauncher src/Dodge/Data/Muzzle.hs 37;" C
MuzzleRewind src/Dodge/Data/Muzzle.hs 48;" C
MuzzleScroller src/Dodge/Data/Muzzle.hs 50;" C
MuzzleShatter src/Dodge/Data/Muzzle.hs 44;" C
MuzzleShootBullet src/Dodge/Data/Muzzle.hs 32;" C
MuzzleStopper src/Dodge/Data/Muzzle.hs 48;" C
MuzzleTesla src/Dodge/Data/Muzzle.hs 34;" C
MuzzleTractor src/Dodge/Data/Muzzle.hs 35;" C
MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 46;" C
MuzzleStopper src/Dodge/Data/Muzzle.hs 49;" C
MuzzleTesla src/Dodge/Data/Muzzle.hs 35;" C
MuzzleTractor src/Dodge/Data/Muzzle.hs 36;" C
MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 47;" C
MvForward src/Dodge/Data/ActionPlan.hs 35;" C
MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C
MvWalking src/Dodge/Data/Creature/Misc.hs 30;" C
@@ -1325,7 +1327,7 @@ NumShadowCasters6 src/Dodge/Data/Config.hs 21;" C
NumShadowCasters7 src/Dodge/Data/Config.hs 22;" C
NumShadowCasters8 src/Dodge/Data/Config.hs 23;" C
NumShadowCasters9 src/Dodge/Data/Config.hs 24;" C
OItem src/Dodge/Data/ComposedItem.hs 45;" t
OItem src/Dodge/Data/ComposedItem.hs 46;" t
ORANGE src/Color/Data.hs 26;" C
ObButton src/Dodge/Data/ObjectType.hs 17;" C
ObCreature src/Dodge/Data/ObjectType.hs 13;" C
@@ -1529,6 +1531,7 @@ Pulse src/Dodge/Data/Creature/Misc.hs 54;" t
PulseBall src/Dodge/Data/PulseLaser.hs 20;" t
PulseLaser src/Dodge/Data/PulseLaser.hs 11;" t
PulseLaser src/Dodge/Data/PulseLaser.hs 4;" m
PulseLaser src/Dodge/PulseLaser.hs 1;" m
PulseStatus src/Dodge/Data/Creature/Misc.hs 54;" C
PushPop src/Dodge/Menu/PushPop.hs 1;" m
PushSource src/Dodge/Data/Door.hs 27;" t
@@ -2072,7 +2075,7 @@ UseCondition src/Dodge/Data/UseCondition.hs 2;" m
UseDelay src/Dodge/Data/Item/HeldDelay.hs 13;" t
UseDelay src/Dodge/Data/UseDelay.hs 6;" m
UseDelay src/Dodge/Item/UseDelay.hs 3;" m
UseExactly src/Dodge/Data/Muzzle.hs 53;" C
UseExactly src/Dodge/Data/Muzzle.hs 54;" C
UseFocus src/Dodge/Data/UseCondition.hs 11;" t
UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C
UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C
@@ -2089,7 +2092,7 @@ UseScope src/Dodge/Data/Item/Use.hs 36;" C
UseSelf src/Dodge/Data/ActionPlan.hs 157;" C
UseTarget src/Dodge/Data/ActionPlan.hs 154;" C
UseToggle src/Dodge/Data/Item/Use.hs 38;" C
UseUpTo src/Dodge/Data/Muzzle.hs 54;" C
UseUpTo src/Dodge/Data/Muzzle.hs 55;" C
UseValue src/Dodge/Data/Item/Use.hs 35;" C
UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C
UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C
@@ -2805,9 +2808,9 @@ _numLinkEW src/Dodge/Data/Room.hs 33;" f
_numLinkNS src/Dodge/Data/Room.hs 34;" f
_numberFloorVerxs src/Dodge/Data/CWorld.hs 29;" f
_nzAngle src/Dodge/Data/Item/Params.hs 18;" f
_nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 40;" f
_nzPressure src/Dodge/Data/Muzzle.hs 39;" f
_nzWalkSpeed src/Dodge/Data/Muzzle.hs 41;" f
_nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 41;" f
_nzPressure src/Dodge/Data/Muzzle.hs 40;" f
_nzWalkSpeed src/Dodge/Data/Muzzle.hs 42;" f
_offPathFromEdges src/Dodge/Data/Room.hs 74;" f
_oldMagnets src/Dodge/Data/LWorld.hs 127;" f
_onPathFromEdges src/Dodge/Data/Room.hs 73;" f
@@ -3200,14 +3203,14 @@ _unfiredBarrels src/Dodge/Data/Item/Params.hs 19;" f
_unpauseClock src/Dodge/Data/World.hs 55;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 36;" f
_useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f
_useExactly src/Dodge/Data/Muzzle.hs 53;" f
_useExactly src/Dodge/Data/Muzzle.hs 54;" f
_useMapperLines src/Dodge/Data/Item/Use.hs 40;" f
_useMapperPoints src/Dodge/Data/Item/Use.hs 41;" f
_useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f
_useSelf src/Dodge/Data/ActionPlan.hs 158;" f
_useTarget src/Dodge/Data/ActionPlan.hs 155;" f
_useToggle src/Dodge/Data/Item/Use.hs 38;" f
_useUpTo src/Dodge/Data/Muzzle.hs 54;" f
_useUpTo src/Dodge/Data/Muzzle.hs 55;" f
_uvCanContinue src/Dodge/Data/Universe.hs 39;" f
_uvConfig src/Dodge/Data/Universe.hs 37;" f
_uvDebug src/Dodge/Data/Universe.hs 44;" f
@@ -3375,21 +3378,21 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f
applyCME src/Dodge/HeldUse.hs 351;" f
applyCME src/Dodge/HeldUse.hs 363;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 418;" f
applyInvLock src/Dodge/HeldUse.hs 430;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
applyPastDamages src/Dodge/Creature/State.hs 132;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 449;" f
applyRecoil src/Dodge/HeldUse.hs 461;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 551;" f
applySoundCME src/Dodge/HeldUse.hs 439;" f
applySidePush src/Dodge/HeldUse.hs 563;" f
applySoundCME src/Dodge/HeldUse.hs 451;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -3397,7 +3400,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 562;" f
applyTorqueCME src/Dodge/HeldUse.hs 574;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -3460,18 +3463,18 @@ barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 46;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 419;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 145;" f
baseCI src/Dodge/Item/Grammar.hs 147;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 336;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 45;" f
baseItemTriggerType src/Dodge/BaseTriggerType.hs 18;" f
baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 339;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 416;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 404;" f
baseShoulder src/Dodge/Creature/Picture.hs 125;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 313;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 305;" f
baseStickSpread src/Dodge/HeldUse.hs 293;" f
baseStickSpread src/Dodge/HeldUse.hs 305;" f
baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
@@ -3481,7 +3484,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 698;" f
basicMuzFlare src/Dodge/HeldUse.hs 710;" f
basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 62;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
@@ -3490,7 +3493,7 @@ beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 505;" f
bgunSound src/Dodge/HeldUse.hs 517;" f
bindFBO src/Render.hs 244;" f
bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f
@@ -3780,14 +3783,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 1253;" f
createProjectileR src/Dodge/HeldUse.hs 1202;" f
createProjectile src/Dodge/HeldUse.hs 1266;" f
createProjectileR src/Dodge/HeldUse.hs 1215;" 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 813;" f
creatureShootLaser src/Dodge/HeldUse.hs 826;" 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
@@ -3858,7 +3861,7 @@ dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f
dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 296;" f
dbwMuzzles src/Dodge/HeldUse.hs 308;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f
@@ -3976,7 +3979,7 @@ detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 466;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 225;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1173;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1186;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f
@@ -4041,9 +4044,9 @@ 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 1129;" f
doGenFloat src/Dodge/HeldUse.hs 1142;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 327;" f
doHeldUseEffect src/Dodge/HeldUse.hs 339;" f
doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -4235,7 +4238,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 1346;" f
dropInventoryPath src/Dodge/HeldUse.hs 1359;" 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
@@ -4319,8 +4322,8 @@ extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 73;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 83;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 92;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 84;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 93;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f
faceEdges src/Polyhedra.hs 65;" f
facesToVF src/Polyhedra/Geodesic.hs 69;" f
@@ -4352,7 +4355,7 @@ firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 299;" f
flameMuzzles src/Dodge/HeldUse.hs 311;" f
flameShield src/Dodge/Item/Equipment.hs 33;" f
flameSize src/Dodge/Flame/Size.hs 5;" f
flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
@@ -4360,7 +4363,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 407;" f
flareCircleAt src/Dodge/HeldUse.hs 679;" f
flareCircleAt src/Dodge/HeldUse.hs 691;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 39;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -4420,14 +4423,14 @@ fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
g src/ShortShow.hs 33;" f
gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
gRandify src/Dodge/Randify.hs 11;" f
gadgetEffect src/Dodge/HeldUse.hs 45;" f
gadgetEffect src/Dodge/HeldUse.hs 46;" f
gameOverMenu src/Dodge/Menu.hs 187;" f
gameRoomFromRoom src/Dodge/Layout.hs 161;" f
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 1085;" f
gasType src/Dodge/HeldUse.hs 1098;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4439,14 +4442,14 @@ geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 97;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 98;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 753;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 78;" f
getAttachedSFLink src/Dodge/HeldUse.hs 766;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 79;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 871;" f
getBulletType src/Dodge/HeldUse.hs 884;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4454,17 +4457,17 @@ 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 1241;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1254;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f
getLaserColor src/Dodge/HeldUse.hs 695;" f
getLaserDamage src/Dodge/HeldUse.hs 692;" f
getLaserPhaseV src/Dodge/HeldUse.hs 689;" f
getLaserColor src/Dodge/HeldUse.hs 707;" f
getLaserDamage src/Dodge/HeldUse.hs 704;" f
getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 394;" f
getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1228;" f
getPJStabiliser src/Dodge/HeldUse.hs 1241;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
@@ -4474,7 +4477,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 124;" f
getVolleyBurst src/Dodge/HeldUse.hs 125;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f
getWindowSize src/Dodge/WindowSize.hs 5;" f
gimbal src/Dodge/Item/Scope.hs 153;" f
@@ -4524,7 +4527,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 60;" f
hammerCheck src/Dodge/HeldUse.hs 61;" f
handHandleOrient src/Dodge/Item/HeldOffset.hs 61;" f
handOrient src/Dodge/Item/HeldOffset.hs 37;" f
handleEvent src/Dodge/Event.hs 27;" f
@@ -4557,21 +4560,21 @@ healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 23;" f
heldAimZoom src/Dodge/Update/Camera.hs 140;" f
heldEffect src/Dodge/HeldUse.hs 57;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 129;" f
heldEffect src/Dodge/HeldUse.hs 58;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 130;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 88;" f
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 432;" f
heldItemMuzVel src/Dodge/HeldUse.hs 968;" f
heldItemMuzzles src/Dodge/HeldUse.hs 158;" f
heldItemRifling src/Dodge/HeldUse.hs 1012;" f
heldItemInvLock src/Dodge/HeldUse.hs 444;" f
heldItemMuzVel src/Dodge/HeldUse.hs 981;" f
heldItemMuzzles src/Dodge/HeldUse.hs 170;" f
heldItemRifling src/Dodge/HeldUse.hs 1025;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 247;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f
heldPositionInfo src/Dodge/Item/Info.hs 241;" f
heldTorqueAmount src/Dodge/HeldUse.hs 578;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 23;" f
heldTorqueAmount src/Dodge/HeldUse.hs 590;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 26;" f
helpCommand src/Dodge/Terminal.hs 66;" f
helpPoly3D src/Polyhedra.hs 125;" f
heron src/Geometry.hs 217;" f
@@ -4658,18 +4661,18 @@ interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 80;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 214;" f
invAdj src/Dodge/Item/Grammar.hs 216;" f
invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f
invDT src/Dodge/Item/Grammar.hs 191;" f
invDT' src/Dodge/Item/Grammar.hs 196;" f
invDT src/Dodge/Item/Grammar.hs 193;" f
invDT' src/Dodge/Item/Grammar.hs 198;" f
invDimColor src/Dodge/DisplayInventory.hs 192;" f
invHead src/Dodge/Render/HUD.hs 404;" f
invIMDT src/Dodge/Item/Grammar.hs 224;" f
invIndents src/Dodge/Item/Grammar.hs 231;" f
invIMDT src/Dodge/Item/Grammar.hs 226;" f
invIndents src/Dodge/Item/Grammar.hs 233;" f
invItemLocUpdate src/Dodge/Creature/State.hs 153;" f
invRootItemEffs src/Dodge/Creature/State.hs 146;" f
invRootMap src/Dodge/Item/Grammar.hs 203;" f
invRootMap src/Dodge/Item/Grammar.hs 205;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 185;" f
invSetSelectionPos src/Dodge/Inventory.hs 193;" f
@@ -4686,7 +4689,7 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 705;" f
isAmmoIntLink src/Dodge/HeldUse.hs 717;" f
isAnimate src/Dodge/Creature/Test.hs 144;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f
@@ -4701,6 +4704,7 @@ isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 236;" f
isOutLnk src/Dodge/PlacementSpot.hs 164;" f
isOverTerminalScreen src/Dodge/Update.hs 405;" f
isPulseLaser src/Dodge/PulseLaser.hs 8;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
isRHS src/Geometry/LHS.hs 24;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f
@@ -4725,7 +4729,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 759;" f
itemDetectorEffect src/Dodge/HeldUse.hs 772;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 19;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
@@ -4737,8 +4741,8 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 427;" f
itemMuzzles src/Dodge/HeldUse.hs 143;" f
itemInvLock src/Dodge/HeldUse.hs 439;" f
itemMuzzles src/Dodge/HeldUse.hs 155;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f
@@ -4746,11 +4750,11 @@ itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 52;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 121;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 148;" f
itemSidePush src/Dodge/HeldUse.hs 374;" f
itemSidePush src/Dodge/HeldUse.hs 386;" f
itemString src/Dodge/Item/Display.hs 56;" f
itemToFunction src/Dodge/Item/Grammar.hs 100;" f
itemToFunction src/Dodge/Item/Grammar.hs 101;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 15;" f
itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f
itemWeight src/Dodge/Creature/Statistics.hs 66;" f
iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f
@@ -4760,7 +4764,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 231;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 181;" f
joinItemsInList src/Dodge/Item/Grammar.hs 183;" f
joystick src/Dodge/Item/Scope.hs 149;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
@@ -4810,10 +4814,10 @@ ldtToIM src/Dodge/DoubleTree.hs 218;" f
ldtToIndentList src/Dodge/DoubleTree.hs 221;" f
ldtToLoc src/Dodge/DoubleTree.hs 267;" f
left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 160;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 150;" f
leftChildList src/Dodge/Item/Grammar.hs 162;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 152;" f
leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 172;" f
leftRightCombine src/Dodge/Item/Grammar.hs 174;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 481;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f
@@ -4847,7 +4851,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 393;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 622;" f
loadMuzzle src/Dodge/HeldUse.hs 634;" f
loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4865,6 +4869,7 @@ locGoLeft src/Dodge/DoubleTree.hs 318;" f
locGoRight src/Dodge/DoubleTree.hs 323;" f
locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f
locLeftmost src/Dodge/DoubleTree.hs 305;" f
locMuzzles src/Dodge/HeldUse.hs 144;" f
locOrient src/Dodge/Item/HeldOffset.hs 56;" f
locRightmost src/Dodge/DoubleTree.hs 308;" f
locToTop src/Dodge/DoubleTree.hs 300;" f
@@ -4898,7 +4903,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 892;" f
magAmmoParams src/Dodge/HeldUse.hs 905;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f
@@ -4913,7 +4918,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 949;" f
makeBullet src/Dodge/HeldUse.hs 962;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4939,7 +4944,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 74;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 639;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 651;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4994,11 +4999,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 1140;" f
mcShootLaser src/Dodge/HeldUse.hs 1133;" f
mcShootAuto src/Dodge/HeldUse.hs 1153;" f
mcShootLaser src/Dodge/HeldUse.hs 1146;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1056;" f
mcUseHeld src/Dodge/HeldUse.hs 1069;" 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
@@ -5091,7 +5096,7 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 34;" f
multiLookupTrieI src/SimpleTrie.hs 43;" f
muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 665;" f
muzFlareAt src/Dodge/HeldUse.hs 677;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
@@ -5486,7 +5491,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 457;" f
recoilAmount src/Dodge/HeldUse.hs 469;" f
rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f
@@ -5514,7 +5519,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 859;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 872;" f
removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5559,8 +5564,8 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f
rightChildList src/Dodge/Item/Grammar.hs 166;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 155;" f
rightChildList src/Dodge/Item/Grammar.hs 168;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 157;" f
rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5795,15 +5800,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 332;" f
shootBullet src/Dodge/HeldUse.hs 934;" f
shootBullets src/Dodge/HeldUse.hs 924;" f
shootBullet src/Dodge/HeldUse.hs 947;" f
shootBullets src/Dodge/HeldUse.hs 937;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 838;" f
shootLaser src/Dodge/HeldUse.hs 851;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1156;" f
shootTeslaArc src/Dodge/HeldUse.hs 1169;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 792;" f
shootTractorBeam src/Dodge/HeldUse.hs 805;" 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
@@ -6100,12 +6105,12 @@ topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 57;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 291;" f
torqueAmount src/Dodge/HeldUse.hs 573;" f
torqueAmount src/Dodge/HeldUse.hs 585;" f
torqueCr src/Dodge/WorldEffect.hs 67;" 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 804;" f
tractorBeamAt src/Dodge/HeldUse.hs 817;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 450;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
@@ -6150,7 +6155,7 @@ treeMaxDepthFromTrunk src/Dodge/Layout/Generate.hs 21;" f
treePath src/Dodge/Tree/GenerateStructure.hs 13;" f
treePaths src/TreeHelp.hs 138;" f
treePost src/TreeHelp.hs 45;" f
treeToPotentialFunction src/Dodge/Item/Grammar.hs 133;" f
treeToPotentialFunction src/Dodge/Item/Grammar.hs 135;" f
triLootRoom src/Dodge/Room/Treasure.hs 22;" f
triggerDoorRoom src/Dodge/Room/Door.hs 30;" f
triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f
@@ -6345,24 +6350,24 @@ 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 1061;" f
useGasParams src/Dodge/HeldUse.hs 1074;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1377;" f
useInventoryPath src/Dodge/HeldUse.hs 1390;" 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
useLoadedAmmo src/Dodge/HeldUse.hs 711;" f
useLoadedAmmo src/Dodge/HeldUse.hs 723;" 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 1337;" f
useRewindGun src/Dodge/HeldUse.hs 1350;" 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 1318;" f
useStopWatch src/Dodge/HeldUse.hs 1331;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1326;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1339;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6386,7 +6391,7 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 316;" f
vgunMuzzles src/Dodge/HeldUse.hs 328;" f
viewBoundaries src/Dodge/Debug/Picture.hs 304;" f
viewClipBounds src/Dodge/Debug/Picture.hs 313;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f
@@ -6398,7 +6403,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 370;" f
waistSP src/Dodge/Creature/HandPos.hs 173;" f
walkNozzle src/Dodge/HeldUse.hs 774;" f
walkNozzle src/Dodge/HeldUse.hs 787;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6406,7 +6411,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 1371;" f
warmupSound src/Dodge/HeldUse.hs 1384;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f