From 2f0e039d39cb39ba29d45cd865fc35adab2ea857 Mon Sep 17 00:00:00 2001 From: justin Date: Thu, 26 Jun 2025 11:41:24 +0100 Subject: [PATCH] Fix volleyGun --- src/Dodge/BaseTriggerType.hs | 8 +- src/Dodge/HeldUse.hs | 79 +++-- src/Dodge/Item/BackgroundEffect.hs | 31 +- src/Dodge/Item/Grammar.hs | 2 +- src/Dodge/Item/Held/Cane.hs | 30 +- tags | 507 +++++++++++++++-------------- 6 files changed, 328 insertions(+), 329 deletions(-) diff --git a/src/Dodge/BaseTriggerType.hs b/src/Dodge/BaseTriggerType.hs index acdca9d04..a42921bd5 100644 --- a/src/Dodge/BaseTriggerType.hs +++ b/src/Dodge/BaseTriggerType.hs @@ -1,7 +1,7 @@ {-# LANGUAGE LambdaCase #-} module Dodge.BaseTriggerType ( - baseTriggerType, + itemTriggerType, module Dodge.Data.TriggerType, ) where @@ -9,8 +9,8 @@ import Control.Lens import Dodge.Data.Item import Dodge.Data.TriggerType -baseTriggerType :: Item -> TriggerType -baseTriggerType itm = case itm ^. itType of +itemTriggerType :: Item -> TriggerType +itemTriggerType itm = case itm ^. itType of HELD hit -> heldTriggerType hit _ -> NoTrigger @@ -28,7 +28,7 @@ heldTriggerType = \case BLUNDERBUSS -> HammerTrigger GRAPECANNON{} -> HammerTrigger MINIGUNX{} -> AutoTrigger - VOLLEYGUN i -> BurstTrigger [1 .. i-1] + VOLLEYGUN i -> BurstTrigger $ fmap (3*) [1 .. i-1] RIFLE -> HammerTrigger ALTERIFLE -> HammerTrigger AUTORIFLE -> AutoTrigger diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index c8d5058a9..312436511 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -81,14 +81,11 @@ hammerCheck :: World -> World hammerCheck f pt it cr - | BurstTrigger is <- baseTriggerType (it ^. ldtValue) + | BurstTrigger is <- itemTriggerType (it ^. ldtValue) , pt == InitialPress = - f it cr - . (cWorld . lWorld . delayedEvents .++~ map g is) - | BurstTrigger{} <- baseTriggerType (it ^. ldtValue) - , pt /= InitialPress = - id - | t <- baseTriggerType (it ^. ldtValue) + f it cr . (cWorld . lWorld . delayedEvents .++~ map g is) + | BurstTrigger{} <- itemTriggerType (it ^. ldtValue) = id + | t <- itemTriggerType (it ^. ldtValue) , t == HammerTrigger || t == AlwaysSingleTrigger , isNothing $ lookup MakeAutoLink (it ^. ldtRight) , pt /= InitialPress = @@ -97,29 +94,31 @@ hammerCheck f pt it cr where g x = (x, WdWdBurstFireRepetition (_crID cr) (it ^?! ldtValue . itLocation . ilInvID)) --- | Applies a world effect after an item use cooldown check. --- input buffering? +{- | Applies a world effect after an item use cooldown check. + input buffering? +-} useTimeCheck :: ChainEffect useTimeCheck f item cr w = case useDelay $ item ^. ldtValue of FixedRate rate | w ^. cWorld . lWorld . lClock - rate > lastused -> f item cr w - -- note that the time last used must be updated later in the chain! + -- note that the time last used must be updated later in the chain! FixedRate{} -> w WarmUpNoDelay wm | _wTime (_itParams $ _ldtValue item) < wm -> w & setwarming & soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ item ^. ldtValue . itType) (Just 2) & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1 - WarmUpNoDelay {} -> f item cr w & setwarming + WarmUpNoDelay{} -> f item cr w & setwarming WarmUpCoolDown ws _ _ | _wTime (_itParams $ _ldtValue item) < ws -> w & setwarming & soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ item ^. ldtValue . itType) (Just 2) & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1 WarmUpCoolDown _ cs _ - | _wTime (_itParams $ _ldtValue item) < cs -> f item cr w & setwarming + | _wTime (_itParams $ _ldtValue item) < cs -> + f item cr w & setwarming & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1 - WarmUpCoolDown {} -> w & setwarming + WarmUpCoolDown{} -> w & setwarming NoDelay -> f item cr w where lastused = item ^. ldtValue . itTimeLastUsed @@ -133,7 +132,7 @@ useTimeCheck f item cr w = case useDelay $ item ^. ldtValue of heldEffectMuzzles :: LabelDoubleTree CLinkType Item -> Creature -> World -> World heldEffectMuzzles t cr w = - setusetime . doHeldUseEffect t cr + setusetime . doHeldUseEffect t cr . uncurry (applyCME (_ldtValue t) cr) . foldl' (useLoadedAmmo t cr) (False, w) $ loadedmuzzles @@ -144,12 +143,15 @@ heldEffectMuzzles t cr w = .~ w ^. cWorld . lWorld . lClock itid = t ^?! ldtValue . itLocation . ilInvID - itemMuzzles :: Item -> [Muzzle] itemMuzzles itm = case itm ^. itType of HELD ALTERIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 & ix 0 . mzAmmoSlot .~ _alteRifleSwitch (_itParams itm) + HELD (VOLLEYGUN i) -> fromMaybe [] $ do + j <- itm ^? itParams . unfiredBarrels . ix 0 + x <- vgunMuzzles i ^? ix j + return [x] HELD hit -> heldItemMuzzles hit DETECTOR{} -> dbwMuzzles & ix 0 . mzEffect .~ MuzzleDetector @@ -167,8 +169,8 @@ heldItemMuzzles = \case NoFlare MuzzleShootBullet (UseExactly 1) --- 0 - | a <- spreadAroundCenter i baseStickSpread + | -- 0 + a <- spreadAroundCenter i baseStickSpread ] & ix 0 . mzFlareType .~ NoLightFlare & ix (i `div` 2) . mzFlareType .~ BasicFlare @@ -212,7 +214,7 @@ heldItemMuzzles = \case BLUNDERBUSS -> [Muzzle (V2 30 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15)] GRAPECANNON _ -> [Muzzle (V2 30 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15)] TORCH -> dbwMuzzles & ix 0 . mzPos .~ V2 10 0 - VOLLEYGUN i -> vgunMuzzles i + VOLLEYGUN {} -> error "should get volleygun muzzles earlier" FLAMETHROWER -> flameMuzzles FLAMESPITTER -> flameMuzzles & ix 0 . mzEffect . nzPressure .~ UniRandFloat 3 4 RLAUNCHER -> @@ -285,7 +287,7 @@ heldItemMuzzles = \case , _mzFlareType = NoFlare , _mzEffect = MuzzleShootBullet , _mzAmmoPerShot = UseExactly 1 --- , _mzFrame = 0 + -- , _mzFrame = 0 } ] @@ -319,18 +321,25 @@ vgunMuzzles i = <*> pure BasicFlare <*> pure MuzzleShootBullet <*> pure (UseExactly 1) --- <*> ZipList [0 .. i -1] + -- <*> ZipList [0 .. i -1] ) doHeldUseEffect :: LabelDoubleTree CLinkType Item -> Creature -> World -> World doHeldUseEffect t cr w = case t ^. ldtValue . itType of - -- HELD (VOLLEYGUN x) -> fromMaybe w $ do - -- i <- t ^? ldtValue . itLocation . ilInvID - -- let g = w ^. randGen - -- (is, g') = runState (shuffle [0 .. x -1]) g - -- return $ - -- w & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i . itUse . heldMuzzles %~ zipWith (\j mz -> mz & mzFrame .~ j) is - -- & randGen .~ g' + HELD (VOLLEYGUN j) -> case itm ^? itParams . unfiredBarrels of + Just [_] -> fromMaybe w $ do + let (is, g) = runState (shuffle [0 .. j -1]) $ w ^. randGen + i <- itm ^? itLocation . ilInvID + return $ w + & randGen .~ g + & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i + . itParams . unfiredBarrels %~ const is + Just (_:_:_) -> fromMaybe w $ do + i <- itm ^? itLocation . ilInvID + return $ w + & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i + . itParams . unfiredBarrels %~ tail + _ -> w HELD ALTERIFLE -> fromMaybe w $ do i <- t ^? ldtValue . itLocation . ilInvID return $ @@ -344,6 +353,8 @@ doHeldUseEffect t cr w = case t ^. ldtValue . itType of -- . mzAmmoSlot %~ ((`mod` 2) . (+ 1)) _ -> w + where + itm = t ^. ldtValue --doHeldUseEffect t cr w = case t ^? ldtValue . itUse . heldUseEffect of -- Just (RandomiseMuzzleFrames x) -> fromMaybe w $ do @@ -387,10 +398,10 @@ applyCME itm cr cme . applyTorqueCME itm cr . applyRecoil itm cr | otherwise = case itm ^. itType of - HELD MACHINEPISTOL -> - cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itParams .~ - WarmTime (coolstart - 1) True Nothing - -- the above is quite hacky for now + HELD MACHINEPISTOL -> + cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itParams + .~ WarmTime (coolstart - 1) True Nothing + -- the above is quite hacky for now _ -> failsound where coolstart = fromMaybe 0 $ useDelay itm ^? coolStart @@ -688,7 +699,7 @@ makeMuzzleFlare mz itmtree cr = case mz ^. mzFlareType of (moff, mrot) = heldItemOrient2D itm cr (_mzPos mz) (_mzRot mz) pos = _crPos cr + rotateV (_crDir cr) moff dir = _crDir cr + mrot - oddcheck f w + oddcheck f w | odd (w ^. cWorld . lWorld . lClock) = f w | otherwise = w @@ -1394,8 +1405,8 @@ dropInventoryPath i ip loc cr = fromMaybe id $ do warmupSound :: ItemType -> SoundID warmupSound = \case - HELD MINIGUNX {} -> crankSlowS - HELD MACHINEPISTOL {} -> whirupS + HELD MINIGUNX{} -> crankSlowS + HELD MACHINEPISTOL{} -> whirupS _ -> crankSlowS useInventoryPath :: diff --git a/src/Dodge/Item/BackgroundEffect.hs b/src/Dodge/Item/BackgroundEffect.hs index 65f42515a..5e594546b 100644 --- a/src/Dodge/Item/BackgroundEffect.hs +++ b/src/Dodge/Item/BackgroundEffect.hs @@ -6,18 +6,18 @@ module Dodge.Item.BackgroundEffect ( removeShieldWall, ) where -import Dodge.Creature.Radius import Color -import Dodge.Default.Wall -import Dodge.Wall.Delete -import Dodge.Item.HeldOffset -import Dodge.Creature.Test -import Geometry.Vector -import Dodge.Wall.Move -import Dodge.Wall.Create -import Dodge.Item.Location -import Dodge.Data.World import Control.Lens +import Dodge.Creature.Radius +import Dodge.Creature.Test +import Dodge.Data.World +import Dodge.Default.Wall +import Dodge.Item.HeldOffset +import Dodge.Item.Location +import Dodge.Wall.Create +import Dodge.Wall.Delete +import Dodge.Wall.Move +import Geometry.Vector cancelExamineInventory :: World -> World cancelExamineInventory = hud . hudElement . subInventory %~ f @@ -39,7 +39,7 @@ rootNotrootEff f g it createShieldWall :: Item -> Creature -> World -> World createShieldWall it cr w = case it ^? itParams . flatShieldWlMIX . _Just of Nothing -> - let (wlid, w') = createWall ((shieldWall' crid){_wlLine = wlline, _wlID = wlid}) w + let (wlid, w') = createWall ((shieldWall crid){_wlLine = wlline, _wlID = wlid}) w in w' & pointerToItem it . itParams .~ FlatShieldParams (Just wlid) Just wid -> moveWallID wid wlline w where @@ -67,14 +67,15 @@ itEffectOnPickup _ _ = id itEffectOnDrop :: Item -> Creature -> World -> World itEffectOnDrop itm cr w = case itm ^. itType of HELD MINIGUNX{} -> w & pointerToItemID (_itID itm) . itParams . wTime .~ 0 - HELD MACHINEPISTOL{} -> w & pointerToItemID (_itID itm) . itParams - .~ WarmTime 0 False Nothing + HELD MACHINEPISTOL{} -> + w & pointerToItemID (_itID itm) . itParams + .~ WarmTime 0 False Nothing ITEMSCAN -> cancelExamineInventory w HELD FLATSHIELD -> removeShieldWall itm cr w _ -> w -shieldWall' :: Int -> Wall -shieldWall' crid = +shieldWall :: Int -> Wall +shieldWall crid = defaultWall { _wlColor = yellow , _wlOpacity = SeeAbove diff --git a/src/Dodge/Item/Grammar.hs b/src/Dodge/Item/Grammar.hs index 678ec7580..79755bdbf 100644 --- a/src/Dodge/Item/Grammar.hs +++ b/src/Dodge/Item/Grammar.hs @@ -119,7 +119,7 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of _ -> ([], []) getAutoSpringLinks :: Item -> [(ItemStructuralFunction, CLinkType)] -getAutoSpringLinks itm = case baseTriggerType itm of +getAutoSpringLinks itm = case itemTriggerType itm of HammerTrigger -> [(MakeAutoSF, MakeAutoLink)] _ -> [] diff --git a/src/Dodge/Item/Held/Cane.hs b/src/Dodge/Item/Held/Cane.hs index 1f57ad863..e0e29fd13 100644 --- a/src/Dodge/Item/Held/Cane.hs +++ b/src/Dodge/Item/Held/Cane.hs @@ -13,34 +13,19 @@ import Dodge.Default import LensHelp volleyGun :: Int -> Item -volleyGun i = - defaultHeldItem --- & itUse . heldMuzzles .~ getZipList --- (ZipList [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 6] --- <*> ZipList [0..i-1] --- <*> pure MiniGunFlare --- <*> pure MuzzleShootBullet --- <*> pure (UseExactly 1) --- <*> ZipList [0..i-1] --- ) - & itType .~ HELD (VOLLEYGUN i) --- & itAmmoSlots .~ IM.fromList (zip [0..i-1] $ repeat BulletAmmo) --- & itUse . heldUseEffect .~ RandomiseMuzzleFrames i +volleyGun i = defaultHeldItem & itType .~ HELD (VOLLEYGUN i) + & itParams .~ VolleyUnfiredBarrels [0..i-1] rifle :: Item rifle = defaultHeldItem & itType .~ HELD RIFLE --- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 25 0 alteRifle :: Item alteRifle = rifle & itType .~ HELD ALTERIFLE --- & itAmmoSlots .~ IM.fromList (zip [0..1] $ repeat BulletAmmo) & itParams .~ AlteRifleSwitch 0 autoRifle :: Item -autoRifle = - rifle - & itType .~ HELD AUTORIFLE +autoRifle = rifle & itType .~ HELD AUTORIFLE burstRifle :: Item burstRifle = rifle & itType .~ HELD BURSTRIFLE @@ -48,14 +33,5 @@ burstRifle = rifle & itType .~ HELD BURSTRIFLE miniGunX :: Int -> Item miniGunX i = autoRifle --- & itUse . heldDelay .~ WarmUpNoDelay{ --- --_warmTime = 0, --- _warmMax = 100, _warmSound = crankSlowS} --- & itAmmoSlots .~ singleAmmo BeltBulletAmmo --- & itUse . heldMuzzles --- .~ replicate i --- (Muzzle (V2 30 0) 0 0.05 0 MiniGunFlare MuzzleShootBullet (UseExactly 1) 0) & itType .~ HELD (MINIGUNX i) --- & itEffect . ieInv .~ ItemReduceWarmTime --- & itEffect . ieOnDrop .~ ItemSetWarmTime 0 & itParams .~ WarmTime 0 False Nothing diff --git a/tags b/tags index 75c505350..9dc22b445 100644 --- a/tags +++ b/tags @@ -53,7 +53,7 @@ AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C Airlock src/Dodge/Room/Airlock.hs 4;" m AlienContact src/Dodge/Data/Scenario.hs 30;" C AllRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C -AlteRifleSwitch src/Dodge/Data/Item/Params.hs 19;" C +AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C AlwaysSingleTrigger src/Dodge/Data/TriggerType.hs 13;" C Ambush src/Dodge/Data/ActionPlan.hs 178;" C Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 3;" m @@ -89,7 +89,7 @@ ArcShad src/Picture/Data.hs 38;" C ArcStep src/Dodge/Data/ArcStep.hs 14;" t ArcStep src/Dodge/ArcStep.hs 1;" m ArcStep src/Dodge/Data/ArcStep.hs 6;" m -Arcing src/Dodge/Data/Item/Params.hs 16;" C +Arcing src/Dodge/Data/Item/Params.hs 17;" C Arithmetic src/Dodge/Base/Arithmetic.hs 1;" m ArmourChase src/Dodge/Creature/ArmourChase.hs 1;" m ArmourySS src/Dodge/Data/Scenario.hs 112;" C @@ -684,7 +684,7 @@ FlareType src/Dodge/Data/Muzzle.hs 21;" t FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C Flashing src/Dodge/Data/Damage.hs 27;" C FlatFaces src/Shape/Data.hs 17;" C -FlatShieldParams src/Dodge/Data/Item/Params.hs 15;" C +FlatShieldParams src/Dodge/Data/Item/Params.hs 16;" C FlechetteTrajectory src/Dodge/Data/Bullet.hs 47;" C FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 54;" C Flee src/Dodge/Data/ActionPlan.hs 191;" C @@ -726,7 +726,7 @@ FractionLoaded src/Dodge/Item/Weapon/FractionLoaded.hs 1;" m FromEdge src/Dodge/Data/Room.hs 47;" C FullRes src/Dodge/Data/Config.hs 97;" C FullShadowFidelity src/Shape/Data.hs 24;" C -FullSize src/Dodge/Data/Item/Params.hs 26;" C +FullSize src/Dodge/Data/Item/Params.hs 28;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 6;" C FunctionChangeLink src/Dodge/Data/ComposedItem.hs 29;" C FunctionChangeSF src/Dodge/Data/ComposedItem.hs 60;" C @@ -947,8 +947,8 @@ ItemCopierUpdate src/Dodge/Data/Item/Effect.hs 32;" C ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t ItemLink src/Dodge/Data/ComposedItem.hs 70;" t ItemLocation src/Dodge/Data/Item/Location.hs 28;" t -ItemParamID src/Dodge/Data/Item/Params.hs 24;" C -ItemParams src/Dodge/Data/Item/Params.hs 13;" t +ItemParamID src/Dodge/Data/Item/Params.hs 26;" C +ItemParams src/Dodge/Data/Item/Params.hs 14;" t ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m ItemReduceWarmTime src/Dodge/Data/Item/Effect.hs 33;" C ItemScroll src/Dodge/Data/Item.hs 51;" t @@ -1286,7 +1286,7 @@ NoMouseContext src/Dodge/Data/Input.hs 22;" C NoMvType src/Dodge/Data/Creature/Misc.hs 29;" C NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m NoObjShads src/Dodge/Data/Config.hs 102;" C -NoParams src/Dodge/Data/Item/Params.hs 14;" C +NoParams src/Dodge/Data/Item/Params.hs 15;" C NoResurrection src/Dodge/Data/Corpse.hs 14;" C NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C @@ -1314,7 +1314,7 @@ NotLink src/Dodge/Data/Room.hs 66;" C NotPushed src/Dodge/Data/Door.hs 30;" C Nothing' src/MaybeHelp.hs 13;" C NothingID src/Dodge/Data/CrWlID.hs 12;" C -NozzleAngle src/Dodge/Data/Item/Params.hs 17;" C +NozzleAngle src/Dodge/Data/Item/Params.hs 18;" C NumShadowCasters src/Dodge/Data/Config.hs 14;" t NumShadowCasters0 src/Dodge/Data/Config.hs 15;" C NumShadowCasters1 src/Dodge/Data/Config.hs 16;" C @@ -1788,8 +1788,8 @@ Show_walls_near_point_you src/Dodge/Data/Config.hs 88;" C Show_walls_near_segment src/Dodge/Data/Config.hs 89;" C Show_zone_near_point_cursor src/Dodge/Data/Config.hs 90;" C ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C -ShrinkGunStatus src/Dodge/Data/Item/Params.hs 26;" t -Shrunk src/Dodge/Data/Item/Params.hs 26;" C +ShrinkGunStatus src/Dodge/Data/Item/Params.hs 28;" t +Shrunk src/Dodge/Data/Item/Params.hs 28;" C SideCluster src/Dodge/Data/RoomCluster.hs 14;" C SideEffect src/Dodge/Data/Universe.hs 64;" t SimpleTrie src/SimpleTrie.hs 4;" m @@ -2130,7 +2130,7 @@ Vision src/Dodge/Data/Creature/Perception.hs 41;" t Vocalization src/Dodge/Data/Creature/Misc.hs 20;" t Vocalization src/Dodge/Creature/Vocalization.hs 1;" m Volition src/Dodge/Creature/Volition.hs 2;" m -VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 18;" C +VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 19;" C WALLDETECTOR src/Dodge/Data/Item/Combine.hs 185;" C WASD src/Dodge/WASD.hs 1;" m WHITE src/Color/Data.hs 27;" C @@ -2160,7 +2160,7 @@ WallWire src/Dodge/Data/Room.hs 53;" C Walls src/Dodge/Render/Walls.hs 1;" m Walls_info src/Dodge/Data/Config.hs 75;" C War src/Dodge/Data/Scenario.hs 28;" C -WarmTime src/Dodge/Data/Item/Params.hs 20;" C +WarmTime src/Dodge/Data/Item/Params.hs 21;" C WarmUpCoolDown src/Dodge/Data/UseDelay.hs 18;" C WarmUpNoDelay src/Dodge/Data/Item/HeldDelay.hs 18;" C WarmUpNoDelay src/Dodge/Data/UseDelay.hs 15;" C @@ -2241,7 +2241,7 @@ _allocOldPos src/Dodge/Data/RightButtonOptions.hs 37;" f _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 34;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 30;" f _alphaDivideShader src/Data/Preload/Render.hs 18;" f -_alteRifleSwitch src/Dodge/Data/Item/Params.hs 19;" f +_alteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" f _ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f _ampBullet src/Dodge/Data/Item/Use.hs 53;" f _ampCreateGas src/Dodge/Data/Item/Use.hs 55;" f @@ -2383,6 +2383,7 @@ _cmeSound src/Dodge/Data/MuzzleEffect.hs 17;" f _cmeTorque src/Dodge/Data/MuzzleEffect.hs 16;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f _coolEnd src/Dodge/Data/UseDelay.hs 21;" f +_coolSound src/Dodge/Data/Item/Params.hs 24;" f _coolStart src/Dodge/Data/UseDelay.hs 20;" f _coordinates src/Dodge/Data/LWorld.hs 127;" f _corpses src/Dodge/Data/LWorld.hs 136;" f @@ -2432,7 +2433,7 @@ _creatureGroups src/Dodge/Data/LWorld.hs 99;" f _creatures src/Dodge/Data/LWorld.hs 98;" f _csLinks src/Dodge/Data/RoomCluster.hs 11;" f _csName src/Dodge/Data/RoomCluster.hs 10;" f -_currentArc src/Dodge/Data/Item/Params.hs 16;" f +_currentArc src/Dodge/Data/Item/Params.hs 17;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f _cursSides src/Dodge/Data/SelectionList.hs 20;" f _cwGen src/Dodge/Data/CWorld.hs 25;" f @@ -2551,7 +2552,7 @@ _flVel src/Dodge/Data/Flame.hs 16;" f _flames src/Dodge/Data/LWorld.hs 109;" f _flankTarget src/Dodge/Data/ActionPlan.hs 177;" f _flares src/Dodge/Data/LWorld.hs 112;" f -_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 15;" f +_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 16;" f _floorItems src/Dodge/Data/LWorld.hs 129;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f @@ -2643,13 +2644,13 @@ _impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f _input src/Dodge/Data/World.hs 42;" f _ipPlacement src/Dodge/Data/GenWorld.hs 132;" f _ipPlacementID src/Dodge/Data/GenWorld.hs 133;" f -_isWarming src/Dodge/Data/Item/Params.hs 22;" f +_isWarming src/Dodge/Data/Item/Params.hs 23;" f _ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" f _ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" f _itConsumables src/Dodge/Data/Item.hs 41;" f _itID src/Dodge/Data/Item.hs 43;" f _itLocation src/Dodge/Data/Item.hs 44;" f -_itParamID src/Dodge/Data/Item/Params.hs 24;" f +_itParamID src/Dodge/Data/Item/Params.hs 26;" f _itParams src/Dodge/Data/Item.hs 46;" f _itScroll src/Dodge/Data/Item.hs 47;" f _itTargeting src/Dodge/Data/Item.hs 45;" f @@ -2805,7 +2806,7 @@ _nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f _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 17;" 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 @@ -3191,7 +3192,7 @@ _unRandomPlacement src/Dodge/Data/GenWorld.hs 84;" f _unST src/Dodge/Data/MetaTree.hs 18;" f _unST src/Dodge/Tree/Compose/Data.hs 12;" f _unTO src/Shader/Data.hs 59;" f -_unfiredBarrels src/Dodge/Data/Item/Params.hs 18;" f +_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 @@ -3244,7 +3245,7 @@ _vxLayer src/Picture/Data.hs 17;" f _vxPos src/Picture/Data.hs 14;" f _vxShadNum src/Picture/Data.hs 18;" f _wCam src/Dodge/Data/World.hs 54;" f -_wTime src/Dodge/Data/Item/Params.hs 21;" f +_wTime src/Dodge/Data/Item/Params.hs 22;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 105;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 104;" f _wallDamages src/Dodge/Data/LWorld.hs 120;" f @@ -3358,7 +3359,7 @@ airlockZ src/Dodge/Room/Airlock.hs 91;" f allInvLocs src/Dodge/Item/Grammar.hs 318;" f allVisibleWalls src/Dodge/Base/Collide.hs 132;" f alongSegBy src/Geometry.hs 40;" f -alteRifle src/Dodge/Item/Held/Cane.hs 34;" f +alteRifle src/Dodge/Item/Held/Cane.hs 22;" f ammoMagInfo src/Dodge/Item/Info.hs 48;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 124;" f amr src/Dodge/Item/Held/Rod.hs 34;" f @@ -3371,21 +3372,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 379;" f +applyCME src/Dodge/HeldUse.hs 392;" 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 438;" f +applyInvLock src/Dodge/HeldUse.hs 458;" f applyMagnetsToBul src/Dodge/Bullet.hs 30;" f -applyPastDamages src/Dodge/Creature/State.hs 131;" 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 470;" f +applyRecoil src/Dodge/HeldUse.hs 490;" f applyResFactor src/Dodge/Data/Config.hs 110;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f -applySidePush src/Dodge/HeldUse.hs 569;" f -applySoundCME src/Dodge/HeldUse.hs 460;" f +applySidePush src/Dodge/HeldUse.hs 589;" f +applySoundCME src/Dodge/HeldUse.hs 480;" 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 @@ -3393,7 +3394,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 580;" f +applyTorqueCME src/Dodge/HeldUse.hs 600;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arHUD src/Dodge/Item/Scope.hs 134;" f @@ -3430,13 +3431,13 @@ attachTree src/Dodge/Tree/Compose.hs 38;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 68;" f attribSize src/Shader/Compile.hs 306;" f autoAmr src/Dodge/Item/Held/Rod.hs 39;" f -autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 443;" f +autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 479;" f autoCrit src/Dodge/Creature/AutoCrit.hs 12;" f autoDetector src/Dodge/Item/Weapon/Radar.hs 11;" f autoEffect src/Dodge/Item/Weapon/ExtraEffect.hs 18;" f -autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 633;" f +autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 679;" f autoPistol src/Dodge/Item/Held/Stick.hs 49;" f -autoRifle src/Dodge/Item/Held/Cane.hs 40;" f +autoRifle src/Dodge/Item/Held/Cane.hs 27;" f awakeLevelPerception src/Dodge/Creature/Perception.hs 163;" f axisInt src/Geometry/Intersect.hs 227;" f azure src/Color.hs 22;" f @@ -3447,9 +3448,9 @@ backpackShape src/Dodge/Item/Draw/SPic.hs 177;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f bangConeShape src/Dodge/Item/Draw/SPic.hs 292;" f -bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 467;" f +bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 507;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f -bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 611;" f +bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 655;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f @@ -3466,8 +3467,7 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 383;" f baseShoulder src/Dodge/Creature/Picture.hs 125;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 289;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 282;" f -baseStickSpread src/Dodge/HeldUse.hs 291;" f -baseTriggerType src/Dodge/BaseTriggerType.hs 12;" f +baseStickSpread src/Dodge/HeldUse.hs 294;" 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 @@ -3477,7 +3477,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 22;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 720;" f +basicMuzFlare src/Dodge/HeldUse.hs 740;" f basicTerminal src/Dodge/Terminal.hs 35;" f battery src/Dodge/Item/Ammo.hs 62;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f @@ -3486,7 +3486,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 114;" f -bgunSound src/Dodge/HeldUse.hs 523;" f +bgunSound src/Dodge/HeldUse.hs 543;" f bindFBO src/Render.hs 244;" f bingate src/Dodge/Item/Scope.hs 109;" f black src/Color.hs 27;" f @@ -3504,22 +3504,22 @@ blockPillar src/Dodge/Room/Pillar.hs 22;" f blockedCorridor src/Dodge/Room/RoadBlock.hs 71;" f blockedCorridorCloseBlocks src/Dodge/Room/RoadBlock.hs 78;" f blockingLoad src/Dodge/Concurrent.hs 35;" f -blood1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 575;" f -blood2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 445;" f -blood3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 603;" f -blood4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 497;" f -blood5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 479;" f -blood6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 637;" f -blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 433;" f -blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 421;" f -bloodShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 557;" f -bloodShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 529;" f -bloodShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 523;" f -bloodShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 559;" f -bloodShort5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 435;" f -bloodShort6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 453;" f -bloodShort7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 577;" f -bloodShort8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 541;" f +blood1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 619;" f +blood2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 481;" f +blood3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f +blood4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 539;" f +blood5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 521;" f +blood6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 685;" f +blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 465;" f +blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 453;" f +bloodShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 601;" f +bloodShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 573;" f +bloodShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 567;" f +bloodShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 603;" f +bloodShort5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 467;" f +bloodShort6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 489;" f +bloodShort7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 621;" f +bloodShort8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 585;" f blowTorch src/Dodge/Item/Held/SprayGuns.hs 43;" f blue src/Color.hs 16;" f blunderbuss src/Dodge/Item/Held/Cone.hs 14;" f @@ -3552,9 +3552,9 @@ bulletModule src/Dodge/Item/Scope.hs 117;" f bulletPayloadModule src/Dodge/Item/Scope.hs 131;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 75;" f bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f -burstRifle src/Dodge/Item/Held/Cane.hs 45;" f +burstRifle src/Dodge/Item/Held/Cane.hs 30;" f buttonFlip src/Dodge/Button/Event.hs 18;" f -buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f +buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f @@ -3575,7 +3575,7 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 289;" f centroid src/Geometry/Polygon.hs 130;" f centroidNum src/Geometry/Polygon.hs 133;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f -chainLinkOrientation src/Dodge/Creature/State.hs 279;" f +chainLinkOrientation src/Dodge/Creature/State.hs 291;" f chainPairs src/Geometry.hs 359;" f changeSwapOther src/Dodge/Inventory.hs 144;" f changeSwapSel src/Dodge/Inventory.hs 137;" f @@ -3590,7 +3590,7 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 64;" f -checkDeath src/Dodge/Creature/State.hs 76;" f +checkDeath src/Dodge/Creature/State.hs 77;" f checkEndGame src/Dodge/Update.hs 717;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -3626,9 +3626,9 @@ clColor src/Shader/Poke/Cloud.hs 35;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f -clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 507;" f -clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 619;" f -clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 489;" f +clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 549;" f +clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f +clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f cldtPropagateFold src/Dodge/DoubleTree.hs 230;" f cleanUpPreload src/Preload.hs 10;" f cleanUpRenderPreload src/Preload/Render.hs 217;" f @@ -3637,7 +3637,7 @@ cleanupHalted src/Sound.hs 117;" f cleatLabel src/Dodge/Cleat.hs 30;" f cleatOnward src/Dodge/Cleat.hs 24;" f cleatSide src/Dodge/Cleat.hs 27;" f -click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f +click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 571;" f clickGetCreature src/Dodge/Debug.hs 107;" f clicker src/Dodge/Item/Scope.hs 82;" f clipV src/Geometry/Vector.hs 47;" f @@ -3682,7 +3682,7 @@ combineInventoryExtra src/Dodge/Render/HUD.hs 340;" f combineItemListYouX src/Dodge/Combine.hs 36;" f combineList src/Dodge/Combine.hs 22;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f -combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 437;" f +combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 471;" f combineTree src/Dodge/Tree/Compose.hs 66;" f commandColor src/Dodge/Terminal.hs 132;" f commandFutureLines src/Dodge/Terminal.hs 256;" f @@ -3694,10 +3694,10 @@ compactDrawTree src/Dodge/LevelGen.hs 85;" f compileAndCheckShader src/Shader/Compile.hs 277;" f composeNode src/Dodge/Tree/Compose.hs 76;" f composeTree src/Dodge/Tree/Compose.hs 46;" f -computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f +computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f conEffects src/Dodge/Concurrent.hs 12;" f concurrentIS src/Dodge/Update/Input/InGame.hs 290;" f -connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 657;" f +connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 707;" f connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f constructEdges src/Polyhedra.hs 34;" f @@ -3707,13 +3707,13 @@ convexHull src/Geometry/Polygon.hs 104;" f convexHullSafe src/Geometry/Polygon.hs 111;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f copier src/Dodge/Item/Scope.hs 88;" f -copierItemUpdate src/Dodge/Creature/State.hs 186;" f +copierItemUpdate src/Dodge/Creature/State.hs 198;" f copierItemUpdate src/Dodge/ItEffect.hs 37;" f copyItemToFloor src/Dodge/FloorItem.hs 18;" f copyItemToFloorID src/Dodge/FloorItem.hs 22;" f corDoor src/Dodge/Room/Room.hs 376;" f cornerList src/Preload/Render.hs 195;" f -corpseOrGib src/Dodge/Creature/State.hs 105;" f +corpseOrGib src/Dodge/Creature/State.hs 106;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorN src/Dodge/Room/Corridor.hs 52;" f @@ -3754,7 +3754,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 809;" f crStratConMatches src/Dodge/Creature/Test.hs 76;" f crStrength src/Dodge/Creature/Statistics.hs 24;" f -crUpdate src/Dodge/Creature/State.hs 62;" f +crUpdate src/Dodge/Creature/State.hs 63;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f @@ -3762,7 +3762,7 @@ crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f crZoneSize src/Dodge/Zoning/Creature.hs 41;" f craftInfo src/Dodge/Item/Info.hs 168;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 56;" f -crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 535;" f +crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 579;" f createArc src/Dodge/Tesla/Arc.hs 81;" f createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f createForceField src/Dodge/ForceField.hs 7;" f @@ -3772,14 +3772,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 1282;" f -createProjectileR src/Dodge/HeldUse.hs 1247;" f +createProjectile src/Dodge/HeldUse.hs 1302;" f +createProjectileR src/Dodge/HeldUse.hs 1267;" f createShell src/Dodge/Projectile/Create.hs 23;" 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 833;" f +creatureShootLaser src/Dodge/HeldUse.hs 853;" 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 @@ -3850,7 +3850,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 294;" f +dbwMuzzles src/Dodge/HeldUse.hs 297;" 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 @@ -3879,10 +3879,10 @@ decreaseAwareness src/Dodge/Creature/Perception.hs 119;" f decreaseToNothing' src/Dodge/Base/Arithmetic.hs 7;" f decreaseToZero src/Dodge/Base/Arithmetic.hs 4;" f decrementTimer src/Sound.hs 102;" f -dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 615;" f -dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 415;" f -dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 571;" f -dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 405;" f +dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 659;" f +dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 445;" f +dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 615;" f +dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 435;" f defDamageMaterial src/Dodge/Material/Damage.hs 22;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f defSPic src/Dodge/Item/Draw/SPic.hs 298;" f @@ -3968,7 +3968,7 @@ detector src/Dodge/Item/Held/Utility.hs 27;" f detectorColor src/Dodge/Item/Draw/SPic.hs 452;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 224;" f -determineProjectileTracking src/Dodge/HeldUse.hs 1230;" f +determineProjectileTracking src/Dodge/HeldUse.hs 1250;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 54;" f diffAngles src/Geometry.hs 204;" f @@ -3980,7 +3980,7 @@ dirtColor src/Dodge/Block/Debris.hs 160;" f dirtDebris src/Dodge/Block/Debris.hs 154;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f dirtWallDamage src/Dodge/Wall/DamageEffect.hs 98;" f -disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f +disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 637;" f disconnectTerminal src/Dodge/Terminal.hs 217;" f displayConfig src/Dodge/Menu.hs 213;" f displayControls src/Dodge/Menu.hs 223;" f @@ -4001,7 +4001,7 @@ dmType src/Dodge/Damage.hs 38;" f doAfterPlacement src/Dodge/Layout.hs 86;" f doAfterPlacements src/Dodge/Layout.hs 83;" f doAimTwist src/Dodge/Creature/YourControl.hs 140;" f -doAnyEquipmentEffect src/Dodge/Creature/State.hs 196;" f +doAnyEquipmentEffect src/Dodge/Creature/State.hs 208;" f doArcStep src/Dodge/Tesla/Arc.hs 135;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBlBl src/Dodge/BlBl.hs 5;" f @@ -4017,7 +4017,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f doCrWdAc src/Dodge/CreatureEffect.hs 77;" f doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f -doDamage src/Dodge/Creature/State.hs 127;" f +doDamage src/Dodge/Creature/State.hs 128;" f doDeathToggle src/Dodge/WorldEffect.hs 93;" f doDeathTriggers src/Dodge/WorldEffect.hs 88;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f @@ -4033,9 +4033,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 1188;" f +doGenFloat src/Dodge/HeldUse.hs 1208;" f doGravityPU src/Dodge/Projectile/Update.hs 50;" f -doHeldUseEffect src/Dodge/HeldUse.hs 324;" f +doHeldUseEffect src/Dodge/HeldUse.hs 327;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f @@ -4098,7 +4098,7 @@ doublePair src/Geometry.hs 161;" f doublePairSet src/Geometry.hs 165;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleV2 src/Geometry.hs 168;" f -drawARHUD src/Dodge/Creature/State.hs 306;" f +drawARHUD src/Dodge/Creature/State.hs 318;" f drawAimSweep src/Dodge/Render/Picture.hs 271;" f drawAllShadows src/Dodge/Shadows.hs 5;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f @@ -4225,9 +4225,9 @@ drawWlIDs src/Dodge/Debug/Picture.hs 367;" f drawZoneCol src/Dodge/Debug/Picture.hs 142;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f -dropAll src/Dodge/Creature/State.hs 124;" f +dropAll src/Dodge/Creature/State.hs 125;" f dropExcept src/Dodge/Creature/Action.hs 166;" f -dropInventoryPath src/Dodge/HeldUse.hs 1361;" f +dropInventoryPath src/Dodge/HeldUse.hs 1381;" 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 @@ -4259,8 +4259,8 @@ effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnRemove src/Dodge/Equipment.hs 19;" f effectWhileAttached src/Dodge/ItEffect.hs 58;" f eitType src/Dodge/Data/EquipType.hs 15;" f -ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 599;" f -elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 459;" f +ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 643;" f +elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 499;" f elephantGun src/Dodge/Item/Held/Rod.hs 27;" f emptyCorridor src/Dodge/Room/BlinkAcross.hs 22;" f emptyTrie src/SimpleTrie.hs 16;" f @@ -4303,7 +4303,7 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 186;" f explodeShell src/Dodge/Projectile/Update.hs 244;" f -explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 503;" f +explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 545;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f @@ -4334,15 +4334,15 @@ findReverseEdgeList src/Polyhedra.hs 57;" f findWallFreeDropPoint src/Dodge/FloorItem.hs 51;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWithIx src/ListHelp.hs 123;" f -fireFadeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 499;" f -fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f -fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 423;" f +fireFadeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 541;" f +fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 689;" f +fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 455;" f firstBreather src/Dodge/Room/Breather.hs 9;" f 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 297;" f +flameMuzzles src/Dodge/HeldUse.hs 300;" 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 @@ -4350,7 +4350,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 386;" f -flareCircleAt src/Dodge/HeldUse.hs 701;" f +flareCircleAt src/Dodge/HeldUse.hs 721;" 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 @@ -4372,16 +4372,16 @@ flockToPointUsing' src/Dodge/Creature/Boid.hs 228;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 229;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 99;" f floorWire src/Dodge/Wire.hs 13;" f -foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 505;" f -foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 501;" f -foldCr src/Dodge/Creature/State.hs 48;" f +foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 547;" f +foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 543;" f +foldCr src/Dodge/Creature/State.hs 49;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f followImpulse src/Dodge/Creature/Impulse.hs 38;" f followImpulses src/Dodge/Creature/Impulse.hs 32;" f -foot1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 441;" f -foot2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 461;" f -foot3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 565;" f +foot1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 477;" f +foot2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 501;" f +foot3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f forbidFlee src/Dodge/Creature/Boid.hs 43;" f forceElements src/StrictHelp.hs 10;" f forceField src/Dodge/Wall/ForceField.hs 7;" f @@ -4392,7 +4392,7 @@ fpsText src/Dodge/Render/Picture.hs 53;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 137;" f frag src/Shader/Data.hs 102;" f freeShaderPointers' src/Shader.hs 37;" f -fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 455;" f +fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 491;" f fromEdgeTuple src/Dodge/Path/Translate.hs 5;" f fromJust' src/MaybeHelp.hs 24;" f fromListL src/DoubleStack.hs 7;" f @@ -4417,7 +4417,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameplayMenu src/Dodge/Menu.hs 134;" f gameplayMenuOptions src/Dodge/Menu.hs 137;" f -gasType src/Dodge/HeldUse.hs 1144;" f +gasType src/Dodge/HeldUse.hs 1164;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4432,11 +4432,11 @@ getAimZoom src/Dodge/Update/Camera.hs 135;" f getAmmoLinks src/Dodge/Item/Grammar.hs 142;" f getArguments src/Dodge/Update/Scroll.hs 178;" f getArguments' src/Dodge/Update/Scroll.hs 166;" f -getAttachedSFLink src/Dodge/HeldUse.hs 771;" f +getAttachedSFLink src/Dodge/HeldUse.hs 791;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 121;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 171;" f -getBulletType src/Dodge/HeldUse.hs 890;" f +getBulletType src/Dodge/HeldUse.hs 910;" f getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f getCommands src/Dodge/Terminal.hs 117;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f @@ -4444,17 +4444,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 1275;" f +getGrenadeHitEffect src/Dodge/HeldUse.hs 1295;" f getInventoryPath src/Dodge/Inventory/Path.hs 8;" f getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f -getLaserColor src/Dodge/HeldUse.hs 717;" f -getLaserDamage src/Dodge/HeldUse.hs 714;" f -getLaserPhaseV src/Dodge/HeldUse.hs 711;" f +getLaserColor src/Dodge/HeldUse.hs 737;" f +getLaserDamage src/Dodge/HeldUse.hs 734;" f +getLaserPhaseV src/Dodge/HeldUse.hs 731;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 392;" f getNodePos src/Dodge/Path.hs 31;" f -getPJStabiliser src/Dodge/HeldUse.hs 1267;" f +getPJStabiliser src/Dodge/HeldUse.hs 1287;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f getRootItemBounds src/Dodge/Render/HUD.hs 95;" f @@ -4475,10 +4475,10 @@ glNamedBufferSubDataH src/Shader/Bind.hs 53;" f glassDebris src/Dodge/Block/Debris.hs 169;" f glassLesson src/Dodge/Room/GlassLesson.hs 23;" f glassLessonRunPast src/Dodge/Room/GlassLesson.hs 68;" f -glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 591;" f -glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 561;" f -glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 417;" f -glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 555;" f +glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f +glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 605;" f +glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 449;" f +glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 599;" f glassSwitchBack src/Dodge/Room/Room.hs 70;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 99;" f glassWallDamage src/Dodge/Wall/DamageEffect.hs 49;" f @@ -4501,13 +4501,13 @@ gridPoints' src/Grid.hs 79;" f gridPoints'' src/Grid.hs 74;" f gridPointsOff src/Grid.hs 62;" f groupSplitItemAmounts src/Dodge/Combine.hs 52;" f -gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 621;" f -gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 661;" f -gut2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 473;" f -gut3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 449;" f -gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 427;" f -gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f -gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 587;" f +gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 665;" f +gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f +gut2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 515;" f +gut3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 485;" f +gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 459;" f +gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 671;" f +gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 631;" f gyroscope src/Dodge/Item/Scope.hs 156;" f hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 48;" f @@ -4537,7 +4537,7 @@ headLampShape src/Dodge/Item/Draw/SPic.hs 442;" f headMap src/Dodge/DoubleTree.hs 170;" f heal src/Dodge/Item/Consumable.hs 17;" f heal25 src/Dodge/Item/Consumable.hs 14;" f -healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 447;" f +healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 483;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 74;" f healthTest src/Dodge/Room/LasTurret.hs 95;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f @@ -4550,17 +4550,17 @@ heldHandlePos src/Dodge/Item/HeldOffset.hs 95;" 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 453;" f -heldItemMuzVel src/Dodge/HeldUse.hs 1030;" f -heldItemMuzzles src/Dodge/HeldUse.hs 158;" f +heldItemInvLock src/Dodge/HeldUse.hs 473;" f +heldItemMuzVel src/Dodge/HeldUse.hs 1050;" f +heldItemMuzzles src/Dodge/HeldUse.hs 161;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 72;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 29;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 34;" f -heldItemRifling src/Dodge/HeldUse.hs 1074;" f +heldItemRifling src/Dodge/HeldUse.hs 1094;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 224;" f heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f -heldTorqueAmount src/Dodge/HeldUse.hs 596;" f +heldTorqueAmount src/Dodge/HeldUse.hs 616;" f heldTriggerType src/Dodge/BaseTriggerType.hs 17;" f heldUseDelay src/Dodge/Item/UseDelay.hs 18;" f helpCommand src/Dodge/Terminal.hs 66;" f @@ -4570,9 +4570,9 @@ hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f highBar src/Dodge/Room/Foreground.hs 89;" f highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f highMesh src/Dodge/Room/Foreground.hs 25;" f -hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 525;" f +hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 569;" f hitEffFromBul src/Dodge/Bullet.hs 154;" f -hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 481;" f +hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 523;" f holdForm src/Dodge/Creature/Boid.hs 137;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 48;" f @@ -4619,9 +4619,9 @@ insertAt src/Padding.hs 63;" f insertIMInZone src/Dodge/Base.hs 54;" f insertInTrie src/SimpleTrie.hs 23;" f insertNewKey src/IntMapHelp.hs 64;" f -insertOneS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 465;" f +insertOneS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 505;" f insertOver src/ListHelp.hs 47;" f -insertS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 407;" f +insertS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 437;" f insertWall src/Dodge/Placement/PlaceSpot/Block.hs 122;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f @@ -4654,9 +4654,9 @@ invCursorParams src/Dodge/ListDisplayParams.hs 36;" f invDP src/Dodge/ListDisplayParams.hs 30;" f invDimColor src/Dodge/DisplayInventory.hs 192;" f invHead src/Dodge/Render/HUD.hs 405;" f -invItemLocUpdate src/Dodge/Creature/State.hs 152;" f +invItemLocUpdate src/Dodge/Creature/State.hs 153;" f invLDT src/Dodge/Item/Grammar.hs 279;" f -invRootItemEffs src/Dodge/Creature/State.hs 145;" f +invRootItemEffs src/Dodge/Creature/State.hs 146;" f invRootMap src/Dodge/Item/Grammar.hs 288;" f invRootTrees src/Dodge/Item/Grammar.hs 309;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f @@ -4675,7 +4675,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 727;" f +isAmmoIntLink src/Dodge/HeldUse.hs 747;" f isAnimate src/Dodge/Creature/Test.hs 142;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f isConnected src/Dodge/Inventory/Swap.hs 74;" f @@ -4712,7 +4712,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 777;" f +itemDetectorEffect src/Dodge/HeldUse.hs 797;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f @@ -4724,9 +4724,9 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemInfo src/Dodge/Item/Info.hs 20;" f itemInternalValue src/Dodge/Item/Display.hs 33;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f -itemInvLock src/Dodge/HeldUse.hs 448;" f -itemMuzzles src/Dodge/HeldUse.hs 147;" f -itemRandomOffset src/Dodge/HeldUse.hs 967;" f +itemInvLock src/Dodge/HeldUse.hs 468;" f +itemMuzzles src/Dodge/HeldUse.hs 146;" f +itemRandomOffset src/Dodge/HeldUse.hs 987;" f itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 28;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f @@ -4734,11 +4734,12 @@ itemScan src/Dodge/Item/Scope.hs 63;" f itemScroll src/Dodge/Update/Scroll.hs 52;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f -itemSidePush src/Dodge/HeldUse.hs 394;" f +itemSidePush src/Dodge/HeldUse.hs 414;" f itemString src/Dodge/Item/Display.hs 55;" f itemToBreakLists src/Dodge/Item/Grammar.hs 68;" f itemToFunction src/Dodge/Item/Grammar.hs 148;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 23;" f +itemTriggerType src/Dodge/BaseTriggerType.hs 12;" f itemWeight src/Dodge/Creature/Statistics.hs 66;" f iterateUntil src/MonadHelp.hs 23;" f iterateWhile src/MonadHelp.hs 30;" f @@ -4766,7 +4767,7 @@ keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 59;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyPic src/Dodge/Item/Draw/SPic.hs 458;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f -knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 581;" f +knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 625;" f lConnect src/Dodge/Render/Connectors.hs 42;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f @@ -4835,7 +4836,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" 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 641;" f +loadMuzzle src/Dodge/HeldUse.hs 661;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4878,7 +4879,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 911;" 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 171;" f @@ -4893,8 +4894,8 @@ 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 1011;" f -makeBullet' src/Dodge/HeldUse.hs 953;" f +makeBullet src/Dodge/HeldUse.hs 1031;" f +makeBullet' src/Dodge/HeldUse.hs 973;" f makeButton src/Dodge/LevelGen/Switch.hs 17;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f @@ -4920,7 +4921,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 662;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 682;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f @@ -4976,11 +4977,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 1199;" f -mcShootLaser src/Dodge/HeldUse.hs 1192;" f +mcShootAuto src/Dodge/HeldUse.hs 1219;" f +mcShootLaser src/Dodge/HeldUse.hs 1212;" f mcTriggerVal src/Dodge/Machine/Update.hs 99;" f mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f -mcUseHeld src/Dodge/HeldUse.hs 1118;" f +mcUseHeld src/Dodge/HeldUse.hs 1138;" 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 @@ -4999,13 +5000,13 @@ merge src/ListHelp.hs 83;" f mergeBy src/ListHelp.hs 86;" f mergeOn src/ListHelp.hs 93;" f mergeSound src/Sound.hs 59;" f -metal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 563;" f -metal2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 625;" f -metal3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 551;" f -metal4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 579;" f -metal5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 595;" f -metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 631;" f -metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 483;" f +metal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f +metal2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 669;" f +metal3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 595;" f +metal4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 623;" f +metal5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f +metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 677;" f +metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 525;" f metalDebris src/Dodge/Block/Debris.hs 163;" f metalPlate src/Dodge/Item/Craftable.hs 35;" f mglCreate src/GLHelp.hs 8;" f @@ -5019,19 +5020,19 @@ midWall src/Dodge/Placement/Instance/Wall.hs 27;" f minAndMax src/FoldableHelp.hs 109;" f minCrIXOn src/Dodge/Zoning/Creature.hs 47;" f minOn src/FoldableHelp.hs 35;" f -mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 413;" f +mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 443;" f miniGunCrit src/Dodge/Creature.hs 64;" f -miniGunX src/Dodge/Item/Held/Cane.hs 48;" f +miniGunX src/Dodge/Item/Held/Cane.hs 33;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 364;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 358;" f -miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f +miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 701;" f miniTree2 src/Dodge/Room/Room.hs 106;" f minimumOn src/FoldlHelp.hs 14;" f mirrorV3xz src/Dodge/Creature/HandPos.hs 26;" f mirrorXAxis src/Geometry/Polygon.hs 49;" f mirrorxz src/Picture/Base.hs 335;" f mirroryz src/Picture/Base.hs 340;" f -missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 617;" f +missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 661;" f mixColors src/Color.hs 86;" f mixColorsFrac src/Color.hs 82;" f mixColorsLinear src/Color.hs 95;" f @@ -5073,7 +5074,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 687;" f +muzFlareAt src/Dodge/HeldUse.hs 707;" 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 @@ -5130,7 +5131,7 @@ numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 183;" f obstacleColor src/Dodge/Debug/Picture.hs 257;" f obstructPathsCrossing src/Dodge/Path.hs 138;" f -oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f +oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 683;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f onXY src/Geometry/Vector3D.hs 130;" f @@ -5209,7 +5210,7 @@ picFormat src/Polyhedra.hs 23;" f picMap src/Picture/Base.hs 67;" f pickUpItem src/Dodge/Inventory/Add.hs 107;" f pickUpItemAt src/Dodge/Inventory/Add.hs 113;" f -pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 567;" f +pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 611;" f pincerP src/Dodge/Creature/Boid.hs 61;" f pincerP' src/Dodge/Creature/Boid.hs 94;" f pincerP'' src/Dodge/Creature/Boid.hs 104;" f @@ -5277,7 +5278,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 14;" f pointerYourRootItem src/Dodge/Item/Location.hs 31;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 25;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f -poisonSPic src/Dodge/Creature/State.hs 118;" f +poisonSPic src/Dodge/Creature/State.hs 119;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 506;" f pokeArrayOff src/Shader/Poke.hs 517;" f @@ -5353,7 +5354,7 @@ prependTwo src/Geometry.hs 176;" f prettyDT src/Dodge/DoubleTree.hs 179;" f prettyLDT src/Dodge/DoubleTree.hs 183;" f prettyShort src/AesonHelp.hs 11;" f -primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 537;" f +primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 581;" f printColumnTitles src/Dodge/Tree/Shift.hs 142;" f printColumns src/Dodge/Tree/Shift.hs 132;" f printInfo src/Dodge/Tree/Shift.hs 145;" f @@ -5465,7 +5466,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 475;" f +recoilAmount src/Dodge/HeldUse.hs 495;" f rectNSWE src/Geometry/Polygon.hs 13;" f rectVV src/Geometry/Polygon.hs 38;" f rectWH src/Geometry/Polygon.hs 17;" f @@ -5485,14 +5486,14 @@ refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 38;" f regexCombs src/Dodge/DisplayInventory.hs 71;" f regexList src/Dodge/DisplayInventory.hs 314;" f -reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 545;" f +reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 589;" f reloadLevelStart src/Dodge/Save.hs 71;" f -reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 543;" f +reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 587;" f 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 878;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 898;" f removeDot src/ShortShow.hs 29;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f @@ -5535,7 +5536,7 @@ rezInvBox src/Dodge/Room/RezBox.hs 134;" f rezText src/Dodge/Story.hs 4;" f rezText' src/Dodge/Story.hs 17;" f rhombus src/Polyhedra.hs 72;" f -rifle src/Dodge/Item/Held/Cane.hs 30;" f +rifle src/Dodge/Item/Held/Cane.hs 19;" f right src/DoubleStack.hs 16;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 248;" f rightPad src/Padding.hs 19;" f @@ -5621,7 +5622,7 @@ saveQuit src/Dodge/Menu.hs 74;" f saveQuitConc src/Dodge/Menu.hs 77;" f saveSlotPath src/Dodge/Save.hs 63;" f saveWorldInSlot src/Dodge/Save.hs 68;" f -sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 651;" f +sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 699;" f scale src/Picture/Base.hs 149;" f scale3 src/Picture/Base.hs 145;" f scaleMat src/MatrixHelper.hs 59;" f @@ -5630,7 +5631,7 @@ scaleSH src/Shape.hs 269;" f scalp src/Dodge/Creature/Picture.hs 90;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 95;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/State.hs 115;" f +scorchSPic src/Dodge/Creature/State.hs 116;" f screenBox src/Dodge/Base/Window.hs 53;" f screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f @@ -5645,15 +5646,15 @@ scrollRBOption src/Dodge/Update/Scroll.hs 152;" f scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f scrollTimeBack src/Dodge/Update.hs 212;" f scrollTimeForward src/Dodge/Update.hs 235;" f -seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 515;" f -seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 597;" f -seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f -seagullChatterS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 495;" f -seagullCry1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 513;" f -seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 521;" f -seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f -seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 457;" f -seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 655;" f +seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 559;" f +seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f +seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f +seagullChatterS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 537;" f +seagullCry1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 557;" f +seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 565;" f +seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 577;" f +seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 493;" f +seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 703;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 205;" f secondColumnParams src/Dodge/ListDisplayParams.hs 43;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 204;" f @@ -5703,7 +5704,7 @@ setOldPos src/Dodge/Update.hs 475;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f -setRBCreatureTargeting src/Dodge/Creature/State.hs 412;" f +setRBCreatureTargeting src/Dodge/Creature/State.hs 424;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 334;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setShaderSource src/Shader/Compile.hs 290;" f @@ -5749,7 +5750,7 @@ shellCollisionCheck src/Dodge/Projectile/Update.hs 85;" f shellMag src/Dodge/Item/Ammo.hs 48;" f shellModule src/Dodge/Item/Scope.hs 123;" f shellShape src/Dodge/Projectile/Draw.hs 34;" f -shieldWall' src/Dodge/Item/BackgroundEffect.hs 74;" f +shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 56;" f @@ -5770,23 +5771,23 @@ shiftRoomBy src/Dodge/Room/Link.hs 37;" f shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f -shineTargetLaser src/Dodge/Creature/State.hs 314;" f -shineTorch src/Dodge/Creature/State.hs 355;" f -shootBullet src/Dodge/HeldUse.hs 943;" f +shineTargetLaser src/Dodge/Creature/State.hs 326;" f +shineTorch src/Dodge/Creature/State.hs 367;" f +shootBullet src/Dodge/HeldUse.hs 963;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f -shootLaser src/Dodge/HeldUse.hs 857;" f +shootLaser src/Dodge/HeldUse.hs 877;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 1218;" f +shootTeslaArc src/Dodge/HeldUse.hs 1238;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 810;" f +shootTractorBeam src/Dodge/HeldUse.hs 830;" 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 shootingRange src/Dodge/Room/Room.hs 332;" f shortPoint2 src/Dodge/ShortShow.hs 4;" f shortShow src/ShortShow.hs 9;" f -shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 645;" f +shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 75;" f shoulderSH src/Dodge/Creature/Picture.hs 133;" f shoulderSP src/Dodge/Creature/HandPos.hs 170;" f @@ -5807,8 +5808,8 @@ shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f simpleCrSprings src/Dodge/Update.hs 805;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f -sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 623;" f -sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 431;" f +sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f +sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 463;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 62;" f singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f singleDT src/Dodge/DoubleTree.hs 9;" f @@ -5817,10 +5818,10 @@ singleton src/DoubleStack.hs 11;" f singletonTrie src/SimpleTrie.hs 19;" f sizeFBOs src/Framebuffer/Update.hs 22;" f skColor src/Dodge/Spark/Draw.hs 14;" f -skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 463;" f -slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 613;" f -slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 547;" f -slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f +skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 503;" f +slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 657;" f +slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 591;" f +slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 673;" f slideWindow src/ListHelp.hs 80;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 154;" f slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 171;" f @@ -5828,10 +5829,10 @@ smallBattery src/Dodge/Item/Ammo.hs 59;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f smallDrawTree src/Dodge/LevelGen.hs 88;" f -smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 429;" f -smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 589;" f -smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 469;" f -smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 425;" f +smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 461;" f +smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 633;" f +smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 509;" f +smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 457;" f smallPillar src/Dodge/Room/Pillar.hs 37;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f smg src/Dodge/Item/Held/Stick.hs 58;" f @@ -5848,10 +5849,10 @@ soundMenuOptions src/Dodge/Menu.hs 143;" f soundMultiFrom src/Dodge/SoundLogic.hs 187;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f -soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 270;" f +soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 290;" f soundPic src/Dodge/Debug/Picture.hs 336;" f soundStart src/Dodge/SoundLogic.hs 118;" f -soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 137;" f +soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 147;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f @@ -5923,11 +5924,11 @@ startSeedGame src/Dodge/StartNewGame.hs 20;" f startSeedGameConc src/Dodge/StartNewGame.hs 27;" f statsModifier src/Dodge/Creature/Info.hs 16;" f stickyMod src/Dodge/Item/Scope.hs 51;" f -stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 487;" f -stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 605;" f -stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 517;" f -stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 439;" f -stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 569;" f +stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 529;" f +stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 649;" f +stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 561;" f +stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 475;" f +stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 613;" f stoneDebris src/Dodge/Block/Debris.hs 137;" f stoneWallDamage src/Dodge/Wall/DamageEffect.hs 27;" f stopAllSounds src/Sound.hs 125;" f @@ -5972,11 +5973,11 @@ tankShape src/Dodge/Placement/Instance/Tank.hs 22;" f tankSquareDec src/Dodge/Placement/Instance/Tank.hs 15;" f tanksPipesRoom src/Dodge/Room/Tanks.hs 92;" f tanksRoom src/Dodge/Room/Tanks.hs 100;" f -tap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 573;" f -tap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 509;" f -tap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 553;" f -tap4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 643;" f -tapQuietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 419;" f +tap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 617;" f +tap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 551;" f +tap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 597;" f +tap4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 691;" f +tapQuietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 451;" f targCorner src/Dodge/Targeting/Draw.hs 35;" f targetCursorPic src/Dodge/Targeting/Draw.hs 41;" f targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 13;" f @@ -5985,7 +5986,7 @@ targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 196;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetingScope src/Dodge/Item/Scope.hs 38;" f telRoomLev src/Dodge/Room/Teleport.hs 14;" f -teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 475;" f +teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 517;" f termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f termScreenColor src/Dodge/Terminal/Color.hs 9;" f termSoundLine src/Dodge/Terminal.hs 111;" f @@ -6039,13 +6040,13 @@ timeStopper src/Dodge/Item/Held/Utility.hs 39;" f timeStopper src/Dodge/Item/Weapon/Utility.hs 41;" f timerTLS src/Dodge/LightSource/Update.hs 22;" f tinMag src/Dodge/Item/Ammo.hs 27;" f -ting1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 403;" f -ting2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 477;" f -ting3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 601;" f -ting4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 485;" f -ting5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f -tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f -tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 511;" f +ting1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 433;" f +ting2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f +ting3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 645;" f +ting4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f +ting5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 695;" f +tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 563;" f +tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 555;" f titleOptionsMenu src/Dodge/Menu.hs 102;" f titleOptionsNoWrite src/Dodge/Menu.hs 105;" f tmUpdate src/Dodge/Update.hs 455;" f @@ -6070,22 +6071,22 @@ toggleExamineInv src/Dodge/ToggleExamine.hs 5;" f toggleJust src/MaybeHelp.hs 41;" f toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 133;" f togglesToEffects src/Dodge/Terminal.hs 248;" f -tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 585;" f -tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f -tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 549;" f -tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 409;" f +tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f +tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 651;" f +tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f +tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 439;" f topInvW src/Dodge/ListDisplayParams.hs 51;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 58;" f torch src/Dodge/Item/Held/Utility.hs 23;" f torchShape src/Dodge/Item/Draw/SPic.hs 268;" f -torqueAmount src/Dodge/HeldUse.hs 591;" f +torqueAmount src/Dodge/HeldUse.hs 611;" f torqueCr src/Dodge/WorldEffect.hs 69;" 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 822;" f +tractorBeamAt src/Dodge/HeldUse.hs 842;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 436;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -6154,8 +6155,8 @@ tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f trySeedFromClipboard src/Dodge/Menu.hs 91;" f tryShellBounce src/Dodge/Projectile/Update.hs 103;" f trySpinByCID src/Dodge/Projectile/Update.hs 177;" f -trySynthBullet src/Dodge/Creature/State.hs 210;" f -tryUseParent src/Dodge/Creature/State.hs 203;" f +trySynthBullet src/Dodge/Creature/State.hs 222;" f +tryUseParent src/Dodge/Creature/State.hs 215;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turret src/Dodge/Placement/Instance/Turret.hs 35;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 19;" f @@ -6167,9 +6168,9 @@ twoFlat src/Dodge/Creature/Test.hs 104;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 87;" f twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f -twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 491;" f -twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 539;" f -twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f +twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f +twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f +twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 575;" f ubyteSize src/Shader/Parameters.hs 13;" f ugateCalc src/Dodge/Inventory/SelectionList.hs 108;" f uncurryV src/Geometry/Data.hs 46;" f @@ -6195,7 +6196,7 @@ updateAimPos src/Dodge/Update.hs 308;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla.hs 44;" f updateArc src/Dodge/Tesla/Arc.hs 100;" f -updateAttachedItems src/Dodge/Creature/State.hs 269;" f +updateAttachedItems src/Dodge/Creature/State.hs 281;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 453;" f updateBarrel src/Dodge/Barreloid.hs 41;" f updateBarreloid src/Dodge/Barreloid.hs 15;" f @@ -6233,7 +6234,7 @@ updateFloatingCamera src/Dodge/Update/Camera.hs 34;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 364;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 357;" f updateGusts src/Dodge/Update.hs 726;" f -updateHeldRootItem src/Dodge/Creature/State.hs 263;" f +updateHeldRootItem src/Dodge/Creature/State.hs 275;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 510;" f updateIMl' src/Dodge/Update.hs 515;" f @@ -6241,8 +6242,8 @@ updateInGameCamera src/Dodge/Update/Camera.hs 78;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 400;" f updateInt2Map src/Dodge/Zoning/Base.hs 92;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f -updateItemTargeting src/Dodge/Creature/State.hs 381;" f -updateItemWithOrientation src/Dodge/Creature/State.hs 289;" f +updateItemTargeting src/Dodge/Creature/State.hs 393;" f +updateItemWithOrientation src/Dodge/Creature/State.hs 301;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 394;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f updateLampoid src/Dodge/Lampoid.hs 12;" f @@ -6328,26 +6329,26 @@ useBulletPayload src/Dodge/Bullet.hs 113;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useDelay src/Dodge/Item/UseDelay.hs 12;" f -useGasParams src/Dodge/HeldUse.hs 1123;" f +useGasParams src/Dodge/HeldUse.hs 1143;" f useHotkey src/Dodge/Creature/YourControl.hs 70;" f -useInventoryPath src/Dodge/HeldUse.hs 1392;" f +useInventoryPath src/Dodge/HeldUse.hs 1412;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 731;" f +useLoadedAmmo src/Dodge/HeldUse.hs 751;" f useLocation src/Dodge/Creature/Impulse/UseItem.hs 65;" f useMagShield src/Dodge/Euse.hs 26;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f -useRewindGun src/Dodge/HeldUse.hs 1352;" f +useRewindGun src/Dodge/HeldUse.hs 1372;" 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 1333;" f +useStopWatch src/Dodge/HeldUse.hs 1353;" f useStopWatch src/Dodge/Luse.hs 21;" f -useTimeCheck src/Dodge/HeldUse.hs 102;" f +useTimeCheck src/Dodge/HeldUse.hs 100;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f -useTimeScrollGun src/Dodge/HeldUse.hs 1341;" f +useTimeScrollGun src/Dodge/HeldUse.hs 1361;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f @@ -6371,7 +6372,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 313;" f +vgunMuzzles src/Dodge/HeldUse.hs 316;" 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 @@ -6383,7 +6384,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 346;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f -walkNozzle src/Dodge/HeldUse.hs 792;" f +walkNozzle src/Dodge/HeldUse.hs 812;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 98;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f @@ -6391,7 +6392,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 1386;" f +warmupSound src/Dodge/HeldUse.hs 1406;" f warningRooms src/Dodge/Room/Warning.hs 28;" f wasdAim src/Dodge/Creature/YourControl.hs 126;" f wasdDir src/Dodge/WASD.hs 17;" f @@ -6409,12 +6410,22 @@ weaponRoom src/Dodge/Room/Room.hs 249;" f weaponUnderCrits src/Dodge/Room/Room.hs 154;" f wedgeGeom src/Dodge/Base.hs 42;" f wedgeOfThickness src/Dodge/Picture.hs 9;" f -whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 649;" f -whirTapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 411;" f -whirupS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 451;" f +whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f +whirTapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 441;" f +whirdown1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 469;" f +whirdown2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 675;" f +whirdown3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 553;" f +whirdownS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 705;" f +whirdownShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 473;" f +whirdownShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 495;" f +whirdownShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 511;" f +whirdownShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 497;" f +whirdownSmall1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f +whirdownSmall2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 447;" f +whirupS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 487;" f white src/Color.hs 26;" f -whiteNoiseFadeInS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 659;" f -whiteNoiseFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 471;" f +whiteNoiseFadeInS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 709;" f +whiteNoiseFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 513;" f wiToFloat src/Dodge/Room/Modify/Girder.hs 168;" f winConfig appDodge/Main.hs 56;" f windowLine src/Dodge/Placement/Instance/Wall.hs 48;" f @@ -6444,7 +6455,7 @@ worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f worldSPic src/Dodge/Render/ShapePicture.hs 21;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f wpAdd src/Dodge/Room/RezBox.hs 137;" f -wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 493;" f +wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 535;" f wristArmour src/Dodge/Item/Equipment.hs 43;" f wristInvisibility src/Dodge/Item/Equipment.hs 96;" f writeConfig src/Dodge/Menu.hs 162;" f