diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index f644ee5e8..6199dce83 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -1,10 +1,11 @@ +{-# LANGUAGE LambdaCase #-} + module Dodge.Creature.Impulse.UseItem ( useItem, --- useSelectedItem, ) where import Control.Lens ---import Control.Monad +import Control.Monad import Data.Maybe import Dodge.Data.ComposedItem import Dodge.Data.DoubleTree @@ -22,69 +23,56 @@ useItem :: Int -> PressType -> World -> World useItem invid pt w = (worldEventFlags . at InventoryChange ?~ ()) . fromMaybe w $ do cr <- w ^? cWorld . lWorld . creatures . ix 0 itmloc <- allInvLocs (_crInv cr) ^? ix invid . _2 - usedloc <- useLocation itmloc + let usedloc = useLocation itmloc useItemLoc cr usedloc pt w -useItemLoc :: Creature -> LocationLDT ItemLink ComposedItem -> PressType - -> World -> Maybe World +useItemLoc :: + Creature -> + LocationLDT ItemLink ComposedItem -> + PressType -> + World -> + Maybe World useItemLoc cr loc pt w = case loc ^. locLDT . ldtValue . _2 of - HeldPlatformSF -> - return $ - heldEffect pt (bimap _iatType (^. _1) ldt) cr w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown - GadgetPlatformSF -> - return $ - heldEffect pt (bimap _iatType (^. _1) ldt) cr w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown - RemoteDetonatorSF -> do - return $ activateDetonator ldt w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown - _ | isJust $ itm ^? itUse . uequipEffect -> do - invid' <- itm ^? itLocation . ilInvID - return $ toggleEquipmentAt invid' cr w - _ -> Nothing + HeldPlatformSF -> do + guard $ fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsRoot + guard $ cr ^. crStance . posture == Aiming + return $ heldEffect pt (bimap _iatType (^. _1) ldt) cr w + GadgetPlatformSF -> + return $ + heldEffect pt (bimap _iatType (^. _1) ldt) cr w + UnderBarrelPlatformSF -> do + guard $ fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsAttached + guard $ cr ^. crStance . posture == Aiming + return $ heldEffect pt (bimap _iatType (^. _1) ldt) cr w + RemoteDetonatorSF -> do + guard $ pt == InitialPress + return $ activateDetonator ldt w + _ | isJust $ itm ^? itUse . uequipEffect -> do + guard $ pt == InitialPress + invid' <- itm ^? itLocation . ilInvID + return $ toggleEquipmentAt invid' cr w + _ -> Nothing where ldt = loc ^. locLDT itm = ldt ^. ldtValue . _1 -useLocation :: LocationLDT ItemLink ComposedItem - -> Maybe (LocationLDT ItemLink ComposedItem) +useLocation :: + LocationLDT ItemLink ComposedItem -> + LocationLDT ItemLink ComposedItem useLocation loc - | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uequipEffect = return loc - | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apLinkedProjectile . _Just - = return loc - | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 - = return loc - | otherwise = return $ locToTop loc + | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uequipEffect = loc + | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 = + loc + | sf <- loc ^. locLDT . ldtValue . _2 + , structureUseAtLoc sf = + loc + | otherwise = locToTop loc ---useSelectedItem :: Int -> World -> World ---useSelectedItem crid w = (worldEventFlags . at InventoryChange ?~ ()) . fromMaybe w $ do --- cr <- w ^? cWorld . lWorld . creatures . ix crid --- invid <- cr ^? crManipulation . manObject . imSelectedItem --- itmloc <- allInvLocs (_crInv cr) ^? ix invid . _2 --- let usedloc = case useLocation itmloc of --- UseFromLocation -> itmloc ^. locLDT --- UseFromRoot -> locToTop itmloc ^. locLDT --- let itm = usedloc ^. ldtValue . _1 --- case usedloc ^. ldtValue . _2 of --- HeldPlatformSF -> --- return $ --- heldEffect (bimap _iatType fst3 usedloc) cr w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown --- GadgetPlatformSF -> --- return $ --- heldEffect (bimap _iatType fst3 usedloc) cr w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown --- RemoteDetonatorSF -> do --- return $ activateDetonator usedloc w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown --- _ | isJust $ itm ^? itUse . uequipEffect -> do ----- guard (_crHammerPosition cr == HammerUp) --- invid' <- itm ^? itLocation . ilInvID --- return $ toggleEquipmentAt invid' cr w --- _ -> Nothing --- where --- fst3 (x, _, _) = x +structureUseAtLoc :: ItemStructuralFunction -> Bool +structureUseAtLoc = \case + HeldPlatformSF -> True + UnderBarrelPlatformSF -> True + _ -> False activateDetonator :: LabelDoubleTree ItemLink ComposedItem -> @@ -102,7 +90,7 @@ toggleEquipmentAt invid cr w = case getEquipmentAllocation w of & crpoint . crEquipment . at newp ?~ invid & crpoint . crInv . ix invid . itLocation . ilEquipSite ?~ newp & onequip itm cr --- & cWorld . lWorld %~ assignNewHotkey invid + -- & cWorld . lWorld %~ assignNewHotkey invid MoveEquipment{_allocNewPos = newp, _allocOldPos = oldp} -> w & crpoint . crEquipment . at newp ?~ invid @@ -121,15 +109,16 @@ toggleEquipmentAt invid cr w = case getEquipmentAllocation w of & crpoint . crInv . ix rid . itLocation . ilEquipSite .~ Nothing & onremove (itmat rid) cr & onequip itm cr --- & cWorld . lWorld %~ removeHotkey rid --- & cWorld . lWorld %~ assignNewHotkey invid + -- & cWorld . lWorld %~ removeHotkey rid + -- & cWorld . lWorld %~ assignNewHotkey invid RemoveEquipment{_allocOldPos = oldp} -> w & crpoint . crEquipment . at oldp .~ Nothing & crpoint . crInv . ix invid . itLocation . ilEquipSite .~ Nothing & onremove itm cr --- & cWorld . lWorld %~ removeHotkey invid where + -- & cWorld . lWorld %~ removeHotkey invid + crpoint = cWorld . lWorld . creatures . ix (_crID cr) itmat i = _crInv cr IM.! i itm = itmat itRef diff --git a/src/Dodge/Creature/YourControl.hs b/src/Dodge/Creature/YourControl.hs index 3b245ceaa..dc6e33147 100644 --- a/src/Dodge/Creature/YourControl.hs +++ b/src/Dodge/Creature/YourControl.hs @@ -53,9 +53,6 @@ useHotkey w (NInt itid, pt) = fromMaybe w $ do invid <- w ^? cWorld . lWorld . itemLocations . ix itid . ilInvID return $ useItem invid pt w ---allHotkeys :: [SDL.Scancode] ---allHotkeys = map hotkeyToScancode [minBound .. maxBound] - hotkeyToScancode :: Hotkey -> SDL.Scancode hotkeyToScancode x = case x of HotkeyQ -> SDL.ScancodeQ diff --git a/src/Dodge/Data/Item/Combine.hs b/src/Dodge/Data/Item/Combine.hs index 49284bc52..64c730e47 100644 --- a/src/Dodge/Data/Item/Combine.hs +++ b/src/Dodge/Data/Item/Combine.hs @@ -1,5 +1,4 @@ {-# LANGUAGE DeriveAnyClass #-} ---{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} @@ -15,7 +14,6 @@ import Dodge.Data.Item.Targeting data ItemType = HELD {_ibtHeld :: HeldItemType} --- | LEFT {_ibtLeft :: LeftItemType} | EQUIP {_ibtEquip :: EquipItemType} | CRAFT {_ibtCraft :: CraftType} | ATTACH {_ibtAttach :: AttachType} @@ -115,12 +113,6 @@ data EquipItemType | WRIST_ECG deriving (Eq, Ord, Show, Read) ---data LeftItemType --- = STOPWATCH --- | SCROLLWATCH --- | SPAWNER --- deriving (Eq, Ord, Show, Read) --Generic, Flat) - data HeldItemType = BANGSTICK {_xNum :: Int} | REWINDER diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index d743d8de8..45433f7ed 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -65,9 +65,7 @@ data TriggerType = AutoTrigger | HammerTrigger deriving (Eq, Show, Read) data AttachParams - = APLinkProjectile - {_apLinkedProjectile :: Maybe Int} - | APProjectiles + = APProjectiles {_apProjectiles :: [Int]} | APInt {_apInt :: Int} | APNothing diff --git a/src/Dodge/Item/Display.hs b/src/Dodge/Item/Display.hs index 10a8821f8..2c61139b1 100644 --- a/src/Dodge/Item/Display.hs +++ b/src/Dodge/Item/Display.hs @@ -102,7 +102,7 @@ itemNumberDisplay cr ci ["!TARG!"] | Just x <- ci ^? _1 . itConsumables . magLoadStatus . iaLoaded = [shortShow x] | UseAttach (APInt i) <- ci ^. _1 . itUse = [show i] - | UseAttach (APLinkProjectile i) <- ci ^. _1 . itUse = [show i] +-- | UseAttach (APLinkProjectile i) <- ci ^. _1 . itUse = [show i] | UseAttach (APProjectiles x) <- ci ^. _1 . itUse = [show x] | UseScope OpticScope{_opticZoom = x} <- ci ^. _1 . itUse = [shortShow x] | otherwise = mempty diff --git a/src/Dodge/Item/Scope.hs b/src/Dodge/Item/Scope.hs index 09ca9a23a..a42207430 100644 --- a/src/Dodge/Item/Scope.hs +++ b/src/Dodge/Item/Scope.hs @@ -69,7 +69,8 @@ augmentedHUD = makeAttach AUGMENTEDHUD remoteScreen :: Item remoteScreen = makeAttach REMOTESCREEN - & itUse . uaParams .~ APLinkProjectile Nothing +-- & itUse . uaParams .~ APLinkProjectile Nothing + & itUse . uaParams .~ APProjectiles [] remoteDetonator :: Item remoteDetonator = makeAttach REMOTEDETONATOR diff --git a/src/Dodge/Projectile/Create.hs b/src/Dodge/Projectile/Create.hs index 40515f358..207983e61 100644 --- a/src/Dodge/Projectile/Create.hs +++ b/src/Dodge/Projectile/Create.hs @@ -72,8 +72,10 @@ createShell mdetonator mscreen stab pjtype payload muz cr w = w updatescreen = fromMaybe id $ do screenid <- mscreen return $ pointerToItemID screenid . itUse . uaParams - . apLinkedProjectile - ?~ i + . apProjectiles + .:~ i +-- . apLinkedProjectile +-- ?~ i i = IM.newKey $ w ^. cWorld . lWorld . projectiles dir = _crDir cr + _mzRot muz pos = _crPos cr +.+ rotateV dir (_mzPos muz) diff --git a/src/Dodge/Projectile/Update.hs b/src/Dodge/Projectile/Update.hs index 8e52fabe9..205f57831 100644 --- a/src/Dodge/Projectile/Update.hs +++ b/src/Dodge/Projectile/Update.hs @@ -3,7 +3,6 @@ module Dodge.Projectile.Update ( updateProjectile, ) where -import Control.Monad import Data.Foldable import Data.List (delete) import Data.Maybe @@ -118,9 +117,7 @@ destroyProjectile mitid pjid w = removelink = fromMaybe id $ do itid <- fmap _unNInt mitid loc <- w ^? cWorld . lWorld . itemLocations . ix itid - itm <- w ^? pointerToItemLocation loc . itUse . uaParams . apLinkedProjectile . _Just - guard $ itm == pjid - return $ pointerToItemLocation loc . itUse . uaParams . apLinkedProjectile .~ Nothing + return $ pointerToItemLocation loc . itUse . uaParams . apProjectiles %~ delete pjid doThrust :: Projectile -> Maybe RocketSmoke -> World -> World doThrust pj smoke w = diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index 171cffc43..d7307425e 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -58,7 +58,7 @@ translateFloatingCamera theinput cam = fromMaybe cam $ do cam & camCenter +~ thetran & camViewFrom +~ thetran else do - a <- (theinput ^. heldPos . at SDL.ButtonRight) + a <- theinput ^. heldPos . at SDL.ButtonRight return $ cam & camRot -~ angleBetween (theinput ^. mousePos) a translateFloatingCameraKeys :: Input -> Camera -> Camera @@ -93,7 +93,8 @@ moveZoomCamera cfig theinput cr w campos = where mremotepos = do i <- cr ^? crManipulation . manObject . imSelectedItem - j <- cr ^? crInv . ix i . itUse . uaParams . apLinkedProjectile . _Just + j <- cr ^? crInv . ix i . itUse . uaParams . apProjectiles . ix 0 + guard $ Just REMOTESCREEN == cr ^? crInv . ix i . itType . ibtAttach w ^? cWorld . lWorld . projectiles . ix j . pjPos docamrot = rotateV (campos ^. camRot) offset = fromMaybe noscopeoffset $ do diff --git a/tags b/tags index f8c70231f..b8f25a325 100644 --- a/tags +++ b/tags @@ -16,7 +16,7 @@ <$> src/Dodge/Data/ActionPlan.hs 203;" o <$> src/Dodge/Data/CWorld.hs 49;" o <$> src/Dodge/Data/Camera.hs 39;" o -<$> src/Dodge/Data/Creature.hs 91;" o +<$> src/Dodge/Data/Creature.hs 88;" o <$> src/Dodge/Data/LWorld.hs 159;" o <$> src/Dodge/Data/Terminal.hs 131;" o AIUNIT src/Dodge/Data/Item/Combine.hs 53;" C @@ -24,10 +24,10 @@ ALTERIFLE src/Dodge/Data/Item/Combine.hs 139;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C AMR src/Dodge/Data/Item/Combine.hs 144;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 47;" C -APInt src/Dodge/Data/Item/Use.hs 76;" C -APLinkProjectile src/Dodge/Data/Item/Use.hs 72;" C -APNothing src/Dodge/Data/Item/Use.hs 77;" C -APProjectiles src/Dodge/Data/Item/Use.hs 74;" C +APInt src/Dodge/Data/Item/Use.hs 72;" C +APLinkProjectile src/Dodge/Data/Item/Use.hs 68;" C +APNothing src/Dodge/Data/Item/Use.hs 73;" C +APProjectiles src/Dodge/Data/Item/Use.hs 70;" C AQUAMARINE src/Color/Data.hs 24;" C ATTACH src/Dodge/Data/Item/Combine.hs 21;" C AUGMENTEDHUD src/Dodge/Data/Item/Combine.hs 81;" C @@ -45,9 +45,9 @@ Add src/Dodge/Inventory/Add.hs 1;" m AddGoal src/Dodge/Data/ActionPlan.hs 45;" C AesonHelp src/AesonHelp.hs 1;" m AimAt src/Dodge/Data/ActionPlan.hs 84;" C -AimParams src/Dodge/Data/Item/Use.hs 120;" t +AimParams src/Dodge/Data/Item/Use.hs 116;" t AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m -AimStance src/Dodge/Data/Item/Use.hs 189;" t +AimStance src/Dodge/Data/Item/Use.hs 185;" t Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C Airlock src/Dodge/Room/Airlock.hs 4;" m @@ -64,10 +64,10 @@ AmmoMagSF src/Dodge/Data/ComposedItem.hs 48;" C AmmoMagType src/Dodge/Data/Item/Combine.hs 85;" t AmmoModLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 54;" C -AmmoParams src/Dodge/Data/Item/Use.hs 113;" t +AmmoParams src/Dodge/Data/Item/Use.hs 109;" t AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 21;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 56;" C -AmmoPerShot src/Dodge/Data/Item/Use.hs 163;" t +AmmoPerShot src/Dodge/Data/Item/Use.hs 159;" t AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 20;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 55;" C AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" t @@ -96,7 +96,7 @@ AsteroidStrike src/Dodge/Data/Scenario.hs 33;" C AtEase src/Dodge/Data/Creature/Stance.hs 40;" C AtomicWaste src/Dodge/Data/Scenario.hs 26;" C Attach src/Dodge/Item/Attach.hs 1;" m -AttachParams src/Dodge/Data/Item/Use.hs 71;" t +AttachParams src/Dodge/Data/Item/Use.hs 67;" t AttachType src/Dodge/Data/Item/Combine.hs 70;" t Attention src/Dodge/Data/Creature/Perception.hs 60;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C @@ -107,7 +107,7 @@ AutoAI src/Dodge/Data/Creature/Misc.hs 56;" C AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 27;" C -AutoTrigger src/Dodge/Data/Item/Use.hs 68;" C +AutoTrigger src/Dodge/Data/Item/Use.hs 64;" C AuxAddition src/Shader/AuxAddition.hs 1;" m Avatar src/Dodge/Data/Creature/Misc.hs 70;" C Awareness src/Dodge/Data/Creature/Perception.hs 65;" t @@ -147,7 +147,7 @@ Base src/Picture/Base.hs 4;" m BasicBeamDraw src/Dodge/Data/Beam.hs 34;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 50;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 57;" C -BasicFlare src/Dodge/Data/Item/Use.hs 133;" C +BasicFlare src/Dodge/Data/Item/Use.hs 129;" C BatteryGuns src/Dodge/Item/Held/BatteryGuns.hs 1;" m BatteryGuns src/Dodge/Item/Weapon/BatteryGuns.hs 1;" m Beam src/Dodge/Data/Beam.hs 18;" t @@ -157,7 +157,7 @@ BeamCombine src/Dodge/Data/Beam.hs 47;" C BeamCombineType src/Dodge/Data/Beam.hs 38;" t BeamDraw src/Dodge/Data/Beam.hs 33;" t BeamDrawColor src/Dodge/Data/Beam.hs 35;" C -BeamShooterParams src/Dodge/Data/Item/Use.hs 94;" C +BeamShooterParams src/Dodge/Data/Item/Use.hs 90;" C BeamSimple src/Dodge/Data/Beam.hs 50;" C BeamType src/Dodge/Data/Beam.hs 46;" t BecomePowerful src/Dodge/Data/Scenario.hs 9;" C @@ -228,9 +228,9 @@ BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t BulletMod src/Dodge/Data/Item/BulletMod.hs 3;" m BulletModEffect src/Dodge/Data/Item/BulletMod.hs 12;" C BulletModPayload src/Dodge/Data/Item/BulletMod.hs 11;" C -BulletParams src/Dodge/Data/Item/Use.hs 114;" C +BulletParams src/Dodge/Data/Item/Use.hs 110;" C BulletPayload src/Dodge/Data/Bullet.hs 41;" t -BulletShooterParams src/Dodge/Data/Item/Use.hs 98;" C +BulletShooterParams src/Dodge/Data/Item/Use.hs 94;" C BulletTrajectory src/Dodge/Data/Bullet.hs 49;" t BulletTrajectoryType src/Dodge/Data/Bullet.hs 56;" t Button src/Dodge/Data/Button.hs 48;" t @@ -272,7 +272,7 @@ Camera src/Dodge/Data/Camera.hs 23;" t Camera src/Dodge/Camera.hs 1;" m Camera src/Dodge/Data/Camera.hs 5;" m Camera src/Dodge/Update/Camera.hs 4;" m -CameraScrollTimeFlow src/Dodge/Data/World.hs 68;" C +CameraScrollTimeFlow src/Dodge/Data/World.hs 66;" C CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 11;" t CamouflageStatus src/Dodge/Data/CamouflageStatus.hs 6;" m Cane src/Dodge/Item/Held/Cane.hs 1;" m @@ -282,7 +282,7 @@ CardinalPoint src/Dodge/Base/CardinalPoint.hs 1;" m CardinalPoint src/Dodge/Data/CardinalPoint.hs 1;" m Carriage src/Dodge/Data/Creature/Stance.hs 20;" t Carte src/Dodge/Render/HUD/Carte.hs 1;" m -ChainEffect src/Dodge/HeldUse.hs 45;" t +ChainEffect src/Dodge/HeldUse.hs 50;" t ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 43;" t ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C @@ -335,7 +335,7 @@ Combine src/Dodge/Combine.hs 2;" m Combine src/Dodge/Data/Combine.hs 2;" m Combine src/Dodge/Data/Item/Combine.hs 6;" m CombineInventory src/Dodge/Data/HUD.hs 37;" C -CombineInventoryChange src/Dodge/Data/World.hs 34;" C +CombineInventoryChange src/Dodge/Data/World.hs 32;" C Common src/Dodge/Zoning/Common.hs 1;" m Compile src/Shader/Compile.hs 1;" m Compose src/Dodge/Tree/Compose.hs 4;" m @@ -415,13 +415,13 @@ Create src/Dodge/Wall/Create.hs 1;" m CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C CreateShieldWall src/Dodge/Data/Item/Effect.hs 22;" C -Creature src/Dodge/Data/Creature.hs 36;" t +Creature src/Dodge/Data/Creature.hs 34;" t Creature src/Dodge/Creature.hs 1;" m Creature src/Dodge/Data/Creature.hs 7;" m Creature src/Dodge/Default/Creature.hs 1;" m Creature src/Dodge/Placement/Instance/Creature.hs 1;" m Creature src/Dodge/Zoning/Creature.hs 1;" m -CreatureCorpse src/Dodge/Data/Creature.hs 75;" t +CreatureCorpse src/Dodge/Data/Creature.hs 72;" t CreatureDropType src/Dodge/Data/Creature/State.hs 23;" t CreatureEffect src/Dodge/CreatureEffect.hs 1;" m CreatureEffect src/Dodge/Data/CreatureEffect.hs 6;" m @@ -473,7 +473,7 @@ Data src/Shader/Data.hs 6;" m Data src/Shape/Data.hs 9;" m Data src/ShapePicture/Data.hs 1;" m Data src/Sound/Data.hs 6;" m -DeathTime src/Dodge/Data/World.hs 59;" C +DeathTime src/Dodge/Data/World.hs 57;" C Debris src/Dodge/Block/Debris.hs 1;" m Debug src/Dodge/Debug.hs 2;" m DebugBool src/Dodge/Data/Config.hs 66;" t @@ -493,7 +493,7 @@ DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C -DefaultHeldParams src/Dodge/Data/Item/Use.hs 81;" C +DefaultHeldParams src/Dodge/Data/Item/Use.hs 77;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C DefaultTerminal src/Dodge/Data/Terminal.hs 54;" C @@ -684,7 +684,7 @@ FlameBeamCombine src/Dodge/Data/Beam.hs 39;" C FlameSound src/Dodge/Data/SoundOrigin.hs 27;" C Flamer src/Dodge/Data/SoundOrigin.hs 25;" C Flank src/Dodge/Data/ActionPlan.hs 177;" C -FlareType src/Dodge/Data/Item/Use.hs 131;" t +FlareType src/Dodge/Data/Item/Use.hs 127;" t FlashBall src/Dodge/Data/Bullet.hs 32;" C FlatFaces src/Shape/Data.hs 17;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 19;" C @@ -752,8 +752,8 @@ GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" t GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t -GasParams src/Dodge/Data/Item/Use.hs 116;" C -GasSprayParams src/Dodge/Data/Item/Use.hs 82;" C +GasParams src/Dodge/Data/Item/Use.hs 112;" C +GasSprayParams src/Dodge/Data/Item/Use.hs 78;" C GenCr src/Dodge/Data/Creature/State.hs 31;" C GenFloat src/Dodge/Data/GenFloat.hs 11;" t GenFloat src/Dodge/Data/GenFloat.hs 5;" m @@ -812,23 +812,23 @@ Hammer src/Dodge/Hammer.hs 1;" m HammerDown src/Dodge/Data/Hammer.hs 18;" C HammerPosition src/Dodge/Data/Hammer.hs 17;" t HammerReleased src/Dodge/Data/Hammer.hs 19;" C -HammerTrigger src/Dodge/Data/Item/Use.hs 68;" C +HammerTrigger src/Dodge/Data/Item/Use.hs 64;" C HammerType src/Dodge/Data/Hammer.hs 12;" t HammerUp src/Dodge/Data/Hammer.hs 20;" C HandPos src/Dodge/Creature/HandPos.hs 1;" m HardQuit src/Dodge/Data/Universe.hs 68;" C HasHammer src/Dodge/Data/Hammer.hs 14;" C -HeavySmokeFlare src/Dodge/Data/Item/Use.hs 136;" C +HeavySmokeFlare src/Dodge/Data/Item/Use.hs 132;" C Held src/Dodge/Item/Held.hs 1;" m HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m HeldItemType src/Dodge/Data/Item/Combine.hs 124;" t HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m -HeldParams src/Dodge/Data/Item/Use.hs 80;" t +HeldParams src/Dodge/Data/Item/Use.hs 76;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 39;" C HeldScroll src/Dodge/HeldScroll.hs 1;" m HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m HeldUse src/Dodge/HeldUse.hs 4;" m -HeldUseEffect src/Dodge/Data/Item/Use.hs 52;" t +HeldUseEffect src/Dodge/Data/Item/Use.hs 48;" t HelpNum src/HelpNum.hs 1;" m HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 47;" C @@ -903,14 +903,14 @@ IntAnno src/Dodge/Annotation/Data.hs 17;" C IntID src/Dodge/Data/Universe.hs 112;" t IntImp src/Dodge/Data/CreatureEffect.hs 20;" t IntMapHelp src/IntMapHelp.hs 8;" m -Intention src/Dodge/Data/Creature.hs 79;" t +Intention src/Dodge/Data/Creature.hs 76;" t Intention src/Dodge/Creature/Intention.hs 1;" m Intersect src/Geometry/Intersect.hs 5;" m IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C InvInt src/Dodge/Data/Item/Location.hs 19;" t InvSize src/Dodge/Item/InvSize.hs 2;" m Inventory src/Dodge/Inventory.hs 2;" m -InventoryChange src/Dodge/Data/World.hs 33;" C +InventoryChange src/Dodge/Data/World.hs 31;" C InventoryColor src/Dodge/Item/InventoryColor.hs 1;" m InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 14;" C InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C @@ -927,8 +927,8 @@ ItEffect src/Dodge/Data/Item/Effect.hs 12;" t ItEffect src/Dodge/ItEffect.hs 2;" m ItID src/Dodge/Data/Item.hs 29;" t ItInvEffect src/Dodge/Data/Item/Effect.hs 19;" t -ItTargeting src/Dodge/Data/Item.hs 56;" C -ItZoom src/Dodge/Data/Item/Use.hs 196;" t +ItTargeting src/Dodge/Data/Item.hs 55;" C +ItZoom src/Dodge/Data/Item/Use.hs 192;" t Item src/Dodge/Data/Item.hs 41;" t Item src/Dodge/Data/Item.hs 4;" m Item src/Dodge/Default/Item.hs 1;" m @@ -939,11 +939,11 @@ ItemLink src/Dodge/Data/ComposedItem.hs 65;" t ItemLocation src/Dodge/Data/Item/Location.hs 28;" t ItemParams src/Dodge/Data/Item/Params.hs 13;" t ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m -ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C +ItemScrollTimeFlow src/Dodge/Data/World.hs 60;" C ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 37;" t -ItemTargeting src/Dodge/Data/Item.hs 55;" t +ItemTargeting src/Dodge/Data/Item.hs 54;" t ItemType src/Dodge/Data/Item/Combine.hs 16;" t -ItemUse src/Dodge/Data/Item/Use.hs 34;" t +ItemUse src/Dodge/Data/Item/Use.hs 32;" t ItmCrWdWd src/Dodge/Data/Item/Use/Equipment.hs 28;" t ItmCrWdWdDoNothing src/Dodge/Data/Item/Use/Equipment.hs 29;" C ItmInt src/Dodge/Data/Item/Location.hs 25;" t @@ -990,7 +990,7 @@ Lampoid src/Dodge/Data/Creature/Misc.hs 83;" C Lampoid src/Dodge/Lampoid.hs 1;" m Large src/Shape/Data.hs 29;" C LasBeamCombine src/Dodge/Data/Beam.hs 40;" C -LasGunFlare src/Dodge/Data/Item/Use.hs 137;" C +LasGunFlare src/Dodge/Data/Item/Use.hs 133;" C LasSound src/Dodge/Data/SoundOrigin.hs 28;" C LasTurret src/Dodge/Room/LasTurret.hs 1;" m Laser src/Dodge/Data/Laser.hs 30;" t @@ -1114,7 +1114,7 @@ Main appDodge/Main.hs 1;" m Make src/Dodge/Corpse/Make.hs 1;" m MakeAutoLink src/Dodge/Data/ComposedItem.hs 31;" C MakeAutoSF src/Dodge/Data/ComposedItem.hs 59;" C -MakeDefaultCorpse src/Dodge/Data/Creature.hs 75;" C +MakeDefaultCorpse src/Dodge/Data/Creature.hs 72;" C MakeSound src/Dodge/Data/ActionPlan.hs 43;" C MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 30;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 34;" C @@ -1160,7 +1160,7 @@ Metapysics src/Dodge/Data/Scenario.hs 17;" t Military src/Dodge/Data/Scenario.hs 45;" C Mine src/Dodge/Data/Scenario.hs 64;" C MiniGunAI src/Dodge/Data/Creature/Misc.hs 58;" C -MiniGunFlare src/Dodge/Data/Item/Use.hs 135;" C +MiniGunFlare src/Dodge/Data/Item/Use.hs 131;" C Misc src/Dodge/Data/Creature/Misc.hs 6;" m Misc src/Dodge/Data/Equipment/Misc.hs 6;" m Misc src/Dodge/Data/Item/Misc.hs 6;" m @@ -1193,23 +1193,23 @@ Multiset src/Multiset.hs 4;" m Music src/Music.hs 1;" m MusicData src/Music.hs 7;" t Mute src/Dodge/Data/Creature/Misc.hs 28;" C -Muzzle src/Dodge/Data/Item/Use.hs 168;" t -MuzzleBlink src/Dodge/Data/Item/Use.hs 156;" C -MuzzleDetector src/Dodge/Data/Item/Use.hs 155;" C -MuzzleEffect src/Dodge/Data/Item/Use.hs 141;" t +Muzzle src/Dodge/Data/Item/Use.hs 164;" t +MuzzleBlink src/Dodge/Data/Item/Use.hs 152;" C +MuzzleDetector src/Dodge/Data/Item/Use.hs 151;" C +MuzzleEffect src/Dodge/Data/Item/Use.hs 137;" t MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 5;" m -MuzzleGLauncher src/Dodge/Data/Item/Use.hs 147;" C -MuzzleLaser src/Dodge/Data/Item/Use.hs 143;" C -MuzzleNozzle src/Dodge/Data/Item/Use.hs 148;" C -MuzzleRLauncher src/Dodge/Data/Item/Use.hs 146;" C -MuzzleRewind src/Dodge/Data/Item/Use.hs 158;" C -MuzzleScroller src/Dodge/Data/Item/Use.hs 160;" C -MuzzleShatter src/Dodge/Data/Item/Use.hs 154;" C -MuzzleShootBullet src/Dodge/Data/Item/Use.hs 142;" C -MuzzleStopper src/Dodge/Data/Item/Use.hs 159;" C -MuzzleTesla src/Dodge/Data/Item/Use.hs 144;" C -MuzzleTractor src/Dodge/Data/Item/Use.hs 145;" C -MuzzleUnsafeBlink src/Dodge/Data/Item/Use.hs 157;" C +MuzzleGLauncher src/Dodge/Data/Item/Use.hs 143;" C +MuzzleLaser src/Dodge/Data/Item/Use.hs 139;" C +MuzzleNozzle src/Dodge/Data/Item/Use.hs 144;" C +MuzzleRLauncher src/Dodge/Data/Item/Use.hs 142;" C +MuzzleRewind src/Dodge/Data/Item/Use.hs 154;" C +MuzzleScroller src/Dodge/Data/Item/Use.hs 156;" C +MuzzleShatter src/Dodge/Data/Item/Use.hs 150;" C +MuzzleShootBullet src/Dodge/Data/Item/Use.hs 138;" C +MuzzleStopper src/Dodge/Data/Item/Use.hs 155;" C +MuzzleTesla src/Dodge/Data/Item/Use.hs 140;" C +MuzzleTractor src/Dodge/Data/Item/Use.hs 141;" C +MuzzleUnsafeBlink src/Dodge/Data/Item/Use.hs 153;" C MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C MvWalking src/Dodge/Data/Creature/Misc.hs 39;" C @@ -1232,7 +1232,7 @@ NewSideEffect src/Dodge/Data/Universe.hs 63;" C NextArcStep src/Dodge/Data/ArcStep.hs 21;" t Ngon src/Dodge/Room/Ngon.hs 1;" m NoAction src/Dodge/Data/ActionPlan.hs 152;" C -NoAmmoParams src/Dodge/Data/Item/Use.hs 117;" C +NoAmmoParams src/Dodge/Data/Item/Use.hs 113;" C NoArguments src/Dodge/Data/Terminal.hs 95;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -1247,14 +1247,14 @@ NoDropEffect src/Dodge/Data/Item/Effect.hs 28;" C NoEquipParams src/Dodge/Data/Item/Use/Equipment.hs 36;" C NoEscapeMenuOption src/Dodge/Data/Universe.hs 77;" C NoFaction src/Dodge/Data/Creature/State.hs 40;" C -NoFlare src/Dodge/Data/Item/Use.hs 132;" C +NoFlare src/Dodge/Data/Item/Use.hs 128;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C -NoHeldUseEffect src/Dodge/Data/Item/Use.hs 53;" C +NoHeldUseEffect src/Dodge/Data/Item/Use.hs 49;" C NoHoming src/Dodge/Data/Projectile.hs 46;" C NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C -NoItTargeting src/Dodge/Data/Item.hs 55;" C -NoLightFlare src/Dodge/Data/Item/Use.hs 134;" C +NoItTargeting src/Dodge/Data/Item.hs 54;" C +NoLightFlare src/Dodge/Data/Item/Use.hs 130;" C NoLighting src/Dodge/Data/Config.hs 104;" C NoMouseContext src/Dodge/Data/Input.hs 20;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C @@ -1277,7 +1277,7 @@ NodeTree src/Dodge/Data/MetaTree.hs 13;" C NodeTree src/Dodge/Tree/Compose/Data.hs 9;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C NormalOptions src/Dodge/Data/Universe.hs 70;" C -NormalTimeFlow src/Dodge/Data/World.hs 61;" C +NormalTimeFlow src/Dodge/Data/World.hs 59;" C North src/Dodge/Data/CardinalPoint.hs 4;" C North8 src/Dodge/Data/CardinalPoint.hs 11;" C NorthEast8 src/Dodge/Data/CardinalPoint.hs 12;" C @@ -1335,7 +1335,7 @@ OnSpecial src/Dodge/Data/Equipment/Misc.hs 28;" C OnTurret src/Dodge/Data/Item/Location.hs 37;" C OnceSound src/Dodge/Data/SoundOrigin.hs 16;" C OneArgument src/Dodge/Data/Terminal.hs 96;" C -OneHand src/Dodge/Data/Item/Use.hs 193;" C +OneHand src/Dodge/Data/Item/Use.hs 189;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardList src/Dodge/Annotation/Data.hs 16;" C Opacity src/Dodge/Data/Wall.hs 38;" t @@ -1404,7 +1404,7 @@ PathTo src/Dodge/Data/ActionPlan.hs 88;" C Pathing src/Dodge/Data/Config.hs 76;" C Pathing src/Dodge/Zoning/Pathing.hs 1;" m Patrol src/Dodge/Data/ActionPlan.hs 180;" C -PausedTimeFlow src/Dodge/Data/World.hs 77;" C +PausedTimeFlow src/Dodge/Data/World.hs 75;" C Payload src/Dodge/Data/Payload.hs 11;" t Payload src/Dodge/Data/Payload.hs 6;" m Payload src/Dodge/Payload.hs 1;" m @@ -1474,7 +1474,7 @@ Procedural src/Dodge/Room/Procedural.hs 2;" m Projectile src/Dodge/Data/Projectile.hs 16;" t Projectile src/Dodge/Data/Projectile.hs 6;" m Projectile src/Dodge/Projectile.hs 1;" m -ProjectileParams src/Dodge/Data/Item/Use.hs 115;" C +ProjectileParams src/Dodge/Data/Item/Use.hs 111;" C ProjectileStabiliserLink src/Dodge/Data/ComposedItem.hs 32;" C ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 60;" C ProjectileType src/Dodge/Data/Projectile.hs 34;" t @@ -1574,7 +1574,7 @@ RandomHelp src/RandomHelp.hs 3;" m RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C RandomPlacement src/Dodge/Data/GenWorld.hs 84;" C RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C -RandomiseMuzzleFrames src/Dodge/Data/Item/Use.hs 54;" C +RandomiseMuzzleFrames src/Dodge/Data/Item/Use.hs 50;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m RecRoomSS src/Dodge/Data/Scenario.hs 103;" C @@ -1607,7 +1607,7 @@ ResourceFailure src/Dodge/Data/Scenario.hs 29;" C RetailFacility src/Dodge/Data/Scenario.hs 67;" C RetiredProjectile src/Dodge/Data/Projectile.hs 42;" C Revenge src/Dodge/Data/Scenario.hs 6;" C -RewindLeftClick src/Dodge/Data/World.hs 73;" C +RewindLeftClick src/Dodge/Data/World.hs 71;" C RezBaySS src/Dodge/Data/Scenario.hs 105;" C RezBox src/Dodge/Room/RezBox.hs 1;" m RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 13;" t @@ -1849,7 +1849,7 @@ SwarmAI src/Dodge/Data/Creature/Misc.hs 55;" C SwarmCrit src/Dodge/Creature/SwarmCrit.hs 1;" m SwarmPlacement src/Dodge/LevelGen/SwarmPlacement.hs 1;" m Switch src/Dodge/LevelGen/Switch.hs 1;" m -SwitchAlteRifle src/Dodge/Data/Item/Use.hs 55;" C +SwitchAlteRifle src/Dodge/Data/Item/Use.hs 51;" C SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C TAPE src/Dodge/Data/Item/Combine.hs 34;" C TARGETING src/Dodge/Data/Item/Combine.hs 23;" C @@ -1929,7 +1929,7 @@ TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t TeslaArc src/Dodge/Data/TeslaArc.hs 6;" m TeslaBall src/Dodge/Data/Bullet.hs 31;" C TeslaBeamCombine src/Dodge/Data/Beam.hs 41;" C -TeslaGunFlare src/Dodge/Data/Item/Use.hs 138;" C +TeslaGunFlare src/Dodge/Data/Item/Use.hs 134;" C Test src/Dodge/Creature/Test.hs 8;" m Test src/Dodge/Event/Test.hs 1;" m Test src/Picture/Test.hs 1;" m @@ -1946,7 +1946,7 @@ Tile src/Data/Tile.hs 3;" m Tile src/Dodge/Tile.hs 1;" m Tile src/Tile.hs 2;" m Tiled src/Data/Tile.hs 13;" C -TimeFlowStatus src/Dodge/Data/World.hs 58;" t +TimeFlowStatus src/Dodge/Data/World.hs 56;" t Tiny src/Shape/Data.hs 32;" C TmId src/Dodge/Data/Terminal.hs 60;" C TmTm src/Dodge/Data/Terminal.hs 59;" t @@ -1986,7 +1986,7 @@ Trie src/SimpleTrie.hs 9;" t TriggerDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 1;" m TriggerLink src/Dodge/Data/ComposedItem.hs 18;" C TriggerSF src/Dodge/Data/ComposedItem.hs 46;" C -TriggerType src/Dodge/Data/Item/Use.hs 68;" t +TriggerType src/Dodge/Data/Item/Use.hs 64;" t TriggerType src/Dodge/Item/Weapon/TriggerType.hs 6;" m TurbineBaySS src/Dodge/Data/Scenario.hs 110;" C Turn src/Dodge/Data/ActionPlan.hs 30;" C @@ -1999,9 +1999,9 @@ Turret src/Dodge/Data/Machine.hs 57;" t Turret src/Dodge/Placement/Instance/Turret.hs 1;" m TurretInt src/Dodge/Data/Item/Location.hs 21;" t TwistGoal src/Dodge/Data/Scenario.hs 15;" C -TwoHandFlat src/Dodge/Data/Item/Use.hs 192;" C -TwoHandOver src/Dodge/Data/Item/Use.hs 191;" C -TwoHandUnder src/Dodge/Data/Item/Use.hs 190;" C +TwoHandFlat src/Dodge/Data/Item/Use.hs 188;" C +TwoHandOver src/Dodge/Data/Item/Use.hs 187;" C +TwoHandUnder src/Dodge/Data/Item/Use.hs 186;" C Type src/Dodge/Data/Damage/Type.hs 6;" m Type src/Dodge/Terminal/Type.hs 1;" m Typical src/Shape/Data.hs 36;" C @@ -2037,28 +2037,27 @@ Update src/Preload/Update.hs 3;" m Use src/Dodge/Data/Item/Use.hs 6;" m Use src/Dodge/Default/Item/Use.hs 1;" m UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C -UseAttach src/Dodge/Data/Item/Use.hs 45;" C -UseBulletMod src/Dodge/Data/Item/Use.hs 49;" C -UseCondition src/Dodge/Data/Item/Use.hs 63;" t +UseAttach src/Dodge/Data/Item/Use.hs 42;" C +UseBulletMod src/Dodge/Data/Item/Use.hs 45;" C +UseCondition src/Dodge/Data/Item/Use.hs 59;" t UseDelay src/Dodge/Data/Item/HeldDelay.hs 13;" t -UseEquip src/Dodge/Data/Item/Use.hs 44;" C -UseExactly src/Dodge/Data/Item/Use.hs 164;" C -UseFocus src/Dodge/Data/Item/Use.hs 58;" t -UseFromLocation src/Dodge/Data/Item/Use.hs 60;" C -UseFromRoot src/Dodge/Data/Item/Use.hs 59;" C -UseHammer src/Dodge/Data/Item/Use.hs 46;" C -UseHeld src/Dodge/Data/Item/Use.hs 35;" C +UseEquip src/Dodge/Data/Item/Use.hs 41;" C +UseExactly src/Dodge/Data/Item/Use.hs 160;" C +UseFocus src/Dodge/Data/Item/Use.hs 54;" t +UseFromLocation src/Dodge/Data/Item/Use.hs 56;" C +UseFromRoot src/Dodge/Data/Item/Use.hs 55;" C +UseHeld src/Dodge/Data/Item/Use.hs 33;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C -UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m +UseItem src/Dodge/Creature/Impulse/UseItem.hs 3;" m UseItemWidth src/Dodge/Data/SelectionList.hs 41;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C -UseNothing src/Dodge/Data/Item/Use.hs 47;" C -UseScope src/Dodge/Data/Item/Use.hs 48;" C +UseNothing src/Dodge/Data/Item/Use.hs 43;" C +UseScope src/Dodge/Data/Item/Use.hs 44;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseTarget src/Dodge/Data/ActionPlan.hs 154;" C -UseUpTo src/Dodge/Data/Item/Use.hs 165;" C -UseableAnytime src/Dodge/Data/Item/Use.hs 65;" C -UseableWhenAimed src/Dodge/Data/Item/Use.hs 64;" C +UseUpTo src/Dodge/Data/Item/Use.hs 161;" C +UseableAnytime src/Dodge/Data/Item/Use.hs 61;" C +UseableWhenAimed src/Dodge/Data/Item/Use.hs 60;" C UsedInLink src/Dodge/Data/Room.hs 61;" C UsedOutLink src/Dodge/Data/Room.hs 56;" C Utility src/Dodge/Item/Held/Utility.hs 1;" m @@ -2155,7 +2154,7 @@ WindowSize src/Dodge/WindowSize.hs 1;" m Wire src/Dodge/Wire.hs 1;" m WlID src/Dodge/Data/CrWlID.hs 12;" C Wood src/Dodge/Data/Material.hs 11;" C -World src/Dodge/Data/World.hs 37;" t +World src/Dodge/Data/World.hs 35;" t World src/Dodge/Data/World.hs 6;" m World src/Dodge/Default/World.hs 1;" m World src/Dodge/Zoning/World.hs 1;" m @@ -2164,7 +2163,7 @@ WorldEffect src/Dodge/Data/WorldEffect.hs 6;" m WorldEffect src/Dodge/WorldEffect.hs 1;" m WorldEffects src/Dodge/Data/WorldEffect.hs 25;" C WorldEvent src/Dodge/WorldEvent.hs 1;" m -WorldEventFlag src/Dodge/Data/World.hs 32;" t +WorldEventFlag src/Dodge/Data/World.hs 30;" t WorldGovernment src/Dodge/Data/Scenario.hs 52;" C WorldLoad src/Dodge/WorldLoad.hs 1;" m WorldPos src/Dodge/WorldPos.hs 1;" m @@ -2179,13 +2178,13 @@ Zoning src/Dodge/Zoning.hs 1;" m __Just' src/MaybeHelp.hs 13;" f _actAction src/Dodge/Data/ActionPlan.hs 81;" f _actLabel src/Dodge/Data/ActionPlan.hs 80;" f -_aimHandlePos src/Dodge/Data/Item/Use.hs 126;" f -_aimMuzzles src/Dodge/Data/Item/Use.hs 127;" f -_aimRange src/Dodge/Data/Item/Use.hs 123;" f -_aimStance src/Dodge/Data/Item/Use.hs 125;" f -_aimTurnSpeed src/Dodge/Data/Item/Use.hs 122;" f -_aimWeight src/Dodge/Data/Item/Use.hs 121;" f -_aimZoom src/Dodge/Data/Item/Use.hs 124;" f +_aimHandlePos src/Dodge/Data/Item/Use.hs 122;" f +_aimMuzzles src/Dodge/Data/Item/Use.hs 123;" f +_aimRange src/Dodge/Data/Item/Use.hs 119;" f +_aimStance src/Dodge/Data/Item/Use.hs 121;" f +_aimTurnSpeed src/Dodge/Data/Item/Use.hs 118;" f +_aimWeight src/Dodge/Data/Item/Use.hs 117;" f +_aimZoom src/Dodge/Data/Item/Use.hs 120;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 24;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 28;" f @@ -2197,15 +2196,15 @@ _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 34;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 30;" f _alphaDivideShader src/Data/Preload/Render.hs 18;" f _ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f -_ampBullet src/Dodge/Data/Item/Use.hs 114;" f -_ampCreateGas src/Dodge/Data/Item/Use.hs 116;" f -_ampPayload src/Dodge/Data/Item/Use.hs 115;" f +_ampBullet src/Dodge/Data/Item/Use.hs 110;" f +_ampCreateGas src/Dodge/Data/Item/Use.hs 112;" f +_ampPayload src/Dodge/Data/Item/Use.hs 111;" f _apAction src/Dodge/Data/ActionPlan.hs 20;" f _apGoal src/Dodge/Data/ActionPlan.hs 22;" f _apImpulse src/Dodge/Data/ActionPlan.hs 19;" f -_apInt src/Dodge/Data/Item/Use.hs 76;" f -_apLinkedProjectile src/Dodge/Data/Item/Use.hs 73;" f -_apProjectiles src/Dodge/Data/Item/Use.hs 75;" f +_apInt src/Dodge/Data/Item/Use.hs 72;" f +_apLinkedProjectile src/Dodge/Data/Item/Use.hs 69;" f +_apProjectiles src/Dodge/Data/Item/Use.hs 71;" f _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _arLoaded src/Dodge/Data/Item/Use/Consumption.hs 28;" f _arMax src/Dodge/Data/Item/Use/Consumption.hs 29;" f @@ -2280,13 +2279,13 @@ _buPayload src/Dodge/Data/Bullet.hs 19;" f _buPos src/Dodge/Data/Bullet.hs 23;" f _buVel src/Dodge/Data/Bullet.hs 21;" f _buWidth src/Dodge/Data/Bullet.hs 25;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 88;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 95;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 105;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 84;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 91;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 101;" f _bullets src/Dodge/Data/LWorld.hs 106;" f _buttons src/Dodge/Data/LWorld.hs 135;" f _cClock src/Dodge/Data/CWorld.hs 28;" f -_cWorld src/Dodge/Data/World.hs 38;" f +_cWorld src/Dodge/Data/World.hs 36;" f _camBoundBox src/Dodge/Data/Camera.hs 31;" f _camBoundDist src/Dodge/Data/Camera.hs 32;" f _camCenter src/Dodge/Data/Camera.hs 24;" f @@ -2316,7 +2315,7 @@ _clRad src/Dodge/Data/Cloud.hs 22;" f _clTimer src/Dodge/Data/Cloud.hs 24;" f _clType src/Dodge/Data/Cloud.hs 25;" f _clVel src/Dodge/Data/Cloud.hs 20;" f -_clZoning src/Dodge/Data/World.hs 50;" f +_clZoning src/Dodge/Data/World.hs 48;" f _cldtCloseLeft src/Dodge/Data/DoubleTree.hs 52;" f _cldtCloseLeft src/Dodge/Data/DoubleTree.hs 61;" f _cldtCloseRight src/Dodge/Data/DoubleTree.hs 55;" f @@ -2357,47 +2356,47 @@ _cpRes src/Dodge/Data/Corpse.hs 22;" f _cpSPic src/Dodge/Data/Corpse.hs 21;" f _cpVigilance src/Dodge/Data/Creature/Perception.hs 33;" f _cpVision src/Dodge/Data/Creature/Perception.hs 36;" f -_crActionPlan src/Dodge/Data/Creature.hs 60;" f -_crCorpse src/Dodge/Data/Creature.hs 56;" f -_crDeathTimer src/Dodge/Data/Creature.hs 72;" f -_crDir src/Dodge/Data/Creature.hs 39;" f -_crEquipment src/Dodge/Data/Creature.hs 54;" f -_crFaction src/Dodge/Data/Creature.hs 65;" f -_crGroup src/Dodge/Data/Creature.hs 66;" f +_crActionPlan src/Dodge/Data/Creature.hs 58;" f +_crCorpse src/Dodge/Data/Creature.hs 54;" f +_crDeathTimer src/Dodge/Data/Creature.hs 69;" f +_crDir src/Dodge/Data/Creature.hs 37;" f +_crEquipment src/Dodge/Data/Creature.hs 52;" f +_crFaction src/Dodge/Data/Creature.hs 63;" f +_crGroup src/Dodge/Data/Creature.hs 64;" f _crGroupCenter src/Dodge/Data/CrGroupParams.hs 17;" f _crGroupID src/Dodge/Data/Creature/State.hs 49;" f _crGroupIDs src/Dodge/Data/CrGroupParams.hs 16;" f _crGroupParamID src/Dodge/Data/CrGroupParams.hs 15;" f _crGroupUpdate src/Dodge/Data/CrGroupParams.hs 18;" f -_crHP src/Dodge/Data/Creature.hs 48;" f -_crID src/Dodge/Data/Creature.hs 45;" f -_crIntention src/Dodge/Data/Creature.hs 67;" f -_crInv src/Dodge/Data/Creature.hs 50;" f -_crInvCapacity src/Dodge/Data/Creature.hs 52;" f -_crInvLock src/Dodge/Data/Creature.hs 53;" f -_crManipulation src/Dodge/Data/Creature.hs 51;" f -_crMass src/Dodge/Data/Creature.hs 47;" f -_crMaterial src/Dodge/Data/Creature.hs 57;" f -_crMaxHP src/Dodge/Data/Creature.hs 49;" f -_crMeleeCooldown src/Dodge/Data/Creature.hs 61;" f -_crMemory src/Dodge/Data/Creature.hs 63;" f -_crMvAim src/Dodge/Data/Creature.hs 42;" f -_crMvDir src/Dodge/Data/Creature.hs 41;" f -_crMvType src/Dodge/Data/Creature.hs 68;" f -_crName src/Dodge/Data/Creature.hs 70;" f -_crOldDir src/Dodge/Data/Creature.hs 40;" f -_crOldPos src/Dodge/Data/Creature.hs 38;" f -_crPastDamage src/Dodge/Data/Creature.hs 58;" f -_crPerception src/Dodge/Data/Creature.hs 62;" f -_crPos src/Dodge/Data/Creature.hs 37;" f -_crRad src/Dodge/Data/Creature.hs 46;" f -_crStance src/Dodge/Data/Creature.hs 59;" f -_crState src/Dodge/Data/Creature.hs 55;" f -_crStatistics src/Dodge/Data/Creature.hs 71;" f -_crTwist src/Dodge/Data/Creature.hs 43;" f -_crType src/Dodge/Data/Creature.hs 44;" f -_crVocalization src/Dodge/Data/Creature.hs 64;" f -_crZoning src/Dodge/Data/World.hs 49;" f +_crHP src/Dodge/Data/Creature.hs 46;" f +_crID src/Dodge/Data/Creature.hs 43;" f +_crIntention src/Dodge/Data/Creature.hs 65;" f +_crInv src/Dodge/Data/Creature.hs 48;" f +_crInvCapacity src/Dodge/Data/Creature.hs 50;" f +_crInvLock src/Dodge/Data/Creature.hs 51;" f +_crManipulation src/Dodge/Data/Creature.hs 49;" f +_crMass src/Dodge/Data/Creature.hs 45;" f +_crMaterial src/Dodge/Data/Creature.hs 55;" f +_crMaxHP src/Dodge/Data/Creature.hs 47;" f +_crMeleeCooldown src/Dodge/Data/Creature.hs 59;" f +_crMemory src/Dodge/Data/Creature.hs 61;" f +_crMvAim src/Dodge/Data/Creature.hs 40;" f +_crMvDir src/Dodge/Data/Creature.hs 39;" f +_crMvType src/Dodge/Data/Creature.hs 66;" f +_crName src/Dodge/Data/Creature.hs 67;" f +_crOldDir src/Dodge/Data/Creature.hs 38;" f +_crOldPos src/Dodge/Data/Creature.hs 36;" f +_crPastDamage src/Dodge/Data/Creature.hs 56;" f +_crPerception src/Dodge/Data/Creature.hs 60;" f +_crPos src/Dodge/Data/Creature.hs 35;" f +_crRad src/Dodge/Data/Creature.hs 44;" f +_crStance src/Dodge/Data/Creature.hs 57;" f +_crState src/Dodge/Data/Creature.hs 53;" f +_crStatistics src/Dodge/Data/Creature.hs 68;" f +_crTwist src/Dodge/Data/Creature.hs 41;" f +_crType src/Dodge/Data/Creature.hs 42;" f +_crVocalization src/Dodge/Data/Creature.hs 62;" f +_crZoning src/Dodge/Data/World.hs 47;" f _creatureGroups src/Dodge/Data/LWorld.hs 99;" f _creatures src/Dodge/Data/LWorld.hs 98;" f _csDamage src/Dodge/Data/Creature/State.hs 17;" f @@ -2421,7 +2420,7 @@ _dePushBack src/Dodge/Data/Damage.hs 28;" f _dePushExp src/Dodge/Data/Damage.hs 24;" f _dePushRadius src/Dodge/Data/Damage.hs 25;" f _deTorque src/Dodge/Data/Damage.hs 27;" f -_deathDelay src/Dodge/Data/World.hs 60;" f +_deathDelay src/Dodge/Data/World.hs 58;" f _debugInfo src/Dodge/Data/Universe.hs 52;" f _debugInt src/Dodge/Data/Universe.hs 60;" f _debugMInt src/Dodge/Data/Universe.hs 59;" f @@ -2542,10 +2541,10 @@ _fsPos src/Dodge/Data/ForegroundShape.hs 16;" f _fsRad src/Dodge/Data/ForegroundShape.hs 18;" f _fsSPic src/Dodge/Data/ForegroundShape.hs 19;" f _fullscreenShader src/Data/Preload/Render.hs 20;" f -_futureWorlds src/Dodge/Data/World.hs 65;" f -_futureWorlds src/Dodge/Data/World.hs 71;" f +_futureWorlds src/Dodge/Data/World.hs 63;" f +_futureWorlds src/Dodge/Data/World.hs 69;" f _gameplay_rotate_to_wall src/Dodge/Data/Config.hs 55;" f -_gasCreation src/Dodge/Data/Item/Use.hs 83;" f +_gasCreation src/Dodge/Data/Item/Use.hs 79;" f _genPlacements src/Dodge/Data/GenWorld.hs 25;" f _genRooms src/Dodge/Data/GenWorld.hs 26;" f _getAttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" f @@ -2572,7 +2571,7 @@ _graphics_shadow_rendering src/Dodge/Data/Config.hs 45;" f _graphics_shadow_size src/Dodge/Data/Config.hs 46;" f _graphics_world_resolution src/Dodge/Data/Config.hs 48;" f _grayscaleShader src/Data/Preload/Render.hs 24;" f -_gsZoning src/Dodge/Data/World.hs 54;" f +_gsZoning src/Dodge/Data/World.hs 52;" f _guID src/Dodge/Data/Gust.hs 14;" f _guPos src/Dodge/Data/Gust.hs 15;" f _guTime src/Dodge/Data/Gust.hs 17;" f @@ -2580,18 +2579,16 @@ _guVel src/Dodge/Data/Gust.hs 16;" f _gusts src/Dodge/Data/LWorld.hs 102;" f _gwWorld src/Dodge/Data/GenWorld.hs 24;" f _hammerPosition src/Dodge/Data/Hammer.hs 14;" f -_heldAim src/Dodge/Data/Item/Use.hs 38;" f -_heldDelay src/Dodge/Data/Item/Use.hs 36;" f -_heldFrame src/Dodge/Data/Item/Use.hs 41;" f -_heldHammer src/Dodge/Data/Item/Use.hs 37;" f -_heldHammer src/Dodge/Data/Item/Use.hs 46;" f -_heldParams src/Dodge/Data/Item/Use.hs 39;" f +_heldAim src/Dodge/Data/Item/Use.hs 35;" f +_heldDelay src/Dodge/Data/Item/Use.hs 34;" f +_heldFrame src/Dodge/Data/Item/Use.hs 38;" f +_heldParams src/Dodge/Data/Item/Use.hs 36;" f _heldPos src/Dodge/Data/Input.hs 51;" f -_heldTriggerType src/Dodge/Data/Item/Use.hs 40;" f -_heldUseEffect src/Dodge/Data/Item/Use.hs 42;" f +_heldTriggerType src/Dodge/Data/Item/Use.hs 37;" f +_heldUseEffect src/Dodge/Data/Item/Use.hs 39;" f _heldWorldPos src/Dodge/Data/Input.hs 53;" f _hotkeys src/Dodge/Data/LWorld.hs 146;" f -_hud src/Dodge/Data/World.hs 47;" f +_hud src/Dodge/Data/World.hs 45;" f _hudElement src/Dodge/Data/HUD.hs 46;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 80;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f @@ -2626,30 +2623,30 @@ _impulseUseAheadPos src/Dodge/Data/ActionPlan.hs 56;" f _impulseUseTarget src/Dodge/Data/ActionPlan.hs 53;" f _impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f -_input src/Dodge/Data/World.hs 44;" f +_input src/Dodge/Data/World.hs 42;" f _intelligence src/Dodge/Data/Creature/Misc.hs 23;" f _ipPlacement src/Dodge/Data/GenWorld.hs 132;" f _ipPlacementID src/Dodge/Data/GenWorld.hs 133;" f _isLooping src/Sound/Data.hs 19;" f _ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" f _ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" f -_itAmmoSlots src/Dodge/Data/Item.hs 51;" f -_itConsumables src/Dodge/Data/Item.hs 45;" f -_itEffect src/Dodge/Data/Item.hs 49;" f -_itID src/Dodge/Data/Item.hs 47;" f -_itLocation src/Dodge/Data/Item.hs 48;" f -_itParams src/Dodge/Data/Item.hs 52;" f -_itTargeting src/Dodge/Data/Item.hs 50;" f -_itTgActive src/Dodge/Data/Item.hs 59;" f -_itTgID src/Dodge/Data/Item.hs 58;" f -_itTgPos src/Dodge/Data/Item.hs 57;" f -_itType src/Dodge/Data/Item.hs 46;" f +_itAmmoSlots src/Dodge/Data/Item.hs 50;" f +_itConsumables src/Dodge/Data/Item.hs 44;" f +_itEffect src/Dodge/Data/Item.hs 48;" f +_itID src/Dodge/Data/Item.hs 46;" f +_itLocation src/Dodge/Data/Item.hs 47;" f +_itParams src/Dodge/Data/Item.hs 51;" f +_itTargeting src/Dodge/Data/Item.hs 49;" f +_itTgActive src/Dodge/Data/Item.hs 58;" f +_itTgID src/Dodge/Data/Item.hs 57;" f +_itTgPos src/Dodge/Data/Item.hs 56;" f +_itType src/Dodge/Data/Item.hs 45;" f _itUse src/Dodge/Data/Item.hs 42;" f _itUseCondition src/Dodge/Data/Item.hs 43;" f _itemLocations src/Dodge/Data/LWorld.hs 100;" f -_izFac src/Dodge/Data/Item/Use.hs 199;" f -_izMax src/Dodge/Data/Item/Use.hs 197;" f -_izMin src/Dodge/Data/Item/Use.hs 198;" f +_izFac src/Dodge/Data/Item/Use.hs 195;" f +_izMax src/Dodge/Data/Item/Use.hs 193;" f +_izMin src/Dodge/Data/Item/Use.hs 194;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 143;" f _lTestInt src/Dodge/Data/LWorld.hs 145;" f @@ -2775,20 +2772,20 @@ _mtLabel src/Dodge/Tree/Compose/Data.hs 8;" f _mtTree src/Dodge/Data/MetaTree.hs 10;" f _mtTree src/Dodge/Tree/Compose/Data.hs 8;" f _musicData src/Data/Preload.hs 13;" f -_muzVel src/Dodge/Data/Item/Use.hs 99;" f +_muzVel src/Dodge/Data/Item/Use.hs 95;" f _mvAimSpeed src/Dodge/Data/Creature/Misc.hs 44;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 39;" f -_mvToPoint src/Dodge/Data/Creature.hs 81;" f +_mvToPoint src/Dodge/Data/Creature.hs 78;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 43;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 42;" f -_mzAmmoPerShot src/Dodge/Data/Item/Use.hs 175;" f -_mzAmmoSlot src/Dodge/Data/Item/Use.hs 172;" f -_mzEffect src/Dodge/Data/Item/Use.hs 174;" f -_mzFlareType src/Dodge/Data/Item/Use.hs 173;" f -_mzFrame src/Dodge/Data/Item/Use.hs 176;" f -_mzInaccuracy src/Dodge/Data/Item/Use.hs 171;" f -_mzPos src/Dodge/Data/Item/Use.hs 169;" f -_mzRot src/Dodge/Data/Item/Use.hs 170;" f +_mzAmmoPerShot src/Dodge/Data/Item/Use.hs 171;" f +_mzAmmoSlot src/Dodge/Data/Item/Use.hs 168;" f +_mzEffect src/Dodge/Data/Item/Use.hs 170;" f +_mzFlareType src/Dodge/Data/Item/Use.hs 169;" f +_mzFrame src/Dodge/Data/Item/Use.hs 172;" f +_mzInaccuracy src/Dodge/Data/Item/Use.hs 167;" f +_mzPos src/Dodge/Data/Item/Use.hs 165;" f +_mzRot src/Dodge/Data/Item/Use.hs 166;" f _newArcStep src/Dodge/Data/Item/Params.hs 25;" f _nodeMetaTree src/Dodge/Data/MetaTree.hs 14;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f @@ -2798,10 +2795,10 @@ _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 32;" f -_nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 151;" f -_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 150;" f -_nzPressure src/Dodge/Data/Item/Use.hs 149;" f -_nzWalkSpeed src/Dodge/Data/Item/Use.hs 152;" f +_nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 147;" f +_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 146;" f +_nzPressure src/Dodge/Data/Item/Use.hs 145;" f +_nzWalkSpeed src/Dodge/Data/Item/Use.hs 148;" f _offPathFromEdges src/Dodge/Data/Room.hs 74;" f _oldMagnets src/Dodge/Data/LWorld.hs 125;" f _onPathFromEdges src/Dodge/Data/Room.hs 73;" f @@ -2815,14 +2812,14 @@ _opticPos src/Dodge/Data/Item/Scope.hs 16;" f _opticZoom src/Dodge/Data/Item/Scope.hs 19;" f _paramMID src/Dodge/Data/Item/Params.hs 28;" f _partialAction src/Dodge/Data/ActionPlan.hs 145;" f -_pastWorlds src/Dodge/Data/World.hs 39;" f +_pastWorlds src/Dodge/Data/World.hs 37;" f _pathGraph src/Dodge/Data/CWorld.hs 31;" f _pathToPoint src/Dodge/Data/ActionPlan.hs 89;" f _peDist src/Dodge/Data/PathGraph.hs 43;" f _peEnd src/Dodge/Data/PathGraph.hs 42;" f _peObstacles src/Dodge/Data/PathGraph.hs 44;" f _peStart src/Dodge/Data/PathGraph.hs 41;" f -_peZoning src/Dodge/Data/World.hs 53;" f +_peZoning src/Dodge/Data/World.hs 51;" f _penEnd src/Dodge/Data/PathGraph.hs 35;" f _penPathEdge src/Dodge/Data/PathGraph.hs 36;" f _penStart src/Dodge/Data/PathGraph.hs 34;" f @@ -2856,8 +2853,8 @@ _plOrder src/Dodge/Data/GenWorld.hs 77;" f _plSpot src/Dodge/Data/GenWorld.hs 78;" f _plType src/Dodge/Data/GenWorld.hs 79;" f _playStatus src/Sound/Data.hs 18;" f -_playingSounds src/Dodge/Data/World.hs 43;" f -_pnZoning src/Dodge/Data/World.hs 52;" f +_playingSounds src/Dodge/Data/World.hs 41;" f +_pnZoning src/Dodge/Data/World.hs 50;" f _posEvents src/Dodge/Data/LWorld.hs 109;" f _posture src/Dodge/Data/Creature/Stance.hs 15;" f _ppEvent src/Dodge/Data/PressPlate.hs 23;" f @@ -2927,25 +2924,25 @@ _pwWall src/Dodge/Data/GenWorld.hs 49;" f _pyFaces src/Polyhedra/Data.hs 14;" f _radarBlips src/Dodge/Data/LWorld.hs 112;" f _radarSweeps src/Dodge/Data/LWorld.hs 107;" f -_randGen src/Dodge/Data/World.hs 41;" f -_randomOffset src/Dodge/Data/Item/Use.hs 86;" f -_randomOffset src/Dodge/Data/Item/Use.hs 103;" f +_randGen src/Dodge/Data/World.hs 39;" f +_randomOffset src/Dodge/Data/Item/Use.hs 82;" f +_randomOffset src/Dodge/Data/Item/Use.hs 99;" f _rateMax src/Dodge/Data/Item/HeldDelay.hs 16;" f _rateTime src/Dodge/Data/Item/HeldDelay.hs 17;" f _rbColor src/Dodge/Data/RadarBlip.hs 15;" f _rbMaxTime src/Dodge/Data/RadarBlip.hs 17;" f -_rbOptions src/Dodge/Data/World.hs 46;" f +_rbOptions src/Dodge/Data/World.hs 44;" f _rbPos src/Dodge/Data/RadarBlip.hs 19;" f _rbRad src/Dodge/Data/RadarBlip.hs 18;" f _rbTime src/Dodge/Data/RadarBlip.hs 16;" f _rboBaseBloom src/Data/Preload/Render.hs 38;" f -_recoil src/Dodge/Data/Item/Use.hs 84;" f -_recoil src/Dodge/Data/Item/Use.hs 101;" f +_recoil src/Dodge/Data/Item/Use.hs 80;" f +_recoil src/Dodge/Data/Item/Use.hs 97;" f _renderData src/Data/Preload.hs 11;" f -_reverseAmount src/Dodge/Data/World.hs 64;" f -_reverseAmount src/Dodge/Data/World.hs 70;" f -_reverseAmount src/Dodge/Data/World.hs 74;" f -_rifling src/Dodge/Data/Item/Use.hs 100;" f +_reverseAmount src/Dodge/Data/World.hs 62;" f +_reverseAmount src/Dodge/Data/World.hs 68;" f +_reverseAmount src/Dodge/Data/World.hs 72;" f +_rifling src/Dodge/Data/Item/Use.hs 96;" f _rkHoming src/Dodge/Data/Projectile.hs 39;" f _rkSmoke src/Dodge/Data/Projectile.hs 40;" f _rlDir src/Dodge/Data/Room.hs 26;" f @@ -3003,11 +3000,11 @@ _scSelectionList src/Dodge/Data/Universe.hs 86;" f _scTitle src/Dodge/Data/Universe.hs 81;" f _screenTextureVAO src/Data/Preload/Render.hs 50;" f _scrollAmount src/Dodge/Data/Input.hs 48;" f -_scrollItemID src/Dodge/Data/World.hs 66;" f -_scrollItemID src/Dodge/Data/World.hs 75;" f -_scrollItemID src/Dodge/Data/World.hs 79;" f -_scrollSmoothing src/Dodge/Data/World.hs 63;" f -_scrollSmoothing src/Dodge/Data/World.hs 69;" f +_scrollItemID src/Dodge/Data/World.hs 64;" f +_scrollItemID src/Dodge/Data/World.hs 73;" f +_scrollItemID src/Dodge/Data/World.hs 77;" f +_scrollSmoothing src/Dodge/Data/World.hs 61;" f +_scrollSmoothing src/Dodge/Data/World.hs 67;" f _scrollTestFloat src/Dodge/Data/Input.hs 55;" f _scrollTestInt src/Dodge/Data/Input.hs 56;" f _scurColor src/Dodge/Data/SelectionList.hs 26;" f @@ -3054,8 +3051,8 @@ _siWidth src/Dodge/Data/SelectionList.hs 47;" f _siWidth src/Dodge/Data/SelectionList.hs 56;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f -_sidePush src/Dodge/Data/Item/Use.hs 87;" f -_sidePush src/Dodge/Data/Item/Use.hs 104;" f +_sidePush src/Dodge/Data/Item/Use.hs 83;" f +_sidePush src/Dodge/Data/Item/Use.hs 100;" f _silhouetteEBO src/Data/Preload/Render.hs 27;" f _skColor src/Dodge/Data/Spark.hs 17;" f _skDamageType src/Dodge/Data/Spark.hs 21;" f @@ -3106,7 +3103,7 @@ _taArcSteps src/Dodge/Data/TeslaArc.hs 18;" f _taColor src/Dodge/Data/TeslaArc.hs 19;" f _taPoints src/Dodge/Data/TeslaArc.hs 16;" f _taTimer src/Dodge/Data/TeslaArc.hs 17;" f -_targetCr src/Dodge/Data/Creature.hs 80;" f +_targetCr src/Dodge/Data/Creature.hs 77;" f _targetID src/Dodge/Data/ActionPlan.hs 85;" f _targetSeenAt src/Dodge/Data/ActionPlan.hs 86;" f _tbPos src/Dodge/Data/TractorBeam.hs 14;" f @@ -3120,7 +3117,7 @@ _tcString src/Dodge/Data/Terminal.hs 117;" f _termID src/Dodge/Data/HUD.hs 43;" f _terminals src/Dodge/Data/LWorld.hs 124;" f _teslaArcs src/Dodge/Data/LWorld.hs 114;" f -_testFloat src/Dodge/Data/World.hs 45;" f +_testFloat src/Dodge/Data/World.hs 43;" f _textInput src/Dodge/Data/Input.hs 54;" f _textureObject src/Shader/Data.hs 95;" f _tiSel src/Dodge/Data/Terminal.hs 21;" f @@ -3130,8 +3127,8 @@ _tilePoly src/Data/Tile.hs 15;" f _tileTangentPos src/Data/Tile.hs 17;" f _tileZero src/Data/Tile.hs 16;" f _tiles src/Data/Tile.hs 13;" f -_timeFlow src/Dodge/Data/World.hs 40;" f -_timeFlowCharge src/Dodge/Data/World.hs 78;" f +_timeFlow src/Dodge/Data/World.hs 38;" f +_timeFlowCharge src/Dodge/Data/World.hs 76;" f _tlEffect src/Dodge/Data/Terminal.hs 77;" f _tlPause src/Dodge/Data/Terminal.hs 68;" f _tlPause src/Dodge/Data/Terminal.hs 72;" f @@ -3162,10 +3159,10 @@ _toPlaySoundStatus src/Sound/Data.hs 41;" f _toPlaySoundTime src/Sound/Data.hs 40;" f _toPlaySoundVolume src/Sound/Data.hs 43;" f _toPlaySoundVolumeFraction src/Sound/Data.hs 44;" f -_toPlaySounds src/Dodge/Data/World.hs 42;" f +_toPlaySounds src/Dodge/Data/World.hs 40;" f _topBoxSize src/Shape/Data.hs 17;" f -_torqueAfter src/Dodge/Data/Item/Use.hs 85;" f -_torqueAfter src/Dodge/Data/Item/Use.hs 102;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 81;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 98;" f _tractorBeams src/Dodge/Data/LWorld.hs 119;" f _trieChildren src/SimpleTrie.hs 11;" f _trieMVal src/SimpleTrie.hs 10;" f @@ -3179,10 +3176,10 @@ _tuFireTime src/Dodge/Data/Machine.hs 60;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f _tuWeapon src/Dodge/Data/Machine.hs 58;" f _turnToPoint src/Dodge/Data/ActionPlan.hs 92;" f -_uScope src/Dodge/Data/Item/Use.hs 48;" f -_uaParams src/Dodge/Data/Item/Use.hs 45;" f -_ubMod src/Dodge/Data/Item/Use.hs 49;" f -_uequipEffect src/Dodge/Data/Item/Use.hs 44;" f +_uScope src/Dodge/Data/Item/Use.hs 44;" f +_uaParams src/Dodge/Data/Item/Use.hs 42;" f +_ubMod src/Dodge/Data/Item/Use.hs 45;" f +_uequipEffect src/Dodge/Data/Item/Use.hs 41;" f _unCombEdge src/Dodge/Combine/Graph.hs 31;" f _unCombNode src/Dodge/Combine/Graph.hs 24;" f _unFBO src/Shader/Data.hs 57;" f @@ -3196,11 +3193,11 @@ _unST src/Dodge/Tree/Compose/Data.hs 12;" f _unTO src/Shader/Data.hs 59;" f _unputTerminal src/Dodge/Data/GenWorld.hs 36;" f _useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f -_useExactly src/Dodge/Data/Item/Use.hs 164;" f +_useExactly src/Dodge/Data/Item/Use.hs 160;" f _useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f _useSelf src/Dodge/Data/ActionPlan.hs 158;" f _useTarget src/Dodge/Data/ActionPlan.hs 155;" f -_useUpTo src/Dodge/Data/Item/Use.hs 165;" f +_useUpTo src/Dodge/Data/Item/Use.hs 161;" f _uvCanContinue src/Dodge/Data/Universe.hs 38;" f _uvConfig src/Dodge/Data/Universe.hs 36;" f _uvDebug src/Dodge/Data/Universe.hs 43;" f @@ -3233,7 +3230,7 @@ _vcWarnings src/Dodge/Data/Creature/Misc.hs 31;" f _vertices src/Polyhedra/Data.hs 22;" f _viDist src/Dodge/Data/Creature/Perception.hs 43;" f _viFOV src/Dodge/Data/Creature/Perception.hs 42;" f -_viewPoint src/Dodge/Data/Creature.hs 82;" f +_viewPoint src/Dodge/Data/Creature.hs 79;" f _volume_master src/Dodge/Data/Config.hs 39;" f _volume_music src/Dodge/Data/Config.hs 41;" f _volume_sound src/Dodge/Data/Config.hs 40;" f @@ -3242,7 +3239,7 @@ _vxExt src/Picture/Data.hs 16;" f _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 55;" f +_wCam src/Dodge/Data/World.hs 53;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 105;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 104;" f _wallDamages src/Dodge/Data/LWorld.hs 121;" f @@ -3252,10 +3249,10 @@ _walls src/Dodge/Data/LWorld.hs 120;" f _warmMax src/Dodge/Data/Item/HeldDelay.hs 27;" f _warmSound src/Dodge/Data/Item/HeldDelay.hs 28;" f _warmTime src/Dodge/Data/Item/HeldDelay.hs 26;" f -_weaponInvLock src/Dodge/Data/Item/Use.hs 91;" f -_weaponInvLock src/Dodge/Data/Item/Use.hs 108;" f -_weaponRepeat src/Dodge/Data/Item/Use.hs 92;" f -_weaponRepeat src/Dodge/Data/Item/Use.hs 109;" f +_weaponInvLock src/Dodge/Data/Item/Use.hs 87;" f +_weaponInvLock src/Dodge/Data/Item/Use.hs 104;" f +_weaponRepeat src/Dodge/Data/Item/Use.hs 88;" f +_weaponRepeat src/Dodge/Data/Item/Use.hs 105;" f _windowPosX src/Dodge/Data/Config.hs 53;" f _windowPosY src/Dodge/Data/Config.hs 54;" f _windowShader src/Data/Preload/Render.hs 19;" f @@ -3278,8 +3275,8 @@ _wlStructure src/Dodge/Data/Wall.hs 32;" f _wlTouchThrough src/Dodge/Data/Wall.hs 27;" f _wlUnshadowed src/Dodge/Data/Wall.hs 30;" f _wlWalkable src/Dodge/Data/Wall.hs 26;" f -_wlZoning src/Dodge/Data/World.hs 51;" f -_worldEventFlags src/Dodge/Data/World.hs 48;" f +_wlZoning src/Dodge/Data/World.hs 49;" f +_worldEventFlags src/Dodge/Data/World.hs 46;" f _worldEvents src/Dodge/Data/LWorld.hs 132;" f _wpCharge src/Dodge/Data/Item/Use/Consumption.hs 35;" f _wpMaxCharge src/Dodge/Data/Item/Use/Consumption.hs 34;" f @@ -3299,8 +3296,8 @@ aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f aSound src/Dodge/SoundLogic.hs 68;" f aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f -accessTerminal src/Dodge/WorldEffect.hs 48;" f -activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 87;" f +accessTerminal src/Dodge/WorldEffect.hs 49;" f +activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 106;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 24;" f addArmour src/Dodge/Creature.hs 83;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f @@ -3344,7 +3341,7 @@ advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f aimDelaySweep src/Dodge/Render/Picture.hs 239;" f aimStanceInfo src/Dodge/Item/Info.hs 199;" f -aimTurn src/Dodge/Creature/YourControl.hs 154;" f +aimTurn src/Dodge/Creature/YourControl.hs 138;" f aimingWeaponHandlePos src/Dodge/Item/HeldOffset.hs 69;" f aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 63;" f airlock src/Dodge/Room/Airlock.hs 19;" f @@ -3355,7 +3352,6 @@ airlockDoor src/Dodge/Room/Airlock.hs 51;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f airlockSimple src/Dodge/Room/Airlock.hs 66;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f -allHotkeys src/Dodge/Creature/YourControl.hs 60;" f allInvLocs src/Dodge/Item/Grammar.hs 295;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f alongSegBy src/Geometry.hs 43;" f @@ -3371,24 +3367,24 @@ 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 246;" f -applyCME src/Dodge/HeldUse.hs 126;" f +applyCME src/Dodge/HeldUse.hs 145;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyEventIO src/Loop.hs 89;" f applyGravityPU src/Dodge/Projectile/Update.hs 50;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f -applyInvLock src/Dodge/HeldUse.hs 141;" f +applyInvLock src/Dodge/HeldUse.hs 160;" f applyMagnetsToBul src/Dodge/Bullet.hs 36;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f -applyPastDamages src/Dodge/Creature/State.hs 145;" f +applyPastDamages src/Dodge/Creature/State.hs 142;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 160;" f +applyRecoil src/Dodge/HeldUse.hs 179;" f applyResFactor src/Dodge/Data/Config.hs 110;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 79;" f -applySidePush src/Dodge/HeldUse.hs 167;" f -applySoundCME src/Dodge/HeldUse.hs 151;" f +applySidePush src/Dodge/HeldUse.hs 186;" f +applySoundCME src/Dodge/HeldUse.hs 170;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 40;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f @@ -3396,7 +3392,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 178;" f +applyTorqueCME src/Dodge/HeldUse.hs 197;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -3477,7 +3473,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 44;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 278;" f +basicMuzFlare src/Dodge/HeldUse.hs 297;" f basicTerminal src/Dodge/Terminal.hs 35;" f battery src/Dodge/Item/Ammo.hs 92;" f batteryPack src/Dodge/Item/Equipment.hs 56;" f @@ -3560,7 +3556,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 276;" f +chainLinkOrientation src/Dodge/Creature/State.hs 273;" f chainPairs src/Geometry.hs 377;" f changeSwapOther src/Dodge/Inventory.hs 149;" f changeSwapSel src/Dodge/Inventory.hs 141;" f @@ -3575,7 +3571,7 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 43;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 105;" f checkConnection src/Dodge/Inventory/Swap.hs 85;" f -checkDeath src/Dodge/Creature/State.hs 78;" f +checkDeath src/Dodge/Creature/State.hs 77;" f checkEndGame src/Dodge/Update.hs 704;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -3692,7 +3688,7 @@ 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 107;" 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 @@ -3725,7 +3721,7 @@ crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f crSpring src/Dodge/Update.hs 770;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f -crUpdate src/Dodge/Creature/State.hs 62;" f +crUpdate src/Dodge/Creature/State.hs 61;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f crZoneSize src/Dodge/Zoning/Creature.hs 39;" f @@ -3743,8 +3739,8 @@ createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla.hs 81;" f createNewArc src/Dodge/Tesla/Arc.hs 90;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 638;" f -createProjectileR src/Dodge/HeldUse.hs 610;" f +createProjectile src/Dodge/HeldUse.hs 671;" f +createProjectileR src/Dodge/HeldUse.hs 643;" f createShell src/Dodge/Projectile/Create.hs 22;" f createShieldWall src/Dodge/Euse.hs 107;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f @@ -3947,7 +3943,7 @@ detector src/Dodge/Item/Held/Utility.hs 41;" f detectorColor src/Dodge/Item/Draw/SPic.hs 435;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 180;" f -determineProjectileTracking src/Dodge/HeldUse.hs 594;" f +determineProjectileTracking src/Dodge/HeldUse.hs 626;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 54;" f diffAngles src/Geometry.hs 210;" f @@ -3979,11 +3975,11 @@ divideLineExact src/Geometry.hs 293;" f divideLineOddNumPoints src/Geometry.hs 278;" f doAfterPlacement src/Dodge/Layout.hs 86;" f doAfterPlacements src/Dodge/Layout.hs 83;" f -doAnyEquipmentEffect src/Dodge/Creature/State.hs 190;" f +doAnyEquipmentEffect src/Dodge/Creature/State.hs 187;" f doArcStep src/Dodge/Tesla.hs 128;" f doArcStep src/Dodge/Tesla/Arc.hs 135;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f -doBlBl src/Dodge/WorldEffect.hs 90;" f +doBlBl src/Dodge/WorldEffect.hs 91;" f doBlSh src/Dodge/Block/Draw.hs 14;" f doBounce src/Dodge/Base/Collide.hs 69;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f @@ -3996,10 +3992,10 @@ 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 139;" f +doDamage src/Dodge/Creature/State.hs 136;" f doDamagesFL src/Dodge/Flame.hs 57;" f -doDeathToggle src/Dodge/WorldEffect.hs 87;" f -doDeathTriggers src/Dodge/WorldEffect.hs 82;" f +doDeathToggle src/Dodge/WorldEffect.hs 88;" f +doDeathTriggers src/Dodge/WorldEffect.hs 83;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f @@ -4013,14 +4009,14 @@ doDrag src/Dodge/Update/Input/InGame.hs 99;" 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 535;" f -doHeldUseEffect src/Dodge/HeldUse.hs 99;" f +doGenFloat src/Dodge/HeldUse.hs 560;" f +doHeldUseEffect src/Dodge/HeldUse.hs 110;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 26;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f doInvEffect src/Dodge/ItEffect.hs 10;" f -doItCrWdWd src/Dodge/WorldEffect.hs 44;" f +doItCrWdWd src/Dodge/WorldEffect.hs 45;" f doItemTimeScroll src/Dodge/Update.hs 200;" f doItmCrWdWd src/Dodge/Euse.hs 27;" f doLoop src/Loop.hs 60;" f @@ -4050,7 +4046,7 @@ doSectionSize src/Dodge/DisplayInventory.hs 252;" f doSideEffects appDodge/Main.hs 120;" f doStep src/Dodge/ArcStep.hs 9;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f -doTerminalBootProgram src/Dodge/WorldEffect.hs 96;" f +doTerminalBootProgram src/Dodge/WorldEffect.hs 97;" f doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f @@ -4058,14 +4054,14 @@ doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 125;" f doTimeScroll src/Dodge/Update.hs 205;" f doTmTm src/Dodge/TmTm.hs 6;" f -doTmWdWd src/Dodge/WorldEffect.hs 101;" f +doTmWdWd src/Dodge/WorldEffect.hs 102;" f doWallRotate src/Dodge/Update/Camera.hs 154;" f doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f -doWdWd src/Dodge/WorldEffect.hs 25;" f -doWeaponRepetitions src/Dodge/HeldUse.hs 115;" f +doWdWd src/Dodge/WorldEffect.hs 26;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 134;" f doWorldEvents src/Dodge/Update.hs 429;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f @@ -4081,7 +4077,7 @@ doublePairSet src/Geometry.hs 167;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleV2 src/Geometry.hs 170;" f drawAllShadows src/Dodge/Shadows.hs 5;" f -drawAugmentedHUD src/Dodge/Creature/State.hs 303;" f +drawAugmentedHUD src/Dodge/Creature/State.hs 300;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 13;" f @@ -4205,7 +4201,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 361;" f drawZoneCol src/Dodge/Debug/Picture.hs 138;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 273;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f -dropByState src/Dodge/Creature/State.hs 133;" f +dropByState src/Dodge/Creature/State.hs 130;" f dropExcept src/Dodge/Creature/Action.hs 171;" f dropItem src/Dodge/Creature/Action.hs 177;" f drumMag src/Dodge/Item/Ammo.hs 42;" f @@ -4308,7 +4304,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 72;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 40;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 56;" f flamerPic src/Dodge/Item/Draw/SPic.hs 369;" f -flareCircleAt src/Dodge/HeldUse.hs 259;" f +flareCircleAt src/Dodge/HeldUse.hs 278;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 50;" f flatLookupItems src/Dodge/Combine.hs 38;" f flatShield src/Dodge/Item/Held/Utility.hs 20;" f @@ -4333,7 +4329,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 408;" f -foldCr src/Dodge/Creature/State.hs 44;" f +foldCr src/Dodge/Creature/State.hs 43;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f followImpulse src/Dodge/Creature/Impulse.hs 37;" f @@ -4376,7 +4372,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameplayMenu src/Dodge/Menu.hs 131;" f gameplayMenuOptions src/Dodge/Menu.hs 134;" f -gasCreate src/Dodge/HeldUse.hs 532;" f +gasCreate src/Dodge/HeldUse.hs 557;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4392,7 +4388,7 @@ getArguments src/Dodge/Update/Scroll.hs 215;" f getArguments' src/Dodge/Update/Scroll.hs 203;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 106;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f -getBulletType src/Dodge/HeldUse.hs 411;" f +getBulletType src/Dodge/HeldUse.hs 436;" f getCommands src/Dodge/Terminal.hs 117;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f getCrDexterity src/Dodge/Creature/Statistics.hs 11;" f @@ -4401,14 +4397,14 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 14;" f getDamageCoding src/Dodge/Terminal.hs 177;" f getDistortions src/Dodge/Render.hs 383;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 45;" f -getLaserColor src/Dodge/HeldUse.hs 275;" f -getLaserDamage src/Dodge/HeldUse.hs 272;" f -getLaserPhaseV src/Dodge/HeldUse.hs 269;" f +getLaserColor src/Dodge/HeldUse.hs 294;" f +getLaserDamage src/Dodge/HeldUse.hs 291;" f +getLaserPhaseV src/Dodge/HeldUse.hs 288;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 376;" f getNodePos src/Dodge/Path.hs 31;" f -getPJStabiliser src/Dodge/HeldUse.hs 630;" f +getPJStabiliser src/Dodge/HeldUse.hs 663;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f getRootItemBounds src/Dodge/Render/HUD.hs 93;" f @@ -4468,9 +4464,9 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f haltSound src/Dodge/SoundLogic.hs 37;" f -hammerCheck src/Dodge/HeldUse.hs 52;" f +hammerCheck src/Dodge/HeldUse.hs 57;" f handleEvent src/Dodge/Event.hs 27;" f -handleHotkeys src/Dodge/Creature/YourControl.hs 40;" f +handleHotkeys src/Dodge/Creature/YourControl.hs 35;" f handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f handleMouseButtonEvent src/Dodge/Event/Input.hs 63;" f handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f @@ -4496,8 +4492,8 @@ healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 73;" f healthTest src/Dodge/Room/LasTurret.hs 94;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldEffect src/Dodge/HeldUse.hs 38;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 88;" f -heldEffectNoHammerCheck src/Dodge/HeldUse.hs 41;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 99;" f +heldEffectNoHammerCheck src/Dodge/HeldUse.hs 46;" f heldInfo src/Dodge/Item/Info.hs 47;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 78;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 26;" f @@ -4518,7 +4514,7 @@ holdForm src/Dodge/Creature/Boid.hs 136;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 40;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f -hotkeyToScancode src/Dodge/Creature/YourControl.hs 63;" f +hotkeyToScancode src/Dodge/Creature/YourControl.hs 56;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 42;" f humanoidAIList src/Dodge/Humanoid.hs 181;" f iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f @@ -4568,7 +4564,7 @@ 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 insertWithNewKeys src/IntMapHelp.hs 70;" f -internalCreatureUpdate src/Dodge/Creature/State.hs 123;" f +internalCreatureUpdate src/Dodge/Creature/State.hs 122;" f interpWith src/Dodge/Creature/Boid.hs 10;" f intersectCircSeg src/Geometry/Intersect.hs 305;" f intersectCircSegFirst src/Geometry/Intersect.hs 323;" f @@ -4594,14 +4590,14 @@ invCursorParams src/Dodge/ListDisplayParams.hs 36;" f invDP src/Dodge/ListDisplayParams.hs 30;" f invDimColor src/Dodge/DisplayInventory.hs 224;" f invHead src/Dodge/Render/HUD.hs 392;" f -invItemLocUpdate src/Dodge/Creature/State.hs 179;" f +invItemLocUpdate src/Dodge/Creature/State.hs 176;" f invLDT src/Dodge/Item/Grammar.hs 256;" f -invRootItemEffs src/Dodge/Creature/State.hs 172;" f +invRootItemEffs src/Dodge/Creature/State.hs 169;" f invRootMap src/Dodge/Item/Grammar.hs 265;" f invRootTrees src/Dodge/Item/Grammar.hs 286;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f -invSideEff src/Dodge/Creature/State.hs 166;" f +invSideEff src/Dodge/Creature/State.hs 163;" f invSize src/Dodge/Inventory/CheckSlots.hs 31;" f inventoryX src/Dodge/Creature.hs 116;" f inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f @@ -4614,12 +4610,12 @@ invertIntMap src/Multiset.hs 67;" f invertInventoryToMap src/Dodge/Combine.hs 56;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 23;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 285;" f +isAmmoIntLink src/Dodge/HeldUse.hs 304;" f isAnimate src/Dodge/Creature/Test.hs 136;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 95;" f isElectrical src/Dodge/Data/Damage.hs 42;" f -isFrictionless src/Dodge/Creature/State.hs 458;" f +isFrictionless src/Dodge/Creature/State.hs 455;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 170;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f isJust' src/MaybeHelp.hs 29;" f @@ -4647,7 +4643,7 @@ itemBaseName src/Dodge/Item/Display.hs 56;" f itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 55;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f -itemDetectorEffect src/Dodge/HeldUse.hs 317;" f +itemDetectorEffect src/Dodge/HeldUse.hs 342;" f itemDisplay src/Dodge/Item/Display.hs 21;" f itemDisplayPad src/Dodge/Item/Display.hs 39;" f itemEquipPict src/Dodge/Item/Draw.hs 16;" f @@ -4667,7 +4663,7 @@ itemString src/Dodge/Item/Display.hs 52;" f itemToBreakLists src/Dodge/Item/Grammar.hs 59;" f itemToFunction src/Dodge/Item/Grammar.hs 132;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f -itemUpdate src/Dodge/Creature/State.hs 429;" f +itemUpdate src/Dodge/Creature/State.hs 426;" f iterateUntil src/MonadHelp.hs 23;" f iterateWhile src/MonadHelp.hs 30;" f itmBaseInfo src/Dodge/Item/Info.hs 23;" f @@ -4704,7 +4700,7 @@ lampCrSPic src/Dodge/Render/ShapePicture.hs 58;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 113;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 395;" f -lasRayAt src/Dodge/HeldUse.hs 388;" f +lasRayAt src/Dodge/HeldUse.hs 413;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 106;" f lasTunnel src/Dodge/Room/LasTurret.hs 125;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 166;" f @@ -4742,7 +4738,7 @@ lineCol src/Picture/Base.hs 230;" f lineGeom src/Dodge/Base.hs 39;" f lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f lineOrth src/Dodge/Creature/Boid.hs 125;" f -lineOutputTerminal src/Dodge/WorldEffect.hs 70;" f +lineOutputTerminal src/Dodge/WorldEffect.hs 71;" f lineSplit src/Justify.hs 26;" f lineThick src/Picture/Base.hs 234;" f lineUp src/Dodge/Creature/Boid.hs 147;" f @@ -4763,7 +4759,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 381;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f -loadMuzzle src/Dodge/HeldUse.hs 195;" f +loadMuzzle src/Dodge/HeldUse.hs 214;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4818,8 +4814,8 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 51;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 483;" f -makeBullet' src/Dodge/HeldUse.hs 469;" f +makeBullet src/Dodge/HeldUse.hs 508;" f +makeBullet' src/Dodge/HeldUse.hs 494;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -4845,7 +4841,7 @@ makeFragBullets src/Dodge/Bullet.hs 129;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 217;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 236;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f @@ -4902,11 +4898,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 124;" f mcSPic src/Dodge/Render/ShapePicture.hs 132;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 87;" f mcSensorUpdate src/Dodge/Machine/Update.hs 119;" f -mcShootAuto src/Dodge/HeldUse.hs 567;" f -mcShootLaser src/Dodge/HeldUse.hs 559;" f +mcShootAuto src/Dodge/HeldUse.hs 592;" f +mcShootLaser src/Dodge/HeldUse.hs 584;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f -mcUseHeld src/Dodge/HeldUse.hs 502;" f +mcUseHeld src/Dodge/HeldUse.hs 527;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 80;" f @@ -4972,7 +4968,7 @@ mntLSOn src/Dodge/Placement/Instance/LightSource.hs 54;" f mntLight src/Dodge/Placement/Instance/LightSource.hs 158;" f mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 163;" f modTo src/Geometry/Zone.hs 10;" f -mouseActionsCr src/Dodge/Creature/YourControl.hs 164;" f +mouseActionsCr src/Dodge/Creature/YourControl.hs 148;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f mouseCursorType src/Dodge/Render/Picture.hs 80;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f @@ -4999,7 +4995,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 245;" f +muzFlareAt src/Dodge/HeldUse.hs 264;" 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 @@ -5204,7 +5200,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 120;" 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 @@ -5273,7 +5269,7 @@ preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f premapMaybe src/FoldlHelp.hs 24;" f prependTwo src/Geometry.hs 179;" f -pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 174;" f +pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 158;" f prettyDT src/Dodge/DoubleTree.hs 179;" f prettyLDT src/Dodge/DoubleTree.hs 183;" f prettyShort src/AesonHelp.hs 11;" f @@ -5412,7 +5408,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 440;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteDetonator src/Dodge/Item/Scope.hs 74;" f remoteScreen src/Dodge/Item/Scope.hs 70;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 398;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 423;" f removeDot src/ShortShow.hs 30;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeShieldWall src/Dodge/Euse.hs 125;" f @@ -5544,9 +5540,9 @@ scaleMat src/MatrixHelper.hs 59;" f scaleMatrix src/MatrixHelper.hs 56;" f scaleSH src/Shape.hs 268;" f scalp src/Dodge/Creature/Picture.hs 96;" f -scancodeToHotkey src/Dodge/Creature/YourControl.hs 78;" f +scancodeToHotkey src/Dodge/Creature/YourControl.hs 71;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/State.hs 117;" 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 @@ -5620,7 +5616,7 @@ setOldPos src/Dodge/Update.hs 471;" 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 408;" f +setRBCreatureTargeting src/Dodge/Creature/State.hs 405;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 317;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 85;" f setShaderSource src/Shader/Compile.hs 290;" f @@ -5687,16 +5683,16 @@ 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 308;" f -shineTorch src/Dodge/Creature/State.hs 350;" f -shootBullet src/Dodge/HeldUse.hs 458;" f +shineTargetLaser src/Dodge/Creature/State.hs 305;" f +shineTorch src/Dodge/Creature/State.hs 347;" f +shootBullet src/Dodge/HeldUse.hs 483;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f -shootLaser src/Dodge/HeldUse.hs 368;" f +shootLaser src/Dodge/HeldUse.hs 393;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 582;" f +shootTeslaArc src/Dodge/HeldUse.hs 614;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 347;" f +shootTractorBeam src/Dodge/HeldUse.hs 372;" 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 @@ -5855,6 +5851,7 @@ stringToList src/Picture/Base.hs 313;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f structureToPotentialFunction src/Dodge/Item/Grammar.hs 161;" f +structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 71;" f subInvX src/Dodge/ListDisplayParams.hs 48;" f subMap src/TreeHelp.hs 118;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f @@ -5967,7 +5964,7 @@ toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f toggleCommand src/Dodge/Terminal.hs 196;" f -toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 104;" f +toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 114;" f toggleJust src/MaybeHelp.hs 41;" f toggleMap src/Dodge/Update/Input/InGame.hs 556;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 569;" f @@ -5981,11 +5978,11 @@ topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 75;" f torch src/Dodge/Item/Held/Utility.hs 33;" f torchShape src/Dodge/Item/Draw/SPic.hs 254;" f -torqueCr src/Dodge/WorldEffect.hs 63;" f +torqueCr src/Dodge/WorldEffect.hs 64;" f torso src/Dodge/Creature/Picture.hs 105;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 357;" f +tractorBeamAt src/Dodge/HeldUse.hs 382;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 70;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 419;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -6038,7 +6035,6 @@ triggerSwitchSPicLight src/Dodge/Placement/Instance/Button.hs 31;" f truncFaces src/Polyhedra/Geodesic.hs 53;" f truncate src/Polyhedra/Geodesic.hs 38;" f trunkDepth src/TreeHelp.hs 161;" f -tryAssignHotkey src/Dodge/Creature/YourControl.hs 94;" f tryAttachItems src/Dodge/Item/Grammar.hs 22;" f tryCombine src/Dodge/Update/Input/InGame.hs 578;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 115;" f @@ -6054,8 +6050,8 @@ tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f tryShellBounce src/Dodge/Projectile/Update.hs 99;" f trySpinByCID src/Dodge/Projectile/Update.hs 152;" f -trySynthBullet src/Dodge/Creature/State.hs 204;" f -tryUseParent src/Dodge/Creature/State.hs 197;" f +trySynthBullet src/Dodge/Creature/State.hs 201;" f +tryUseParent src/Dodge/Creature/State.hs 194;" f turnTo src/Dodge/Movement/Turn.hs 4;" f turnToAmount src/Dodge/Movement/Turn.hs 15;" f turret src/Dodge/Placement/Instance/Turret.hs 35;" f @@ -6088,12 +6084,11 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f -upHammer src/Dodge/Default.hs 76;" f upProjectile src/Dodge/Projectile/Update.hs 33;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla.hs 91;" f updateArc src/Dodge/Tesla/Arc.hs 100;" f -updateAttachedItems src/Dodge/Creature/State.hs 266;" f +updateAttachedItems src/Dodge/Creature/State.hs 263;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 464;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f @@ -6127,16 +6122,16 @@ updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 347;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 340;" f updateGusts src/Dodge/Update.hs 715;" f -updateHeldRootItem src/Dodge/Creature/State.hs 260;" f +updateHeldRootItem src/Dodge/Creature/State.hs 257;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 507;" f updateIMl' src/Dodge/Update.hs 512;" f updateInGameCamera src/Dodge/Update/Camera.hs 76;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 408;" f -updateInv src/Dodge/Creature/State.hs 162;" f +updateInv src/Dodge/Creature/State.hs 159;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f -updateItemTargeting src/Dodge/Creature/State.hs 377;" f -updateItemWithOrientation src/Dodge/Creature/State.hs 286;" f +updateItemTargeting src/Dodge/Creature/State.hs 374;" f +updateItemWithOrientation src/Dodge/Creature/State.hs 283;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 402;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 390;" f updateLampoid src/Dodge/Lampoid.hs 12;" f @@ -6152,7 +6147,7 @@ updateMouseContextGame src/Dodge/Update.hs 324;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 88;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 80;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 143;" f -updateMovement src/Dodge/Creature/State.hs 448;" f +updateMovement src/Dodge/Creature/State.hs 445;" f updateObjCatMaybes src/Dodge/Update.hs 529;" f updateObjMapMaybe src/Dodge/Update.hs 522;" f updatePastWorlds src/Dodge/Update.hs 424;" f @@ -6228,30 +6223,28 @@ useBulletPayload src/Dodge/Bullet.hs 118;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 34;" f -useGasParams src/Dodge/HeldUse.hs 507;" f -useHotkey src/Dodge/Creature/YourControl.hs 53;" f -useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f -useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f +useGasParams src/Dodge/HeldUse.hs 532;" f +useHotkey src/Dodge/Creature/YourControl.hs 51;" f +useItem src/Dodge/Creature/Impulse/UseItem.hs 22;" f +useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 29;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 289;" f -useLocation src/Dodge/Creature/Impulse/UseItem.hs 95;" f -useLocation' src/Dodge/Creature/Impulse/UseItem.hs 48;" f +useLoadedAmmo src/Dodge/HeldUse.hs 308;" f +useLocation src/Dodge/Creature/Impulse/UseItem.hs 57;" f useMagShield src/Dodge/Euse.hs 46;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 17;" f -useRewindGun src/Dodge/HeldUse.hs 704;" f +useRewindGun src/Dodge/HeldUse.hs 740;" f useRewindGun src/Dodge/Luse.hs 40;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f -useSelectedItem src/Dodge/Creature/Impulse/UseItem.hs 58;" f -useStopWatch src/Dodge/HeldUse.hs 685;" f +useStopWatch src/Dodge/HeldUse.hs 721;" f useStopWatch src/Dodge/Luse.hs 21;" f -useTimeCheck src/Dodge/HeldUse.hs 63;" f +useTimeCheck src/Dodge/HeldUse.hs 74;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f -useTimeScrollGun src/Dodge/HeldUse.hs 693;" f +useTimeScrollGun src/Dodge/HeldUse.hs 729;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f -useUpdate src/Dodge/Creature/State.hs 433;" f +useUpdate src/Dodge/Creature/State.hs 430;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f v2z src/Geometry/Vector3D.hs 93;" f @@ -6284,7 +6277,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f volleyGun src/Dodge/Item/Held/Cane.hs 31;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 330;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f -walkNozzle src/Dodge/HeldUse.hs 325;" f +walkNozzle src/Dodge/HeldUse.hs 350;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 80;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 50;" f @@ -6293,12 +6286,12 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallsFromRooms src/Dodge/Layout.hs 146;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f warningRooms src/Dodge/Room/Warning.hs 29;" f -wasdAim src/Dodge/Creature/YourControl.hs 116;" f +wasdAim src/Dodge/Creature/YourControl.hs 100;" f wasdDir src/Dodge/WASD.hs 17;" f wasdM src/Dodge/WASD.hs 9;" f -wasdMovement src/Dodge/Creature/YourControl.hs 142;" f -wasdTwist src/Dodge/Creature/YourControl.hs 124;" f -wasdWithAiming src/Dodge/Creature/YourControl.hs 106;" f +wasdMovement src/Dodge/Creature/YourControl.hs 126;" f +wasdTwist src/Dodge/Creature/YourControl.hs 108;" f +wasdWithAiming src/Dodge/Creature/YourControl.hs 90;" f watchCombinations src/Dodge/Combine/Combinations.hs 15;" f watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 177;" f weakenMatS src/Dodge/Material/Sound.hs 18;" f @@ -6360,7 +6353,7 @@ yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 18;" f youDropItem src/Dodge/Creature/Action.hs 190;" f yourAugmentedItem src/Dodge/Render/HUD.hs 223;" f -yourControl src/Dodge/Creature/YourControl.hs 26;" f +yourControl src/Dodge/Creature/YourControl.hs 21;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 129;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 132;" f yourInfo src/Dodge/Creature/Info.hs 8;" f