diff --git a/src/Dodge/Gas.hs b/src/Dodge/Gas.hs index 50976b1ae..415d0d1e1 100644 --- a/src/Dodge/Gas.hs +++ b/src/Dodge/Gas.hs @@ -15,7 +15,7 @@ createGas gc = case gc of aGasCloud :: Float -> Point2 -> Float -> Creature -> World -> World aGasCloud pressure pos dir cr = makeGasCloud pos $ - (cr ^. crPos . _xy -.- cr ^. crOldPos . _xy) +.+ pressure *.* unitVectorAtAngle dir + (cr ^. crPos . _xy - cr ^. crOldPos . _xy) + pressure *^ unitVectorAtAngle dir aFlame :: Float -> Point2 -> Float -> Creature -> World -> World aFlame pressure pos dir cr = makeFlame pos vel @@ -23,4 +23,4 @@ aFlame pressure pos dir cr = makeFlame pos vel --w & instantParticles .:~ aFlameParticle t pos vel Nothing -- (Just $ _crID cr) -- (t,_) = randomR (99,101) (_randGen w) - vel = (cr ^. crPos . _xy -.- cr ^. crOldPos . _xy) +.+ pressure *.* unitVectorAtAngle dir + vel = (cr ^. crPos . _xy - cr ^. crOldPos . _xy) + pressure *^ unitVectorAtAngle dir diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 91483521d..72ccbc829 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -205,15 +205,14 @@ heldItemMuzzles itm = \case AUTORIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 BURSTRIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 & ix 0 . mzInaccuracy .~ 0.05 MINIGUNX i -> - [ ( Muzzle - (V2 (30 + 40 * fromIntegral j / fromIntegral i) 0) - 0 - 0.05 - maguse1 - NoFlare - MuzzleShootBullet - 10 - ) + [ Muzzle + (V2 (30 + 40 * fromIntegral j / fromIntegral i) 0) + 0 + 0.05 + maguse1 + NoFlare + MuzzleShootBullet + 10 | j <- [0 .. i -1] ] & ix 0 . mzFlareType .~ MiniGunFlare @@ -742,8 +741,10 @@ useLoadedAmmo loc cr mz m w = (getPJStabiliser itmtree) cr w - MuzzleNozzle{} -> useGasParams pq' mitid mz loc cr $ walkNozzle mz itm - $ w & randGen .~ g + MuzzleNozzle{} -> + useGasParams pq' mitid mz loc cr $ + walkNozzle mz itm $ + w & randGen .~ g MuzzleShatter -> shootShatter itm cr w MuzzleDetector -> itemDetectorEffect @@ -870,11 +871,11 @@ shootLaser so lt pv p dir col = . soundContinue so p tone440sawtoothquietS (Just 2) creatureShootPulseLaser :: Point3Q -> Creature -> World -> World -creatureShootPulseLaser (p,q) cr = - shootPulseLaser - (CrWeaponSound (_crID cr) 0) - (p ^. _xy) - (Q.qToAng q) +creatureShootPulseLaser (p, q) cr = + shootPulseLaser + (CrWeaponSound (_crID cr) 0) + (p ^. _xy) + (Q.qToAng q) shootPulseLaser :: SoundOrigin -> Point2 -> Float -> World -> World shootPulseLaser so p dir w = @@ -1104,8 +1105,10 @@ useGasParams pq (NInt magitid) mz loc cr w = (pressure, g) = doGenFloat (_nzPressure $ _mzEffect mz) (_randGen w) gastype = fromMaybe (error "cannot find gas ammo") $ do hit <- itm ^? itType . ibtHeld - fueltype <- w ^? cWorld . lWorld . items . ix magitid - >>= magAmmoParams >>= (^? ampCreateGas) + fueltype <- + w ^? cWorld . lWorld . items . ix magitid + >>= magAmmoParams + >>= (^? ampCreateGas) gasType hit fueltype dir = Q.qToAng (pq ^. _2) + _nzAngle (_itParams itm) diff --git a/src/Dodge/Placement/PlaceSpot.hs b/src/Dodge/Placement/PlaceSpot.hs index 796ae1c76..7fefad8d9 100644 --- a/src/Dodge/Placement/PlaceSpot.hs +++ b/src/Dodge/Placement/PlaceSpot.hs @@ -6,7 +6,6 @@ -} module Dodge.Placement.PlaceSpot (placeSpot) where -import Linear import Color import Control.Monad.State import Data.Bifunctor @@ -23,6 +22,7 @@ import Dodge.ShiftPoint import Geometry import qualified IntMapHelp as IM import LensHelp +import Linear import NewInt --import System.Random @@ -31,7 +31,6 @@ import NewInt -- to the placement. This id should be associated with the type of placement and -- match up with the created id for the object (creature id, flitid id, etc) placeSpot :: Int -> GenWorld -> Placement -> GenWorld ---placeSpot :: (GenWorld, Room) -> Placement -> (GenWorld, Room) placeSpot rid w plmnt = case plmnt of Placement{_plSpot = PSRoomRand i f} -> placeSpotRoomRand rid i f plmnt w Placement{_plSpot = PSPos extract eff fallback} -> @@ -58,7 +57,11 @@ placePlainPSSpot w rid plmnt shift = case plmnt ^. plType of f x gw = fromMaybe gw $ do j <- x ^. plExternalID return $ gw & genPmnt . at j ?~ x - recrPlace newplmnt w' pl = placeSpot rid (w' & genRooms . ix rid . rmPmnts .:~ newplmnt) pl + recrPlace newplmnt w' pl = + placeSpot + rid + (w' & genRooms . ix rid . rmPmnts .:~ newplmnt) + pl -- this should be tidied up placeSpotUsingLink :: @@ -69,15 +72,14 @@ placeSpotUsingLink :: (RoomPos -> Room -> Room) -> Maybe Placement -> GenWorld -placeSpotUsingLink w rid plmnt extract eff fallback = case searchedPoss (w ^?! genRooms . ix rid . rmPos) of - Just (ps, rmposs) -> - placeSpot - rid - (w & genRooms . ix rid %~ eff (head rmposs) . (rmPos .~ rmposs)) - (plmnt & plSpot .~ ps) - Nothing -> case fallback of - Nothing -> w - Just plmnt' -> placeSpot rid w plmnt' +placeSpotUsingLink w rid plmnt extract eff fallback = + case searchedPoss (w ^?! genRooms . ix rid . rmPos) of + Just (ps, rmposs) -> + placeSpot + rid + (w & genRooms . ix rid %~ eff (head rmposs) . (rmPos .~ rmposs)) + (plmnt & plSpot .~ ps) + Nothing -> maybe w (placeSpot rid w) fallback where searchedPoss [] = Nothing searchedPoss (pos : poss) = case extract pos (w ^?! genRooms . ix rid) of @@ -92,7 +94,10 @@ placeSpotRoomRand :: GenWorld -> GenWorld placeSpotRoomRand rid i f plmnt w = - let (ps, g) = runState (_rmRandPSs (w ^?! genRooms . ix rid) !! i) $ w ^. gwWorld . randGen + let (ps, g) = + runState + (_rmRandPSs (w ^?! genRooms . ix rid) !! i) + $ w ^. gwWorld . randGen in placeSpot rid (w & gwWorld . randGen .~ g) (plmnt & plSpot .~ f ps) -- the Int here is some id that is assigned when the placement is placed @@ -127,8 +132,8 @@ placeSpotID rid ps pt w = case pt of w PutMachine pps mc wl mitm -> plMachine (map doShift pps) mc wl mitm p rot w PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p' rot ls) w - PutPPlate pp - -> plNewUpID (gwWorld . cWorld . lWorld . pressPlates) ppID (mvPP p rot pp) w + PutPPlate pp -> + plNewUpID (gwWorld . cWorld . lWorld . pressPlates) ppID (mvPP p rot pp) w RandPS _ -> error "RandPS should not be reachable here" --evaluateRandPS rid rgn ps w PutDoor col eo f pss -> plDoor col eo f (map (bimap doShift doShift) pss) w PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w @@ -145,8 +150,10 @@ placeSpotID rid ps pt w = case pt of PutNothing -> (0, w) PutID i -> (i, w) PutWorldUpdate f -> (0, w & f rid ps) - PutChasm ps' -> (0, w & gwWorld . cWorld . chasms .:~ map doShift ps' - & genRooms . ix rid . rmPos %~ filter (\rp -> not $ pointInPoly (_rpPos rp) ps') + PutChasm ps' -> + ( 0 + , w & gwWorld . cWorld . chasms .:~ map doShift ps' + & genRooms . ix rid . rmPos %~ filter (\rp -> not $ pointInPoly (_rpPos rp) ps') ) PutLabel{} -> (0, w) where @@ -182,19 +189,27 @@ mvButton :: Point2 -> Float -> Button -> Button mvButton p a = (btRot +~ a) . (btPos %~ ((p +.+) . rotateV a)) mvPP :: Point2 -> Float -> PressPlate -> PressPlate -mvPP p rot pp = pp{_ppPos = p, _ppRot = rot} +mvPP p rot pp = pp & ppPos .~ p & ppRot .~ rot mvCr :: Point2 -> Float -> Creature -> Creature -mvCr p rot cr = cr - & crPos . _xy .~ p - & crOldPos . _xy .~ p - & crDir .~ rot +mvCr p rot cr = + cr + & crPos . _xy .~ p + & crOldPos . _xy .~ p + & crDir .~ rot mvFS :: Point2 -> Float -> ForegroundShape -> ForegroundShape mvFS p a = (fsDir +~ a) . (fsPos %~ ((p +.+) . rotateV a)) plMachine :: - [Point2] -> Machine -> Wall -> Maybe Item -> Point2 -> Float -> GenWorld -> (Int, GenWorld) + [Point2] -> + Machine -> + Wall -> + Maybe Item -> + Point2 -> + Float -> + GenWorld -> + (Int, GenWorld) plMachine wallpoly mc wl = \case Nothing -> plMachine' wallpoly mc wl Just itm -> plTurret wallpoly mc wl itm diff --git a/src/Dodge/PlacementSpot.hs b/src/Dodge/PlacementSpot.hs index f89952f1d..00492ba36 100644 --- a/src/Dodge/PlacementSpot.hs +++ b/src/Dodge/PlacementSpot.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE LambdaCase #-} +--{-# LANGUAGE LambdaCase #-} module Dodge.PlacementSpot ( atFstLnkOut, atNthLnkOutShiftBy, diff --git a/src/Dodge/Prop/Gib.hs b/src/Dodge/Prop/Gib.hs index 7d8efe8c3..6082d35d6 100644 --- a/src/Dodge/Prop/Gib.hs +++ b/src/Dodge/Prop/Gib.hs @@ -20,10 +20,10 @@ addCrGibs cr = case damageDirection $ _crDamage cr of addGibAt (_skinHead skin) (cpos & _z +~ 25) . addGibsAtDir pi 0 3 7 (_skinLower skin) cpos . addGibsAtDir pi 0 13 20 (_skinUpper skin) cpos - . makeDustAt Flesh 50 (cpos) - . makeDustAt Flesh 50 (cpos) - . makeDustAt Flesh 50 (cpos) - . makeDustAt Flesh 50 (cpos) + . makeDustAt Flesh 50 cpos + . makeDustAt Flesh 50 cpos + . makeDustAt Flesh 50 cpos + . makeDustAt Flesh 50 cpos Just d -> addGibsAtDir (pi / 4) d 3 7 (_skinLower skin) cpos . addGibsAtDir (pi / 4) d 13 20 (_skinUpper skin) cpos diff --git a/src/Dodge/Room/CheckConsistency.hs b/src/Dodge/Room/CheckConsistency.hs index 42975d6eb..eb06df420 100644 --- a/src/Dodge/Room/CheckConsistency.hs +++ b/src/Dodge/Room/CheckConsistency.hs @@ -6,7 +6,7 @@ import Dodge.Graph linksOnPath :: Room -> Bool linksOnPath r = all pointOnPath linkPoints where - linkPoints = map (_rlPos) $ _rmLinks r + linkPoints = map _rlPos $ _rmLinks r pointOnPath p = elem p $ concatMap flat2 $ _rmPath r flat2 (x,y) = [x,y] diff --git a/src/Dodge/Room/Room.hs b/src/Dodge/Room/Room.hs index 65f50e9e4..ebcd2b179 100644 --- a/src/Dodge/Room/Room.hs +++ b/src/Dodge/Room/Room.hs @@ -128,7 +128,7 @@ roomCenterPillar = do l1 <- mntLightLnkCond (resetPLUse $ rprBool $ \rp _ -> isInLnk rp) l2 <- mntLightLnkCond $ - (resetPLUse $ rprBool $ \rp _ -> isOutLnk rp) + resetPLUse (rprBool $ \rp _ -> isOutLnk rp) & psFallback ?~ mntLightLnkCond' (resetPLUse useUnusedLnk) let plmnts = [ blockLine (V2 115 115) (V2 115 125) diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 0c00cda33..1b45e1a40 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -213,7 +213,7 @@ tutLight = do , cleatOnward corridor & rmPmnts .~ mempty ] where - g = PSPos (\x _ -> f x) (\_ -> id) Nothing + g = PSPos (\x _ -> f x) (const id) Nothing where f x = case _rpType x of NotLink{} | null (x ^. rpPlacementUse . at UsedPosFloor) diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 8372b5bf2..470ea0d97 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -865,7 +865,7 @@ crCrSpring c1 c2 where id1 = _crID c1 id2 = _crID c2 - vec = c1 ^. crPos . _xy -.- c2 ^. crPos . _xy + vec = c1 ^. crPos . _xy - c2 ^. crPos . _xy diff = magV vec comRad = crRad (c1 ^. crType) + crRad (c2 ^. crType) overlap1 = ((comRad - diff) * crMass (_crType c2) * 0.5 / massT) *.* errorNormalizeV 55 vec diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index 62ba962ba..34e665fdd 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -215,7 +215,7 @@ rotateToOverlappingWall w = w where cr = you w - p = (you w) ^. crPos . _xy + p = you w ^. crPos . _xy doWallRotate :: Wall -> World -> World doWallRotate wl w diff --git a/tags b/tags index 02afd2e2c..95548ba1b 100644 --- a/tags +++ b/tags @@ -2585,7 +2585,7 @@ addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f addIndefiniteArticle src/StringHelp.hs 17;" f addNodes src/Dodge/Path.hs 115;" f -addPane src/Dodge/Placement/PlaceSpot.hs 173;" f +addPane src/Dodge/Placement/PlaceSpot.hs 177;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f addPointPolygon src/Geometry/Polygon.hs 133;" f addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f @@ -2632,21 +2632,21 @@ angleVV src/Geometry/Vector.hs 58;" f angleVV3 src/Geometry/Vector3D.hs 122;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 348;" f -applyCME src/Dodge/HeldUse.hs 370;" f +applyCME src/Dodge/HeldUse.hs 369;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyEventIO src/Loop.hs 89;" f applyGravityPU src/Dodge/Projectile/Update.hs 40;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f -applyInvLock src/Dodge/HeldUse.hs 429;" f +applyInvLock src/Dodge/HeldUse.hs 428;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 23;" f applyPosition src/Sound.hs 111;" f -applyRecoil src/Dodge/HeldUse.hs 460;" f +applyRecoil src/Dodge/HeldUse.hs 459;" f applyResFactor src/Dodge/Data/Config.hs 110;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f -applySidePush src/Dodge/HeldUse.hs 560;" f -applySoundCME src/Dodge/HeldUse.hs 450;" f +applySidePush src/Dodge/HeldUse.hs 559;" f +applySoundCME src/Dodge/HeldUse.hs 449;" 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 @@ -2654,7 +2654,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 571;" f +applyTorqueCME src/Dodge/HeldUse.hs 570;" f applyWorldConfig src/Dodge/Config.hs 55;" f aquamarine src/Color.hs 23;" f arHUD src/Dodge/Item/Scope.hs 134;" f @@ -2725,7 +2725,7 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 391;" f baseShoulder src/Dodge/Creature/Picture.hs 116;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 300;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 292;" f -baseStickSpread src/Dodge/HeldUse.hs 320;" f +baseStickSpread src/Dodge/HeldUse.hs 319;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f basicCrPict src/Dodge/Creature/Picture.hs 30;" f @@ -2734,7 +2734,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 14;" f -basicMuzFlare src/Dodge/HeldUse.hs 711;" f +basicMuzFlare src/Dodge/HeldUse.hs 710;" f battery src/Dodge/Item/Ammo.hs 63;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f belowNumX src/Dodge/Combine/Graph.hs 86;" f @@ -2742,7 +2742,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f bfsNodePoints src/Dodge/Path.hs 58;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 219;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f -bgunSound src/Dodge/HeldUse.hs 515;" f +bgunSound src/Dodge/HeldUse.hs 514;" f bindFBO src/Render.hs 245;" f bingate src/Dodge/Item/Scope.hs 109;" f black src/Color.hs 27;" f @@ -3038,15 +3038,15 @@ createHeadLamp src/Dodge/Euse.hs 58;" f createItemYou src/Dodge/Inventory/Add.hs 61;" f createLightMap src/Render.hs 26;" f createPathGrid src/Dodge/Room/Path.hs 20;" f -createProjectile src/Dodge/HeldUse.hs 1273;" f -createProjectileR src/Dodge/HeldUse.hs 1222;" f +createProjectile src/Dodge/HeldUse.hs 1276;" f +createProjectileR src/Dodge/HeldUse.hs 1225;" f createShell src/Dodge/Projectile/Create.hs 21;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 40;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 124;" f createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f -creatureShootLaser src/Dodge/HeldUse.hs 841;" f -creatureShootPulseLaser src/Dodge/HeldUse.hs 872;" f +creatureShootLaser src/Dodge/HeldUse.hs 842;" f +creatureShootPulseLaser src/Dodge/HeldUse.hs 873;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 54;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 75;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 64;" f @@ -3110,7 +3110,7 @@ dark src/Color.hs 108;" f darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f dbArg src/Dodge/Base.hs 165;" f dbArgChain src/Dodge/Base.hs 170;" f -dbwMuzzles src/Dodge/HeldUse.hs 323;" f +dbwMuzzles src/Dodge/HeldUse.hs 322;" f deZoneIX src/Dodge/Zoning/Base.hs 89;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deadEndRoom src/Dodge/Room/Room.hs 246;" f @@ -3217,7 +3217,7 @@ detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f detectorColor src/Dodge/Item/Draw/SPic.hs 453;" f detectorInfo src/Dodge/Item/Info.hs 224;" f -determineProjectileTracking src/Dodge/HeldUse.hs 1193;" f +determineProjectileTracking src/Dodge/HeldUse.hs 1196;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 54;" f diffAngles src/Geometry.hs 205;" f @@ -3277,9 +3277,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 127;" f doDrawing src/Dodge/Render.hs 34;" f doDrawing' src/Dodge/Render.hs 45;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f -doGenFloat src/Dodge/HeldUse.hs 1155;" f +doGenFloat src/Dodge/HeldUse.hs 1158;" f doGravityPU src/Dodge/Projectile/Update.hs 34;" f -doHeldUseEffect src/Dodge/HeldUse.hs 352;" f +doHeldUseEffect src/Dodge/HeldUse.hs 351;" f doInPlacements src/Dodge/Layout.hs 82;" f doIndividualPlacements src/Dodge/Layout.hs 96;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f @@ -3468,7 +3468,7 @@ drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f dropAll src/Dodge/Creature/Update.hs 129;" f dropExcept src/Dodge/Creature/Action.hs 168;" f -dropInventoryPath src/Dodge/HeldUse.hs 1348;" f +dropInventoryPath src/Dodge/HeldUse.hs 1351;" f dropItem src/Dodge/Creature/Action.hs 175;" f dropper src/Dodge/Item/Scope.hs 76;" f drumMag src/Dodge/Item/Ammo.hs 34;" f @@ -3545,7 +3545,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 187;" f -explodeShell src/Dodge/Projectile/Update.hs 237;" f +explodeShell src/Dodge/Projectile/Update.hs 240;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f @@ -3581,7 +3581,7 @@ firstWorldLoad appDodge/Main.hs 77;" f fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flFlicker src/Dodge/Flame.hs 38;" f -flameMuzzles src/Dodge/HeldUse.hs 326;" f +flameMuzzles src/Dodge/HeldUse.hs 325;" 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 @@ -3589,7 +3589,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 394;" f -flareCircleAt src/Dodge/HeldUse.hs 692;" f +flareCircleAt src/Dodge/HeldUse.hs 691;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatLookupItems src/Dodge/Combine.hs 38;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f @@ -3656,7 +3656,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 144;" f gameplayMenu src/Dodge/Menu.hs 155;" f gameplayMenuOptions src/Dodge/Menu.hs 158;" f -gasType src/Dodge/HeldUse.hs 1112;" f +gasType src/Dodge/HeldUse.hs 1115;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGraphs src/Dodge/Menu.hs 149;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -3669,11 +3669,11 @@ geometryUnitTests test/Spec.hs 22;" f geqConstr src/SameConstr.hs 21;" f getAimZoom src/Dodge/Update/Camera.hs 143;" f getAmmoLinks src/Dodge/Item/Grammar.hs 104;" f -getAttachedSFLink src/Dodge/HeldUse.hs 787;" f +getAttachedSFLink src/Dodge/HeldUse.hs 788;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 172;" f -getBulletType src/Dodge/HeldUse.hs 909;" f +getBulletType src/Dodge/HeldUse.hs 910;" f getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f getCommand src/Dodge/Terminal.hs 52;" f getCommands src/Dodge/Terminal.hs 49;" f @@ -3681,17 +3681,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 323;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 310;" f getDistortions src/Dodge/Render.hs 435;" f -getGrenadeHitEffect src/Dodge/HeldUse.hs 1261;" f +getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f -getLaserColor src/Dodge/HeldUse.hs 708;" f -getLaserDamage src/Dodge/HeldUse.hs 705;" f -getLaserPhaseV src/Dodge/HeldUse.hs 702;" 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 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMenuMouseContext src/Dodge/Update.hs 372;" f getNodePos src/Dodge/Path.hs 31;" f -getPJStabiliser src/Dodge/HeldUse.hs 1248;" f +getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 306;" f @@ -3787,14 +3787,14 @@ heldHandlePos src/Dodge/Item/HeldOffset.hs 89;" f heldInfo src/Dodge/Item/Info.hs 92;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 19;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f -heldItemInvLock src/Dodge/HeldUse.hs 443;" f -heldItemMuzVel src/Dodge/HeldUse.hs 999;" f +heldItemInvLock src/Dodge/HeldUse.hs 442;" f +heldItemMuzVel src/Dodge/HeldUse.hs 1000;" f heldItemMuzzles src/Dodge/HeldUse.hs 176;" f -heldItemRifling src/Dodge/HeldUse.hs 1042;" f +heldItemRifling src/Dodge/HeldUse.hs 1043;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 233;" f heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f -heldTorqueAmount src/Dodge/HeldUse.hs 587;" f +heldTorqueAmount src/Dodge/HeldUse.hs 586;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f helpPara src/Dodge/Terminal.hs 90;" f helpPoly3D src/Polyhedra.hs 125;" f @@ -3906,7 +3906,7 @@ invertIntMap src/Multiset.hs 67;" f invertInventoryToMap src/Dodge/Combine.hs 56;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 718;" f +isAmmoIntLink src/Dodge/HeldUse.hs 717;" f isAnimate src/Dodge/Creature/Test.hs 132;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f @@ -3950,7 +3950,7 @@ itemBlips src/Dodge/RadarSweep.hs 94;" f itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f -itemDetectorEffect src/Dodge/HeldUse.hs 793;" f +itemDetectorEffect src/Dodge/HeldUse.hs 794;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f @@ -3962,7 +3962,7 @@ 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 438;" f +itemInvLock src/Dodge/HeldUse.hs 437;" f itemMuzzles src/Dodge/HeldUse.hs 162;" f itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f @@ -3976,7 +3976,7 @@ itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f itemShapeMaxZ src/Dodge/Item/Orientation.hs 53;" f itemShapeMin src/Dodge/Item/Orientation.hs 62;" f -itemSidePush src/Dodge/HeldUse.hs 386;" f +itemSidePush src/Dodge/HeldUse.hs 385;" f itemString src/Dodge/Item/Display.hs 56;" f itemToFunction src/Dodge/Item/Grammar.hs 107;" f itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f @@ -4080,7 +4080,7 @@ lnkBothAnd src/Dodge/Room/Procedural.hs 124;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 387;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f -loadMuzzle src/Dodge/HeldUse.hs 631;" f +loadMuzzle src/Dodge/HeldUse.hs 630;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4132,7 +4132,7 @@ machineAddSound src/Dodge/Machine.hs 50;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f machineUpdateDeathEff src/Dodge/Machine.hs 35;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 17;" f -magAmmoParams src/Dodge/HeldUse.hs 930;" f +magAmmoParams src/Dodge/HeldUse.hs 931;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f magShield src/Dodge/Item/Equipment.hs 27;" f magV src/Geometry/Vector.hs 172;" f @@ -4147,7 +4147,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 70;" f makeBlockDebris src/Dodge/Block/Debris.hs 34;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 978;" f +makeBullet src/Dodge/HeldUse.hs 979;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f @@ -4169,7 +4169,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 60;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 657;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f @@ -4225,11 +4225,11 @@ mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f mcProxTest src/Dodge/Machine/Update.hs 203;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f mcSPic src/Dodge/Render/ShapePicture.hs 135;" f -mcShootAuto src/Dodge/HeldUse.hs 1166;" f -mcShootLaser src/Dodge/HeldUse.hs 1159;" f +mcShootAuto src/Dodge/HeldUse.hs 1169;" f +mcShootLaser src/Dodge/HeldUse.hs 1162;" f mcTriggerVal src/Dodge/Machine/Update.hs 110;" f mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f -mcUseHeld src/Dodge/HeldUse.hs 1085;" f +mcUseHeld src/Dodge/HeldUse.hs 1086;" f mcUseItem src/Dodge/Machine/Update.hs 89;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f @@ -4299,10 +4299,10 @@ moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 43;" f movePenBullet src/Dodge/Bullet.hs 202;" f -moveProjectile src/Dodge/Projectile/Update.hs 215;" f +moveProjectile src/Dodge/Projectile/Update.hs 221;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f -moveStuckGrenade src/Dodge/Projectile/Update.hs 201;" f +moveStuckGrenade src/Dodge/Projectile/Update.hs 206;" f moveToSideNthOutLink src/Dodge/Room/Warning.hs 69;" f moveWall src/Dodge/Wall/Move.hs 29;" f moveWallID src/Dodge/Wall/Move.hs 24;" f @@ -4318,21 +4318,21 @@ multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f muout src/Dodge/RoomLink.hs 144;" f -muzFlareAt src/Dodge/HeldUse.hs 679;" f -muzzlePos src/Dodge/HeldUse.hs 768;" f -muzzleRandPos src/Dodge/HeldUse.hs 777;" f -mvButton src/Dodge/Placement/PlaceSpot.hs 181;" f -mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f -mvFS src/Dodge/Placement/PlaceSpot.hs 193;" f +muzFlareAt src/Dodge/HeldUse.hs 678;" f +muzzlePos src/Dodge/HeldUse.hs 769;" f +muzzleRandPos src/Dodge/HeldUse.hs 778;" f +mvButton src/Dodge/Placement/PlaceSpot.hs 185;" f +mvCr src/Dodge/Placement/PlaceSpot.hs 191;" f +mvFS src/Dodge/Placement/PlaceSpot.hs 198;" f mvGust src/Dodge/Update.hs 770;" f -mvLS src/Dodge/Placement/PlaceSpot.hs 258;" f +mvLS src/Dodge/Placement/PlaceSpot.hs 263;" f mvP src/Dodge/Wall/Move.hs 54;" f -mvPP src/Dodge/Placement/PlaceSpot.hs 184;" f +mvPP src/Dodge/Placement/PlaceSpot.hs 188;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 318;" f mvPointToward src/Dodge/Base.hs 136;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f -mvProp src/Dodge/Placement/PlaceSpot.hs 178;" f +mvProp src/Dodge/Placement/PlaceSpot.hs 182;" f mvPs src/Dodge/Wall/Move.hs 58;" f myIntersectLineLine src/Geometry/Intersect.hs 198;" f myIntersectSegSeg src/Geometry/Intersect.hs 176;" f @@ -4469,26 +4469,26 @@ pingPongBetween src/Render.hs 221;" f pipe src/Dodge/Item/Craftable.hs 32;" f pistol src/Dodge/Item/Held/Stick.hs 40;" f pistolerRoom src/Dodge/Room/Room.hs 330;" f -pjRemoteSetDirection src/Dodge/Projectile/Update.hs 180;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 182;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f -plMachine src/Dodge/Placement/PlaceSpot.hs 196;" f -plMachine' src/Dodge/Placement/PlaceSpot.hs 233;" f +plMachine src/Dodge/Placement/PlaceSpot.hs 201;" f +plMachine' src/Dodge/Placement/PlaceSpot.hs 238;" f plNew src/Dodge/Base/NewID.hs 19;" f plNewID src/Dodge/Base/NewID.hs 7;" f plNewUpID src/Dodge/Base/NewID.hs 13;" f plNewUsing src/Dodge/Base/NewID.hs 27;" f plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 78;" f -plTurret src/Dodge/Placement/PlaceSpot.hs 202;" f -placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 247;" f -placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 43;" f +plTurret src/Dodge/Placement/PlaceSpot.hs 207;" f +placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 252;" f +placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 42;" f placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f -placeSpotID src/Dodge/Placement/PlaceSpot.hs 99;" f -placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 87;" f -placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 64;" f -placeWallPoly src/Dodge/Placement/PlaceSpot.hs 167;" f +placeSpotID src/Dodge/Placement/PlaceSpot.hs 101;" f +placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 89;" f +placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 67;" f +placeWallPoly src/Dodge/Placement/PlaceSpot.hs 171;" f plainRegex src/Dodge/DisplayInventory.hs 189;" f playIfFree src/Sound.hs 137;" f playPositionalSoundQueue src/Sound.hs 145;" f @@ -4721,7 +4721,7 @@ randsOnCirc src/RandomHelp.hs 127;" f randsSpread src/RandomHelp.hs 120;" f ratIntersectLineLine src/Geometry/Intersect.hs 216;" f readSaveSlot src/Dodge/Save.hs 45;" f -recoilAmount src/Dodge/HeldUse.hs 468;" f +recoilAmount src/Dodge/HeldUse.hs 467;" f rectNSWE src/Geometry/Polygon.hs 14;" f rectVV src/Geometry/Polygon.hs 39;" f rectWH src/Geometry/Polygon.hs 18;" f @@ -4751,7 +4751,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 159;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 906;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f removeDot src/ShortShow.hs 44;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeLights src/Dodge/Room/Tutorial.hs 224;" f @@ -5035,16 +5035,16 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f shineTargetLaser src/Dodge/Creature/State.hs 201;" f shineTorch src/Dodge/Creature/State.hs 238;" f -shootBullet src/Dodge/HeldUse.hs 972;" f -shootBullets src/Dodge/HeldUse.hs 962;" f +shootBullet src/Dodge/HeldUse.hs 973;" f +shootBullets src/Dodge/HeldUse.hs 963;" f shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f -shootLaser src/Dodge/HeldUse.hs 851;" f -shootPulseBall src/Dodge/HeldUse.hs 892;" f -shootPulseLaser src/Dodge/HeldUse.hs 879;" f +shootLaser src/Dodge/HeldUse.hs 852;" f +shootPulseBall src/Dodge/HeldUse.hs 893;" f +shootPulseLaser src/Dodge/HeldUse.hs 880;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f -shootTeslaArc src/Dodge/HeldUse.hs 1183;" f +shootTeslaArc src/Dodge/HeldUse.hs 1186;" f shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f -shootTractorBeam src/Dodge/HeldUse.hs 820;" f +shootTractorBeam src/Dodge/HeldUse.hs 821;" f shootersRoom src/Dodge/Room/Room.hs 324;" f shootersRoom' src/Dodge/Room/Room.hs 291;" f shootersRoom1 src/Dodge/Room/Room.hs 314;" f @@ -5337,12 +5337,12 @@ topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 41;" f torchShape src/Dodge/Item/Draw/SPic.hs 276;" f -torqueAmount src/Dodge/HeldUse.hs 582;" f +torqueAmount src/Dodge/HeldUse.hs 581;" f torqueCr src/Dodge/WorldEffect.hs 72;" f torso src/Dodge/Creature/Picture.hs 102;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 832;" f +tractorBeamAt src/Dodge/HeldUse.hs 833;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 437;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -5582,21 +5582,21 @@ upperPrismPolySU src/Shape.hs 114;" f upperPrismPolyTS src/Shape.hs 120;" f upperRounded src/Shape.hs 185;" f useBulletPayload src/Dodge/Bullet.hs 116;" f -useGasParams src/Dodge/HeldUse.hs 1090;" f +useGasParams src/Dodge/HeldUse.hs 1091;" f useHotkey src/Dodge/Creature/YourControl.hs 77;" f -useInventoryPath src/Dodge/HeldUse.hs 1379;" f +useInventoryPath src/Dodge/HeldUse.hs 1382;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 255;" f -useLoadedAmmo src/Dodge/HeldUse.hs 721;" f +useLoadedAmmo src/Dodge/HeldUse.hs 720;" f useMagShield src/Dodge/Euse.hs 30;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f -useRewindGun src/Dodge/HeldUse.hs 1339;" f +useRewindGun src/Dodge/HeldUse.hs 1342;" f useRoomPosCond src/Dodge/PlacementSpot.hs 180;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 183;" f -useStopWatch src/Dodge/HeldUse.hs 1320;" f -useTimeScrollGun src/Dodge/HeldUse.hs 1328;" f +useStopWatch src/Dodge/HeldUse.hs 1323;" f +useTimeScrollGun src/Dodge/HeldUse.hs 1331;" f useUnusedLnk src/Dodge/PlacementSpot.hs 171;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 202;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 209;" f @@ -5619,7 +5619,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 342;" f +vgunMuzzles src/Dodge/HeldUse.hs 341;" f viewBoundaries src/Dodge/Debug/Picture.hs 321;" f viewClipBounds src/Dodge/Debug/Picture.hs 330;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f @@ -5630,7 +5630,7 @@ visionCheck src/Dodge/Creature/Perception.hs 153;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f -walkNozzle src/Dodge/HeldUse.hs 808;" f +walkNozzle src/Dodge/HeldUse.hs 809;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f @@ -5639,7 +5639,7 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallToSurface src/Dodge/Base/Collide.hs 182;" f wallsFromRooms src/Dodge/Layout.hs 132;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f -warmupSound src/Dodge/HeldUse.hs 1373;" f +warmupSound src/Dodge/HeldUse.hs 1376;" f warningRooms src/Dodge/Room/Warning.hs 30;" f wasdAim src/Dodge/Creature/YourControl.hs 133;" f wasdDir src/Dodge/WASD.hs 17;" f