diff --git a/src/Dodge/Creature/State.hs b/src/Dodge/Creature/State.hs index 80a69df53..41d06901e 100644 --- a/src/Dodge/Creature/State.hs +++ b/src/Dodge/Creature/State.hs @@ -35,7 +35,6 @@ import Dodge.Zoning.Creature import FoldableHelp import Geometry import LensHelp -import Picture import qualified Quaternion as Q import RandomHelp import qualified SDL @@ -218,7 +217,7 @@ shineTargetLaser cr loc w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ d { _lpPhaseV = 1 , _lpDir = _crDir cr + argV (Q.qToV2 q) , _lpPos = pos - , _lpColor = col +-- , _lpColor = col , _lpType = TargetingLaser (_itID itm) } where @@ -233,7 +232,6 @@ shineTargetLaser cr loc w = fromMaybe (w & pointittarg . itTgPos .~ Nothing) $ d itm = itmtree ^. dtValue . _1 pointittarg = cWorld . lWorld . items . ix itid . itTargeting itid = itm ^. itID . unNInt - col = blue -- mixColors reloadFrac (1-reloadFrac) blue red shineTorch :: Creature -> LocationDT OItem -> World -> World shineTorch cr loc = fromMaybe id $ do diff --git a/src/Dodge/Data/Laser.hs b/src/Dodge/Data/Laser.hs index 8efcde098..58b588511 100644 --- a/src/Dodge/Data/Laser.hs +++ b/src/Dodge/Data/Laser.hs @@ -5,7 +5,7 @@ module Dodge.Data.Laser where import NewInt import Dodge.Data.Item.Location -import Color +--import Color import Control.Lens import Data.Aeson import Data.Aeson.TH @@ -20,7 +20,6 @@ data Laser = Laser { _lpPhaseV :: Float , _lpPos :: Point2 , _lpDir :: Float - , _lpColor :: Color , _lpType :: LaserType } deriving (Eq, Ord, Show, Read) --Generic, Flat) diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 393f049f3..ac68e8ec8 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -10,6 +10,7 @@ module Dodge.HeldUse ( itemMuzzles, ) where +import Dodge.Laser.Update import Color import Control.Applicative import Control.Monad @@ -37,7 +38,7 @@ import Dodge.Tesla import Geometry import qualified IntMapHelp as IM import LensHelp -import Linear (_xy, _xyz) +import Linear (_xy,_xyz) import ListHelp import NewInt import Picture.Base @@ -186,10 +187,10 @@ itemMuzzles loc = case itm ^. itType of [dbwMuzzles & ix 0 . mzPos .~ V2 6 x & ix 0 . mzInaccuracy .~ 0 - & ix 0 . mzFlareType .~ LasGunFlare + & ix 0 . mzFlareType .~ NoLightFlare & ix 0 . mzEffect .~ MuzzleLaser | x <- spreadAroundCenter i 3 - ] + ] & ix (i `div` 2) . mzFlareType .~ LasGunFlare _ -> [] where itm = loc ^. locDT . dtValue . _1 @@ -686,9 +687,9 @@ makeMuzzleFlare (p, q) loc = \case . muzFlareAt (V4 10 10 1 3) p dir HeavySmokeFlare -> basicMuzFlare (p ^. _xy) dir LasGunFlare -> - flareCircleAt (getLaserColor loc) 0.8 p + flareCircleAt (ltToCol $ getLaserDamage loc) 0.8 p . ( cWorld . lWorld . lights - .:~ LSParam p 100 (getLaserColor loc ^. _xyz) -- p had z=10 + .:~ LSParam p 100 (ltToCol (getLaserDamage loc) ^. _xyz) -- p had z=10 ) TeslaGunFlare -> cWorld . lWorld . lights .:~ LSParam p 100 (V3 0 0 1) -- p had z=10 where @@ -727,9 +728,6 @@ getLaserPhaseV = const 1 getLaserDamage :: LocationDT OItem -> LaserType getLaserDamage = const (DamageLaser 11) -getLaserColor :: LocationDT OItem -> Color -getLaserColor = const yellow - basicMuzFlare :: Point2 -> Float -> World -> World basicMuzFlare pos dir = (cWorld . lWorld . lights .:~ LSParam (pos `v2z` 20) 100 (V3 1 1 0.5)) @@ -866,7 +864,6 @@ creatureShootLaser (p, q) loc = (getLaserPhaseV loc) (p ^. _xy) (Q.qToAng q) - (getLaserColor loc) shootLaser :: SoundOrigin -> @@ -874,17 +871,15 @@ shootLaser :: Float -> Point2 -> Float -> - Color -> World -> World -shootLaser so lt pv p dir col = +shootLaser so lt pv p dir = ( cWorld . lWorld . lasers .:~ Laser { _lpType = lt , _lpPhaseV = pv , _lpPos = p , _lpDir = dir - , _lpColor = col } ) . soundContinue so p tone440sawtoothquietS (Just 2) @@ -1185,7 +1180,7 @@ doGenFloat (UniRandFloat x y) g = randomR (x, y) g mcShootLaser :: Item -> Machine -> World -> World mcShootLaser _ mc = - shootLaser (MachinePrimarySound (_mcID mc)) (DamageLaser 11) 1 pos dir yellow + shootLaser (MachinePrimarySound (_mcID mc)) (DamageLaser 11) 1 pos dir where pos = _mcPos mc +.+ 20 *.* unitVectorAtAngle dir dir = (mc ^?! mcType . mctTurret . tuDir) diff --git a/src/Dodge/Laser/Update.hs b/src/Dodge/Laser/Update.hs index 3eef2f068..14495a3a6 100644 --- a/src/Dodge/Laser/Update.hs +++ b/src/Dodge/Laser/Update.hs @@ -1,4 +1,5 @@ -module Dodge.Laser.Update (updateLaser, drawLaser) where +{-# LANGUAGE LambdaCase #-} +module Dodge.Laser.Update (updateLaser, drawLaser, drawPulseLaser,ltToCol) where import Dodge.Damage import Control.Lens @@ -17,7 +18,7 @@ updateLaser w pt = thHit w TargetingLaser itid -> w & pointerToItemID itid . itTargeting . itTgPos ?~ last ps - , drawLaser (_lpColor pt) (sp : ps) + , drawLaser (_lpType pt) (sp : ps) ) where phasev = _lpPhaseV pt @@ -26,9 +27,21 @@ updateLaser w pt = xp = sp +.+ 800 *.* unitVectorAtAngle dir (thHit, ps) = reflectLaserAlong phasev sp xp w -drawLaser :: Color -> [Point2] -> Picture -drawLaser col = +drawLaser :: LaserType -> [Point2] -> Picture +drawLaser lt = setLayer BloomLayer -- was nozwrite . setDepth 19.5 - . color (brightX 10 1 col) + . color (brightX 10 1 (ltToCol lt)) + . thickLine 3 + +ltToCol :: LaserType -> Color +ltToCol = \case + DamageLaser {} -> yellow + TargetingLaser {} -> green + +drawPulseLaser :: [Point2] -> Picture +drawPulseLaser = + setLayer BloomLayer -- was nozwrite + . setDepth 19.5 + . color (brightX 10 1 cyan) . thickLine 3 diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index 2789b8451..b512a37f8 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -33,8 +33,8 @@ import Data.Monoid import RandomHelp testStringInit :: Universe -> [String] -testStringInit u = - (fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . each . crHP . _HP) +testStringInit _ = [] + --(fmap show $ u ^.. uvWorld . cWorld . lWorld . creatures . each . crHP . _HP) -- <> (fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcMaterial) --testStringInit u = map show (u ^.. uvWorld . cWorld . lWorld . machines . traverse . mcDir) --testStringInit u = map show diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 6973618b5..fbd4d4dd0 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -702,7 +702,7 @@ updatePulseLaser pz = case pz ^. pzTimer of where f w = dodam thHit w - & cWorld . lWorld . flares <>~ drawLaser cyan (sp : ps) + & cWorld . lWorld . flares <>~ drawPulseLaser (sp : ps) where (thHit, ps) = reflectPulseLaserAlong phasev sp xp w dodam thit = case thit of @@ -721,7 +721,7 @@ updatePulseLaser pz = case pz ^. pzTimer of sp = _pzPos pz dir = _pzDir pz xp = sp +.+ 800 *.* unitVectorAtAngle dir - g w = w & cWorld . lWorld . flares <>~ drawLaser cyan (sp : ps) + g w = w & cWorld . lWorld . flares <>~ drawPulseLaser (sp : ps) where (_, ps) = reflectPulseLaserAlong phasev sp xp w diff --git a/tags b/tags index 313779876..89d18dfe7 100644 --- a/tags +++ b/tags @@ -1960,11 +1960,10 @@ _linkGapEW src/Dodge/Data/Room.hs 36;" f _linkGapNS src/Dodge/Data/Room.hs 37;" f _locDT src/Dodge/Data/DoubleTree.hs 44;" f _locDtContext src/Dodge/Data/DoubleTree.hs 43;" f -_lpColor src/Dodge/Data/Laser.hs 23;" f _lpDir src/Dodge/Data/Laser.hs 22;" f _lpPhaseV src/Dodge/Data/Laser.hs 20;" f _lpPos src/Dodge/Data/Laser.hs 21;" f -_lpType src/Dodge/Data/Laser.hs 24;" f +_lpType src/Dodge/Data/Laser.hs 23;" f _lsCol src/Dodge/Data/LightSource.hs 17;" f _lsID src/Dodge/Data/LightSource.hs 22;" f _lsParam src/Dodge/Data/LightSource.hs 23;" f @@ -2595,22 +2594,22 @@ angleVV src/Geometry/Vector.hs 58;" f angleVV3 src/Geometry/Vector3D.hs 122;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f anythingHitCirc src/Dodge/Base/Collide.hs 331;" f -applyCME src/Dodge/HeldUse.hs 387;" f +applyCME src/Dodge/HeldUse.hs 397;" f applyClip src/Dodge/Debug.hs 176;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyEventIO src/Loop.hs 90;" f applyGravityPU src/Dodge/Projectile/Update.hs 41;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f -applyInvLock src/Dodge/HeldUse.hs 445;" f +applyInvLock src/Dodge/HeldUse.hs 455;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f -applyPastDamages src/Dodge/Creature/State.hs 49;" f +applyPastDamages src/Dodge/Creature/State.hs 48;" f applyPosition src/Sound.hs 113;" f -applyRecoil src/Dodge/HeldUse.hs 476;" f +applyRecoil src/Dodge/HeldUse.hs 486;" f applyResFactor src/Dodge/Data/Config.hs 126;" f applyResFactorF src/Dodge/Data/Config.hs 135;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f -applySidePush src/Dodge/HeldUse.hs 574;" f -applySoundCME src/Dodge/HeldUse.hs 466;" f +applySidePush src/Dodge/HeldUse.hs 584;" f +applySoundCME src/Dodge/HeldUse.hs 476;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f @@ -2618,7 +2617,7 @@ applyToNode src/TreeHelp.hs 65;" f applyToRandomNode src/TreeHelp.hs 151;" f applyToSubforest src/TreeHelp.hs 78;" f applyToSubtree src/TreeHelp.hs 71;" f -applyTorqueCME src/Dodge/HeldUse.hs 585;" f +applyTorqueCME src/Dodge/HeldUse.hs 595;" f applyWorldConfig src/Dodge/Config.hs 55;" f aquamarine src/Color.hs 50;" f arHUD src/Dodge/Item/Scope.hs 140;" f @@ -2689,20 +2688,20 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 393;" f baseShoulder src/Dodge/Creature/Picture.hs 114;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f -baseStickSpread src/Dodge/HeldUse.hs 336;" f +baseStickSpread src/Dodge/HeldUse.hs 346;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 39;" f basicCrPict src/Dodge/Creature/Picture.hs 30;" f basicCrShape src/Dodge/Creature/Picture.hs 36;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f -basicMuzFlare src/Dodge/HeldUse.hs 724;" f +basicMuzFlare src/Dodge/HeldUse.hs 731;" f battery src/Dodge/Item/Ammo.hs 60;" f batteryPack src/Dodge/Item/Equipment.hs 38;" f beltMag src/Dodge/Item/Ammo.hs 38;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f -bgunSound src/Dodge/HeldUse.hs 530;" f +bgunSound src/Dodge/HeldUse.hs 540;" f bingate src/Dodge/Item/Scope.hs 115;" f black src/Color.hs 54;" f blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 15;" f @@ -2929,10 +2928,10 @@ convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f convexPolysOverlapWitness src/Geometry/ConvexPoly.hs 55;" f -coolMachinePistol src/Dodge/Creature/State.hs 102;" f -coolMinigun src/Dodge/Creature/State.hs 95;" f +coolMachinePistol src/Dodge/Creature/State.hs 101;" f +coolMinigun src/Dodge/Creature/State.hs 94;" f copier src/Dodge/Item/Scope.hs 94;" f -copierItemUpdate src/Dodge/Creature/State.hs 131;" f +copierItemUpdate src/Dodge/Creature/State.hs 130;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 405;" f cornerList src/Preload/Render.hs 236;" f @@ -2996,15 +2995,15 @@ createGas src/Dodge/Gas.hs 10;" f createHeadLamp src/Dodge/Euse.hs 64;" f createItemYou src/Dodge/Inventory/Add.hs 62;" f createLightMap src/Render.hs 26;" f -createProjectile src/Dodge/HeldUse.hs 1292;" f -createProjectileR src/Dodge/HeldUse.hs 1241;" f +createProjectile src/Dodge/HeldUse.hs 1296;" f +createProjectileR src/Dodge/HeldUse.hs 1245;" f createShell src/Dodge/Projectile/Create.hs 21;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 53;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 130;" f createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f -creatureShootLaser src/Dodge/HeldUse.hs 852;" f -creatureShootPulseLaser src/Dodge/HeldUse.hs 883;" f +creatureShootLaser src/Dodge/HeldUse.hs 859;" f +creatureShootPulseLaser src/Dodge/HeldUse.hs 887;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f @@ -3079,7 +3078,7 @@ dark src/Color.hs 135;" f darkenBackground src/Dodge/Render/MenuScreen.hs 46;" f dbArg src/Dodge/Base.hs 165;" f dbArgChain src/Dodge/Base.hs 170;" f -dbwMuzzles src/Dodge/HeldUse.hs 339;" f +dbwMuzzles src/Dodge/HeldUse.hs 349;" f deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deadEndRoom src/Dodge/Room/Room.hs 261;" f @@ -3187,7 +3186,7 @@ detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f detectorColor src/Dodge/Item/Draw/SPic.hs 433;" f detectorInfo src/Dodge/Item/Info.hs 224;" f -determineProjectileTracking src/Dodge/HeldUse.hs 1212;" f +determineProjectileTracking src/Dodge/HeldUse.hs 1216;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 54;" f diffAngles src/Geometry.hs 205;" f @@ -3217,7 +3216,7 @@ divideLineExact src/Geometry.hs 276;" f divideLineOddNumPoints src/Geometry.hs 261;" f dmType src/Dodge/Damage.hs 38;" f doAimTwist src/Dodge/Creature/YourControl.hs 154;" f -doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f +doAnyEquipmentEffect src/Dodge/Creature/State.hs 140;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f doBlBl src/Dodge/BlBl.hs 5;" f @@ -3230,7 +3229,7 @@ doCrBl src/Dodge/CreatureEffect.hs 30;" f doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f doCrImp src/Dodge/CreatureEffect.hs 13;" f doCrWdAc src/Dodge/CreatureEffect.hs 48;" f -doDamage src/Dodge/Creature/State.hs 43;" f +doDamage src/Dodge/Creature/State.hs 42;" f doDeathToggle src/Dodge/WorldEffect.hs 100;" f doDeathTriggers src/Dodge/WorldEffect.hs 93;" f doDebugGet src/Dodge/Debug.hs 145;" f @@ -3249,9 +3248,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 129;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f -doGenFloat src/Dodge/HeldUse.hs 1173;" f +doGenFloat src/Dodge/HeldUse.hs 1177;" f doGravityPU src/Dodge/Projectile/Update.hs 35;" f -doHeldUseEffect src/Dodge/HeldUse.hs 369;" f +doHeldUseEffect src/Dodge/HeldUse.hs 379;" f doInPlacements src/Dodge/Layout.hs 89;" f doIndividualPlacements src/Dodge/Layout.hs 101;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 38;" f @@ -3297,7 +3296,7 @@ doublePair src/Geometry.hs 162;" f doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f doubleV2 src/Geometry.hs 169;" f -drawARHUD src/Dodge/Creature/State.hs 193;" f +drawARHUD src/Dodge/Creature/State.hs 192;" f drawAimSweep src/Dodge/Render/Picture.hs 292;" f drawAllShadows src/Dodge/Shadows.hs 5;" f drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f @@ -3355,7 +3354,7 @@ drawItemConnections src/Dodge/Render/HUD.hs 325;" f drawJumpDown src/Dodge/Render/Picture.hs 190;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 198;" f -drawLaser src/Dodge/Laser/Update.hs 29;" f +drawLaser src/Dodge/Laser/Update.hs 30;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f drawList src/Dodge/Render/List.hs 195;" f @@ -3382,6 +3381,7 @@ drawPlus src/Dodge/Render/Picture.hs 163;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 95;" f +drawPulseLaser src/Dodge/Laser/Update.hs 42;" f drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f drawRBOptions src/Dodge/Render/HUD.hs 253;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f @@ -3425,7 +3425,7 @@ drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f dropAll src/Dodge/Creature/Update.hs 134;" f -dropInventoryPath src/Dodge/HeldUse.hs 1367;" f +dropInventoryPath src/Dodge/HeldUse.hs 1371;" f dropItem src/Dodge/Creature/Action.hs 155;" f dropper src/Dodge/Item/Scope.hs 82;" f drumMag src/Dodge/Item/Ammo.hs 31;" f @@ -3536,7 +3536,7 @@ firstWorldLoad appDodge/Main.hs 68;" f fixedCoordPictures src/Dodge/Render/Picture.hs 20;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flFlicker src/Dodge/Flame.hs 39;" f -flameMuzzles src/Dodge/HeldUse.hs 342;" f +flameMuzzles src/Dodge/HeldUse.hs 352;" f flameShield src/Dodge/Item/Equipment.hs 29;" f flameSize src/Dodge/Flame/Size.hs 5;" f flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f @@ -3544,7 +3544,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 396;" f -flareCircleAt src/Dodge/HeldUse.hs 705;" f +flareCircleAt src/Dodge/HeldUse.hs 715;" 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 @@ -3594,7 +3594,7 @@ fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f gRandify src/Dodge/Randify.hs 12;" f -gadgetEffect src/Dodge/HeldUse.hs 49;" f +gadgetEffect src/Dodge/HeldUse.hs 50;" f gameOverMenu src/Dodge/Menu.hs 200;" f gameRoomFromRoom src/Dodge/Layout.hs 156;" f gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f @@ -3602,7 +3602,7 @@ gameRoomsFromRooms src/Dodge/Layout.hs 153;" f gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f gasEffect src/Dodge/Update.hs 881;" f -gasType src/Dodge/HeldUse.hs 1131;" f +gasType src/Dodge/HeldUse.hs 1135;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGraphs src/Dodge/Menu.hs 147;" f @@ -3616,11 +3616,11 @@ geometryUnitTests test/Spec.hs 22;" f geqConstr src/SameConstr.hs 21;" f getAimZoom src/Dodge/Update/Camera.hs 151;" f getAmmoLinks src/Dodge/Item/Grammar.hs 108;" f -getAttachedSFLink src/Dodge/HeldUse.hs 798;" f +getAttachedSFLink src/Dodge/HeldUse.hs 805;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 89;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 173;" f -getBulletType src/Dodge/HeldUse.hs 933;" f +getBulletType src/Dodge/HeldUse.hs 937;" f getCloseObj src/Dodge/Update/Input/InGame.hs 509;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f @@ -3630,17 +3630,16 @@ getCrsFromRooms' src/Dodge/Room/Tutorial.hs 490;" f getDebugMouseOver src/Dodge/Update.hs 450;" f getDistortions src/Dodge/Render.hs 443;" f getEdgesCrossing src/Dodge/Path.hs 37;" f -getGrenadeHitEffect src/Dodge/HeldUse.hs 1280;" f +getGrenadeHitEffect src/Dodge/HeldUse.hs 1284;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f -getLaserColor src/Dodge/HeldUse.hs 721;" f -getLaserDamage src/Dodge/HeldUse.hs 718;" f -getLaserPhaseV src/Dodge/HeldUse.hs 715;" f +getLaserDamage src/Dodge/HeldUse.hs 728;" f +getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMenuMouseContext src/Dodge/Update.hs 462;" f getNodePos src/Dodge/Path.hs 34;" f -getPJStabiliser src/Dodge/HeldUse.hs 1267;" f +getPJStabiliser src/Dodge/HeldUse.hs 1271;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f @@ -3652,7 +3651,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f getSplitString src/Dodge/Debug/Terminal.hs 129;" f getTiles src/Dodge/Layout.hs 207;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f -getVolleyBurst src/Dodge/HeldUse.hs 129;" f +getVolleyBurst src/Dodge/HeldUse.hs 130;" f getWallPathing src/Dodge/Wall/Pathing.hs 7;" f getWallSPic src/Dodge/Render/Walls.hs 61;" f getWindowSize src/Dodge/WindowSize.hs 6;" f @@ -3703,7 +3702,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 49;" f halfWidth src/Dodge/Base/Window.hs 49;" f haltSound src/Dodge/SoundLogic.hs 38;" f -hammerCheck src/Dodge/HeldUse.hs 66;" f +hammerCheck src/Dodge/HeldUse.hs 67;" f handHandleOrient src/Dodge/Item/HeldOffset.hs 58;" f handOrient src/Dodge/Item/HeldOffset.hs 40;" f handleEvent src/Dodge/Event.hs 27;" f @@ -3735,20 +3734,20 @@ healthTest src/Dodge/Room/LasTurret.hs 130;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 27;" f heldAimZoom src/Dodge/Update/Camera.hs 157;" f -heldEffect src/Dodge/HeldUse.hs 63;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 134;" f +heldEffect src/Dodge/HeldUse.hs 64;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 135;" f heldHandlePos src/Dodge/Item/HeldOffset.hs 85;" f heldInfo src/Dodge/Item/Info.hs 92;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 20;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f -heldItemInvLock src/Dodge/HeldUse.hs 459;" f -heldItemMuzVel src/Dodge/HeldUse.hs 1018;" f -heldItemMuzzles src/Dodge/HeldUse.hs 188;" f -heldItemRifling src/Dodge/HeldUse.hs 1060;" f +heldItemInvLock src/Dodge/HeldUse.hs 469;" f +heldItemMuzVel src/Dodge/HeldUse.hs 1022;" f +heldItemMuzzles src/Dodge/HeldUse.hs 198;" f +heldItemRifling src/Dodge/HeldUse.hs 1064;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 235;" f heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f -heldTorqueAmount src/Dodge/HeldUse.hs 601;" f +heldTorqueAmount src/Dodge/HeldUse.hs 611;" f heldTriggerType src/Dodge/BaseTriggerType.hs 28;" f heron src/Geometry.hs 218;" f hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f @@ -3837,8 +3836,8 @@ invDimColor src/Dodge/DisplayInventory.hs 190;" f invHead src/Dodge/Render/HUD.hs 421;" f invIMDT src/Dodge/Item/Grammar.hs 254;" f invIndents src/Dodge/Item/Grammar.hs 261;" f -invItemEffs src/Dodge/Creature/State.hs 63;" f -invItemLocUpdate src/Dodge/Creature/State.hs 71;" f +invItemEffs src/Dodge/Creature/State.hs 62;" f +invItemLocUpdate src/Dodge/Creature/State.hs 70;" f invRootMap src/Dodge/Item/Grammar.hs 235;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSetSelection src/Dodge/Inventory.hs 284;" f @@ -3857,7 +3856,7 @@ invertIntMapUnique src/IntMapHelp.hs 103;" f invertInventoryToMap src/Dodge/Combine.hs 57;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f -isAmmoIntLink src/Dodge/HeldUse.hs 731;" f +isAmmoIntLink src/Dodge/HeldUse.hs 738;" f isAnimate src/Dodge/Creature/Test.hs 135;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f @@ -3901,7 +3900,7 @@ itemBelowAttachables src/Dodge/Item/Grammar.hs 53;" f itemBlips src/Dodge/RadarSweep.hs 94;" f itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f -itemDetectorEffect src/Dodge/HeldUse.hs 804;" f +itemDetectorEffect src/Dodge/HeldUse.hs 811;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 82;" f @@ -3913,8 +3912,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 454;" f -itemMuzzles src/Dodge/HeldUse.hs 172;" f +itemInvLock src/Dodge/HeldUse.hs 464;" f +itemMuzzles src/Dodge/HeldUse.hs 173;" f itemRooms src/Dodge/LockAndKey.hs 40;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f @@ -3927,7 +3926,7 @@ itemShapeMaxX src/Dodge/Item/Orientation.hs 59;" f itemShapeMaxY src/Dodge/Item/Orientation.hs 62;" f itemShapeMaxZ src/Dodge/Item/Orientation.hs 65;" f itemShapeMin src/Dodge/Item/Orientation.hs 74;" f -itemSidePush src/Dodge/HeldUse.hs 403;" f +itemSidePush src/Dodge/HeldUse.hs 413;" f itemString src/Dodge/Item/Display.hs 56;" f itemToFunction src/Dodge/Item/Grammar.hs 111;" f itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f @@ -4027,7 +4026,7 @@ lmt src/MatrixHelper.hs 53;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 410;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f -loadMuzzle src/Dodge/HeldUse.hs 644;" f +loadMuzzle src/Dodge/HeldUse.hs 654;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4040,7 +4039,7 @@ locDTGoRight src/Dodge/DoubleTree.hs 160;" f locDTLeftmost src/Dodge/DoubleTree.hs 148;" f locDTRightmost src/Dodge/DoubleTree.hs 151;" f locGoHelp src/Dodge/DoubleTree.hs 166;" f -locMuzzles src/Dodge/HeldUse.hs 148;" f +locMuzzles src/Dodge/HeldUse.hs 149;" f locOrient src/Dodge/Item/HeldOffset.hs 53;" f locToTop src/Dodge/DoubleTree.hs 145;" f locUp' src/Dodge/DoubleTree.hs 132;" f @@ -4068,10 +4067,11 @@ lsColPosRad src/Dodge/LightSource.hs 30;" f lsPosCol src/Dodge/LightSource.hs 27;" f lsPosRad src/Dodge/LightSource.hs 18;" f ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f +ltToCol src/Dodge/Laser/Update.hs 37;" f m src/ShortShow.hs 48;" f mAT src/Dodge/Item/MagAmmoType.hs 20;" f machinePistol src/Dodge/Item/Held/Stick.hs 24;" f -magAmmoParams src/Dodge/HeldUse.hs 953;" f +magAmmoParams src/Dodge/HeldUse.hs 957;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f magMax src/Dodge/Item/MagAmmoType.hs 29;" f magShield src/Dodge/Item/Equipment.hs 26;" f @@ -4085,7 +4085,7 @@ main test/Spec.hs 12;" f makeArc src/Picture/Base.hs 149;" f makeBlip src/Dodge/RadarSweep.hs 70;" f makeBlockDebris src/Dodge/Block/Debris.hs 36;" f -makeBullet src/Dodge/HeldUse.hs 997;" f +makeBullet src/Dodge/HeldUse.hs 1001;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeColorTermLine src/Dodge/Terminal.hs 124;" f @@ -4104,7 +4104,7 @@ makeFragBullets src/Dodge/Bullet.hs 132;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f makeIntInterval src/Dodge/Zoning/Base.hs 37;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 670;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 680;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 63;" f makePathBetweenPs src/Dodge/Path.hs 87;" f @@ -4160,10 +4160,10 @@ mcProxSensorUpdate src/Dodge/Machine/Update.hs 167;" f mcProxTest src/Dodge/Machine/Update.hs 248;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 209;" f mcSPic src/Dodge/Render/ShapePicture.hs 172;" f -mcShootAuto src/Dodge/HeldUse.hs 1185;" f -mcShootLaser src/Dodge/HeldUse.hs 1177;" f +mcShootAuto src/Dodge/HeldUse.hs 1189;" f +mcShootLaser src/Dodge/HeldUse.hs 1181;" f mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f -mcUseHeld src/Dodge/HeldUse.hs 1102;" f +mcUseHeld src/Dodge/HeldUse.hs 1106;" f mcUseItem src/Dodge/Machine/Update.hs 108;" f megaBattery src/Dodge/Item/Ammo.hs 54;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f @@ -4259,9 +4259,9 @@ multiLookupTrieI src/SimpleTrie.hs 66;" f multiSelScroll src/Dodge/Inventory.hs 218;" f multiSelScroll' src/Dodge/Inventory.hs 225;" f muout src/Dodge/RoomLink.hs 144;" f -muzFlareAt src/Dodge/HeldUse.hs 692;" f -muzzlePos src/Dodge/HeldUse.hs 779;" f -muzzleRandPos src/Dodge/HeldUse.hs 788;" f +muzFlareAt src/Dodge/HeldUse.hs 702;" f +muzzlePos src/Dodge/HeldUse.hs 786;" f +muzzleRandPos src/Dodge/HeldUse.hs 795;" f muzzleWallCheck src/Dodge/Update.hs 346;" f mvButton src/Dodge/Placement/PlaceSpot.hs 182;" f mvCr src/Dodge/Placement/PlaceSpot.hs 185;" f @@ -4633,7 +4633,7 @@ recComFindPredecessor src/Dodge/Terminal.hs 200;" f recComFindSuccessor src/Dodge/Terminal.hs 190;" f recComLookup src/Dodge/Terminal.hs 180;" f recTabComplete src/Dodge/Terminal.hs 227;" f -recoilAmount src/Dodge/HeldUse.hs 484;" f +recoilAmount src/Dodge/HeldUse.hs 494;" f rectNSWE src/Geometry/Polygon.hs 15;" f rectVV src/Geometry/Polygon.hs 48;" f rectWH src/Geometry/Polygon.hs 19;" f @@ -4662,7 +4662,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 176;" f remoteDetonator src/Dodge/Item/Scope.hs 152;" f remoteScreen src/Dodge/Item/Scope.hs 146;" f removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 929;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 933;" f removeDot src/ShortShow.hs 44;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeLights src/Dodge/Room/Modify.hs 34;" f @@ -4876,7 +4876,7 @@ setOldPos src/Dodge/Update.hs 580;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f -setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f +setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 326;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setShaderSource src/Shader/Compile.hs 121;" f @@ -4936,19 +4936,19 @@ shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftSetDown src/Dodge/Inventory.hs 170;" f shiftSetUp src/Dodge/Inventory.hs 164;" f -shineTargetLaser src/Dodge/Creature/State.hs 201;" f -shineTorch src/Dodge/Creature/State.hs 238;" f -shootBullet src/Dodge/HeldUse.hs 991;" f -shootBullets src/Dodge/HeldUse.hs 985;" f +shineTargetLaser src/Dodge/Creature/State.hs 200;" f +shineTorch src/Dodge/Creature/State.hs 236;" f +shootBullet src/Dodge/HeldUse.hs 995;" f +shootBullets src/Dodge/HeldUse.hs 989;" f shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f -shootLaser src/Dodge/HeldUse.hs 862;" f -shootPlasmaBall src/Dodge/HeldUse.hs 903;" f -shootPulseBall src/Dodge/HeldUse.hs 915;" f -shootPulseLaser src/Dodge/HeldUse.hs 890;" f +shootLaser src/Dodge/HeldUse.hs 868;" f +shootPlasmaBall src/Dodge/HeldUse.hs 907;" f +shootPulseBall src/Dodge/HeldUse.hs 919;" f +shootPulseLaser src/Dodge/HeldUse.hs 894;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f -shootTeslaArc src/Dodge/HeldUse.hs 1202;" f +shootTeslaArc src/Dodge/HeldUse.hs 1206;" f shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f -shootTractorBeam src/Dodge/HeldUse.hs 831;" f +shootTractorBeam src/Dodge/HeldUse.hs 838;" f shootersRoom src/Dodge/Room/Room.hs 339;" f shootersRoom' src/Dodge/Room/Room.hs 306;" f shootersRoom1 src/Dodge/Room/Room.hs 329;" f @@ -5266,12 +5266,12 @@ topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 54;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f -torqueAmount src/Dodge/HeldUse.hs 596;" f +torqueAmount src/Dodge/HeldUse.hs 606;" f torqueCr src/Dodge/WorldEffect.hs 86;" f torso src/Dodge/Creature/Picture.hs 100;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 843;" f +tractorBeamAt src/Dodge/HeldUse.hs 850;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 39;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 417;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -5319,7 +5319,7 @@ trunkDepth src/TreeHelp.hs 162;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 236;" f tryCombine src/Dodge/Update/Input/InGame.hs 521;" f -tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f +tryDrawToCapacitor src/Dodge/Creature/State.hs 150;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 140;" f tryGetChannel src/Sound.hs 99;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 22;" f @@ -5330,9 +5330,9 @@ tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySpin src/Dodge/Projectile/Update.hs 120;" f -trySynthBullet src/Dodge/Creature/State.hs 167;" f +trySynthBullet src/Dodge/Creature/State.hs 166;" f tryThrust src/Dodge/Projectile/Update.hs 126;" f -tryUseParent src/Dodge/Creature/State.hs 145;" f +tryUseParent src/Dodge/Creature/State.hs 144;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f tutAnoTree src/Dodge/Room/Tutorial.hs 53;" f @@ -5427,14 +5427,14 @@ updateInGameCamera src/Dodge/Update/Camera.hs 85;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 404;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f -updateItemTargeting src/Dodge/Creature/State.hs 260;" f +updateItemTargeting src/Dodge/Creature/State.hs 258;" f updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 371;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 398;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 85;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 357;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 380;" f updateLampoid src/Dodge/Lampoid.hs 13;" f -updateLaser src/Dodge/Laser/Update.hs 11;" f +updateLaser src/Dodge/Laser/Update.hs 12;" f updateLasers src/Dodge/Update.hs 496;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f @@ -5516,21 +5516,21 @@ upperPrismPolySU src/Shape.hs 110;" f upperPrismPolyTS src/Shape.hs 116;" f upperRounded src/Shape.hs 182;" f useBulletPayload src/Dodge/Bullet.hs 117;" f -useGasParams src/Dodge/HeldUse.hs 1107;" f +useGasParams src/Dodge/HeldUse.hs 1111;" f useHotkey src/Dodge/Creature/YourControl.hs 77;" f -useInventoryPath src/Dodge/HeldUse.hs 1398;" f +useInventoryPath src/Dodge/HeldUse.hs 1402;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f -useLoadedAmmo src/Dodge/HeldUse.hs 734;" f +useLoadedAmmo src/Dodge/HeldUse.hs 741;" f useMagShield src/Dodge/Euse.hs 33;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f -useRewindGun src/Dodge/HeldUse.hs 1358;" f +useRewindGun src/Dodge/HeldUse.hs 1362;" f useRoomPosCond src/Dodge/PlacementSpot.hs 187;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 190;" f -useStopWatch src/Dodge/HeldUse.hs 1339;" f -useTimeScrollGun src/Dodge/HeldUse.hs 1347;" f +useStopWatch src/Dodge/HeldUse.hs 1343;" f +useTimeScrollGun src/Dodge/HeldUse.hs 1351;" f useUnusedLnk src/Dodge/PlacementSpot.hs 178;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 209;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 216;" f @@ -5552,7 +5552,7 @@ vertTrans src/MatrixHelper.hs 103;" f verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 23;" f -vgunMuzzles src/Dodge/HeldUse.hs 359;" f +vgunMuzzles src/Dodge/HeldUse.hs 369;" f viewClipBounds src/Dodge/Debug/Picture.hs 350;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 201;" f viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f @@ -5564,7 +5564,7 @@ visionCheck src/Dodge/Creature/Perception.hs 152;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f -walkNozzle src/Dodge/HeldUse.hs 819;" f +walkNozzle src/Dodge/HeldUse.hs 826;" f walkableNodeNear src/Dodge/Path.hs 69;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f @@ -5572,7 +5572,7 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallToSurface src/Dodge/Base/Collide.hs 180;" f wallsFromRooms src/Dodge/Layout.hs 141;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f -warmupSound src/Dodge/HeldUse.hs 1392;" f +warmupSound src/Dodge/HeldUse.hs 1396;" f warningRooms src/Dodge/Room/Warning.hs 33;" f warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f wasdAim src/Dodge/Creature/YourControl.hs 133;" f