From efd3e17cbf8b1dff9b30bef865a21460c5b6305e Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 22 Sep 2024 10:47:47 +0100 Subject: [PATCH] Cleanup, think about removing creature "hammer" --- ghcidOutput | 2 +- src/Dodge/Creature/Impulse.hs | 2 +- src/Dodge/Creature/Impulse/UseItem.hs | 62 ++++----- src/Dodge/Creature/YourControl.hs | 5 +- src/Dodge/Cuse.hs | 9 +- tags | 174 +++++++++++++------------- 6 files changed, 132 insertions(+), 122 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index ac8db8954..e851a319a 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (618 modules, at 21:58:44) +All good (618 modules, at 10:46:18) diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index 7bed27b45..d7467ece3 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -47,7 +47,7 @@ followImpulse cr w imp = case imp of TurnToward p a -> crup $ creatureTurnToward p a cr TurnTo p -> crup $ creatureTurnTo p cr ChangePosture post -> crup $ cr & crStance . posture .~ post - UseItem -> (useItemRightClick cr, cr) + UseItem -> (useRootItem $ _crID cr, cr) SwitchToItem i -> crup $ cr & crManipulation . manObject .~ InInventory (SelectedItem i i) Melee cid' -> ( hitCr cid' diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index 6261d6084..f658f08f6 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -1,5 +1,5 @@ module Dodge.Creature.Impulse.UseItem ( - useItemRightClick, + useRootItem, useItemLeftClick, itemEffect, useItemHotkey, @@ -22,41 +22,35 @@ import Dodge.Item.Location import Dodge.Luse import qualified IntMapHelp as IM -useItemRightClick :: Creature -> World -> World -useItemRightClick cr' w = fromMaybe (f w) $ do - cr <- w ^? cWorld . lWorld . creatures . ix (_crID cr') - itRef <- cr ^? crManipulation . manObject . inInventory . imRootItem - it <- invTrees (_crInv cr) ^? ix itRef - return $ - itemEffect cr it w - & worldEventFlags . at InventoryChange ?~ () - & f - where - f = cWorld . lWorld . creatures . ix (_crID cr') . crHammerPosition .~ HammerDown +useRootItem :: Int -> World -> World +useRootItem crid w = fromMaybe w $ do + cr <- w ^? cWorld . lWorld . creatures . ix crid + itRef <- cr ^? crManipulation . manObject . inInventory . imRootItem + it <- invTrees (_crInv cr) ^? ix itRef + return $ + itemEffect cr it w + & worldEventFlags . at InventoryChange ?~ () itemEffect :: Creature -> LabelDoubleTree ComposeLinkType Item -> World -> World itemEffect cr it w = case it ^. ldtValue . itUse of --- HeldUse{_heldUse = eff, _heldMods = usemods} -> --- foldl' (&) (useHeld eff) (useMod usemods) it cr w --- & pointerToItem itm . itUse . heldHammer .~ HammerDown HeldUse{ _heldMods = usemods} -> heldEffect usemods it cr w & pointerToItem itm . itUse . heldHammer .~ HammerDown LeftUse{} -> doequipmentchange EquipUse{} -> doequipmentchange - -- ConsumeUse will cause problems if the item is not selected - (ConsumeUse eff) -> useC eff (_ldtValue it) cr $ rmInvItem (_crID cr) itRef w + (ConsumeUse eff) -> useC eff (_ldtValue it) cr w CraftUse{} -> w AttachUse{} -> w AmmoMagUse{} -> w where itm = it ^. ldtValue - itRef = cr ^?! crManipulation . manObject . inInventory . imRootItem -- unsafe!! TODO change hammerTest f = case _crHammerPosition cr of - HammerUp -> f w & setuhamdown - _ -> w & setuhamdown - setuhamdown = cWorld . lWorld . creatures . ix (_crID cr) . crHammerPosition .~ HammerDown - doequipmentchange = hammerTest $ toggleEquipmentAt itRef cr + HammerUp -> f w -- & setuhamdown + _ -> w -- & setuhamdown +-- setuhamdown = cWorld . lWorld . creatures . ix (_crID cr) . crHammerPosition .~ HammerDown + doequipmentchange = fromMaybe w $ do + invid <- itm ^? itLocation . ipInvID + return $ hammerTest $ toggleEquipmentAt invid cr toggleEquipmentAt :: Int -> Creature -> World -> World toggleEquipmentAt invid cr w = case getEquipmentAllocation w of @@ -111,17 +105,25 @@ useItemLeftClick cr w = fromMaybe w $ do case ituse of --HeldUse{} -> return $ hammerTest (cWorld . lWorld . creatures . ix (_crID cr) %~ crReloadToggle) HeldUse{} -> return w - ConsumeUse{} -> return $ useItemRightClick cr w - EquipUse{} -> return $ useItemRightClick cr w - LeftUse{} -> return $ useItemRightClick cr w + ConsumeUse{} -> return $ useItemLeftClick' cr w + EquipUse{} -> return $ useItemLeftClick' cr w + LeftUse{} -> return $ useItemLeftClick' cr w AmmoMagUse{} -> return w --AmmoMagUse{} -> return $ hammerTest (cWorld . lWorld . creatures . ix (_crID cr) %~ crReloadToggle) _ -> Nothing - where - --hammerTest f = case _crHammerPosition cr of - -- HammerUp -> f w & setuhamdown - -- _ -> w & setuhamdown - --setuhamdown = cWorld . lWorld . creatures . ix (_crID cr) . crHammerPosition .~ HammerDown + +useItemLeftClick' :: Creature -> World -> World +--useItemLeftClick' cr' w = fromMaybe (f w) $ do +useItemLeftClick' cr' w = fromMaybe w $ do + cr <- w ^? cWorld . lWorld . creatures . ix (_crID cr') + itRef <- cr ^? crManipulation . manObject . inInventory . imSelectedItem + it <- invTrees (_crInv cr) ^? ix itRef + return $ + itemEffect cr it w + & worldEventFlags . at InventoryChange ?~ () +-- & f +-- where +-- f = cWorld . lWorld . creatures . ix (_crID cr') . crHammerPosition .~ HammerDown useItemHotkey :: Int -> Int -> World -> World useItemHotkey crid invid w = fromMaybe w $ do diff --git a/src/Dodge/Creature/YourControl.hs b/src/Dodge/Creature/YourControl.hs index 3f3398c69..f3ad2e597 100644 --- a/src/Dodge/Creature/YourControl.hs +++ b/src/Dodge/Creature/YourControl.hs @@ -205,11 +205,12 @@ mouseActionsCr pkeys cr pressedMBEffectsTopInventory :: M.Map SDL.MouseButton Int -> World -> World pressedMBEffectsTopInventory pkeys w - | isDown SDL.ButtonLeft && isDown SDL.ButtonRight && inTopInv = useItemRightClick (you w) w - | isDown SDL.ButtonLeft && inTopInv = useItemLeftClick (you w) w + | isDown SDL.ButtonLeft && isDown SDL.ButtonRight && inTopInv = youhammerdown $ useRootItem 0 w + | isDown SDL.ButtonLeft && inTopInv = youhammerdown $ useItemLeftClick (you w) w | isDown SDL.ButtonMiddle = w & wCam . camRot -~ rotation | otherwise = w where + youhammerdown = set (cWorld . lWorld . creatures . ix 0 . crHammerPosition) HammerDown inTopInv = case w ^. hud . hudElement of DisplayInventory{_subInventory = NoSubInventory} -> True _ -> False diff --git a/src/Dodge/Cuse.hs b/src/Dodge/Cuse.hs index 2935959bc..5bfabaa25 100644 --- a/src/Dodge/Cuse.hs +++ b/src/Dodge/Cuse.hs @@ -1,9 +1,16 @@ module Dodge.Cuse where +import Dodge.Inventory import Control.Lens import Dodge.Data.World +import Data.Maybe useC :: Cuse -> Item -> Creature -> World -> World -useC cu = case cu of +useC cu itm cr = fromMaybe id $ do + i <- itm ^? itLocation . ipInvID + return $ rmInvItem (_crID cr) i . useC' cu itm cr + +useC' :: Cuse -> Item -> Creature -> World -> World +useC' cu = case cu of CDoNothing -> const $ const id CHeal x -> const $ \cr -> cWorld . lWorld . creatures . ix (_crID cr) . crHP +~ x diff --git a/tags b/tags index 4ab693e29..befba0f8d 100644 --- a/tags +++ b/tags @@ -297,8 +297,8 @@ Bullet src/Dodge/Data/Bullet.hs 6;" m Bullet src/Dodge/Item/Weapon/Bullet.hs 1;" m BulletAmmo src/Dodge/Data/Ammo.hs 37;" C BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C -BulletBeltAttachment src/Dodge/Data/Item.hs 52;" C -BulletClipAttachment src/Dodge/Data/Item.hs 51;" C +BulletBeltAttachment src/Dodge/Data/Item.hs 53;" C +BulletClipAttachment src/Dodge/Data/Item.hs 52;" C BulletEffect src/Dodge/Data/Bullet.hs 36;" t BulletGun src/Dodge/Item/Held/BulletGun.hs 1;" m BulletGuns src/Dodge/Item/Weapon/BulletGuns.hs 1;" m @@ -1114,12 +1114,10 @@ HeavySmokeFlare src/Dodge/Data/Item/Use.hs 139;" C Held src/Dodge/Default/Held.hs 1;" m Held src/Dodge/Default/Item/Held.hs 1;" m Held src/Dodge/Item/Held.hs 1;" m -HeldCircleLaser src/Dodge/Data/Item/HeldUse.hs 26;" C HeldConsumption src/Dodge/Data/Item/Consumption.hs 14;" t HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m HeldDetectorEffect src/Dodge/Data/Item/HeldUse.hs 23;" C HeldDoNothing src/Dodge/Data/Item/HeldUse.hs 16;" C -HeldDualLaser src/Dodge/Data/Item/HeldUse.hs 27;" C HeldExplodeRemoteShell src/Dodge/Data/Item/HeldUse.hs 22;" C HeldFamily src/Dodge/Item/Family.hs 3;" C HeldFireRemoteShell src/Dodge/Data/Item/HeldUse.hs 21;" C @@ -1291,7 +1289,7 @@ Item src/Dodge/Default/Item.hs 1;" m Item src/Dodge/Item.hs 1;" m ItemAmount src/Dodge/Data/Item/Use/Amount.hs 4;" m ItemAmount src/Dodge/Data/ItemAmount.hs 4;" m -ItemAttachment src/Dodge/Data/Item.hs 50;" t +ItemAttachment src/Dodge/Data/Item.hs 51;" t ItemBaseType src/Dodge/Combine/Data.hs 81;" t ItemBaseType src/Dodge/Data/Item/Combine.hs 85;" t ItemClust src/Dodge/Combine/Graph.hs 18;" C @@ -1984,7 +1982,7 @@ PosPl src/Dodge/Room/Data.hs 45;" C PosRooms src/Dodge/Tree/Shift.hs 28;" t Posture src/Dodge/Creature/Stance/Data.hs 42;" t Posture src/Dodge/Data/Creature/Stance.hs 38;" t -PowerSourceAttachment src/Dodge/Data/Item.hs 54;" C +PowerSourceAttachment src/Dodge/Data/Item.hs 55;" C PrWdLsId src/Dodge/Data/Prop.hs 70;" C PrWdLsLs src/Dodge/Data/Prop.hs 69;" t PrWdLsLs src/Dodge/PrWdLsLs.hs 1;" m @@ -2273,7 +2271,7 @@ Scope src/Dodge/Data/Item/Scope.hs 13;" t Scope src/Dodge/Item/Attachment/Data.hs 25;" t Scope src/Dodge/Data/Item/Scope.hs 6;" m Scope src/Dodge/Item/Scope.hs 1;" m -ScopeAttachment src/Dodge/Data/Item.hs 50;" C +ScopeAttachment src/Dodge/Data/Item.hs 51;" C ScreenLayer src/Dodge/Data/Universe.hs 77;" t ScreenLayer src/Dodge/Update/Input/ScreenLayer.hs 1;" m ScreenPos src/Dodge/Data/ScreenPos.hs 9;" t @@ -2286,9 +2284,9 @@ SectionCursor src/Dodge/Data/SelectionList.hs 49;" t SeeAbove src/Dodge/Data/Wall.hs 40;" C SeeThrough src/Dodge/Data/Wall.hs 39;" C SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C -SelItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" C SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C Select_creature src/Dodge/Data/Config.hs 92;" C +SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" C SelectionInfo src/Dodge/Data/SelectionList.hs 84;" C SelectionIntMap src/SelectionIntMap.hs 1;" m SelectionItem src/Dodge/Data/SelectionList.hs 75;" t @@ -2448,7 +2446,7 @@ Stack src/Dodge/Data/Item/Combine.hs 24;" t Stance src/Dodge/Creature/Stance/Data.hs 11;" t Stance src/Dodge/Data/Creature/Stance.hs 13;" t Stance src/Dodge/Data/Creature/Stance.hs 6;" m -StandAttachment src/Dodge/Data/Item.hs 53;" C +StandAttachment src/Dodge/Data/Item.hs 54;" C StandaloneWall src/Dodge/Data/Wall.hs 49;" C Standing src/Dodge/Creature/Stance/Data.hs 25;" C Standing src/Dodge/Data/Creature/Stance.hs 25;" C @@ -3512,20 +3510,21 @@ _iselPos src/Dodge/Data/Creature/Capability.hs 22;" f _iselPos src/Dodge/Data/Creature/InvSel.hs 14;" f _iselPos src/Dodge/Data/LoadAction.hs 19;" f _ispCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" f -_itAttachments src/Dodge/Data/Item.hs 46;" f -_itCurseStatus src/Dodge/Data/Item.hs 42;" f -_itDimension src/Dodge/Data/Item.hs 41;" f -_itEffect src/Dodge/Data/Item.hs 39;" f +_itAttachments src/Dodge/Data/Item.hs 47;" f +_itCurseStatus src/Dodge/Data/Item.hs 43;" f +_itDimension src/Dodge/Data/Item.hs 42;" f +_itEffect src/Dodge/Data/Item.hs 40;" f _itID src/Dodge/Data/Item.hs 36;" f -_itInvSize src/Dodge/Data/Item.hs 40;" f -_itIsHeld src/Dodge/Data/Item.hs 38;" f +_itInvSize src/Dodge/Data/Item.hs 41;" f +_itIsRoot src/Dodge/Data/Item.hs 38;" f +_itIsSelected src/Dodge/Data/Item.hs 39;" f _itLocation src/Dodge/Data/Item.hs 37;" f -_itParams src/Dodge/Data/Item.hs 45;" f -_itScope src/Dodge/Data/Item.hs 44;" f -_itTweaks src/Dodge/Data/Item.hs 43;" f +_itParams src/Dodge/Data/Item.hs 46;" f +_itScope src/Dodge/Data/Item.hs 45;" f +_itTweaks src/Dodge/Data/Item.hs 44;" f _itType src/Dodge/Data/Item.hs 35;" f _itUse src/Dodge/Data/Item.hs 34;" f -_itUseAimStance src/Dodge/Data/Item.hs 57;" f +_itUseAimStance src/Dodge/Data/Item.hs 58;" f _itemLocations src/Dodge/Data/LWorld.hs 100;" f _iyBase src/Dodge/Combine/Data.hs 13;" f _iyBase src/Dodge/Data/Item/Combine.hs 17;" f @@ -4381,7 +4380,7 @@ advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 295;" f aimDelaySweep src/Dodge/Render/ShapePicture.hs 44;" f aimStanceInfo src/Dodge/Item/Info.hs 229;" f -aimTurn src/Dodge/Creature/YourControl.hs 188;" f +aimTurn src/Dodge/Creature/YourControl.hs 189;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f aimingMuzzlePos src/Dodge/Creature/HandPos.hs 41;" f aimingWeaponHandlePos src/Dodge/Creature/HandPos.hs 28;" f @@ -4518,7 +4517,7 @@ bangRod src/Dodge/Item/Weapon/BulletGun/Rod.hs 18;" f bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 478;" f bangStick src/Dodge/Item/Held/Stick.hs 17;" f bangStick src/Dodge/Item/Weapon/BulletGun/Stick.hs 17;" f -bangStickSoundChoice src/Dodge/HeldUse.hs 440;" f +bangStickSoundChoice src/Dodge/HeldUse.hs 445;" f bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f @@ -4546,7 +4545,6 @@ basicAttentionUpdate src/Dodge/Creature/AlertLevel.hs 50;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/AlertLevel.hs 25;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 37;" f -basicBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 126;" f basicBulDams src/Dodge/Item/Weapon/Bullet.hs 26;" f basicCrPict src/Dodge/Creature/Picture.hs 25;" f basicCrShape src/Dodge/Creature/Picture.hs 32;" f @@ -4555,7 +4553,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 50;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 155;" f +basicMuzFlare src/Dodge/HeldUse.hs 160;" f basicPerceptionUpdateR src/Dodge/Creature/AlertLevel.hs 17;" f basicTerminal src/Dodge/Terminal.hs 32;" f battery src/Dodge/Item/Ammo.hs 76;" f @@ -4653,7 +4651,7 @@ calcTexCoord src/Tile.hs 17;" f canAttachTargeting src/Dodge/Item/Display.hs 19;" f canSee src/Dodge/Base/Collide.hs 228;" f canSeeIndirect src/Dodge/Base/Collide.hs 235;" f -caneStickSoundChoice src/Dodge/HeldUse.hs 435;" f +caneStickSoundChoice src/Dodge/HeldUse.hs 440;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f cardinalVectors src/Dodge/FloorItem.hs 39;" f @@ -4668,10 +4666,10 @@ chain src/Dodge/LightSources/Lamp.hs 119;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainPairs src/Geometry.hs 363;" f changeFuse src/Dodge/Item/Attachment.hs 25;" f -changeSwapClose src/Dodge/Inventory.hs 209;" f -changeSwapInv src/Dodge/Inventory.hs 225;" f -changeSwapSel src/Dodge/Inventory.hs 201;" f -changeSwapWith src/Dodge/Inventory.hs 260;" f +changeSwapClose src/Dodge/Inventory.hs 210;" f +changeSwapInv src/Dodge/Inventory.hs 226;" f +changeSwapSel src/Dodge/Inventory.hs 202;" f +changeSwapWith src/Dodge/Inventory.hs 262;" f changeTweakParam src/Dodge/Update/Scroll.hs 118;" f changeZonedWall src/Dodge/LevelGen/MoveDoor.hs 33;" f charFiringStratI src/Dodge/Item/Attachment.hs 15;" f @@ -4702,10 +4700,10 @@ chooseCursorBorders src/Dodge/Render/List.hs 126;" f chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f -chooseMovementLtAuto src/Dodge/CreatureEffect.hs 104;" f +chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f chooseMovementPistol src/Dodge/Humanoid.hs 202;" f chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f -chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 87;" f +chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f circOnAnyCr src/Dodge/Base/Collide.hs 193;" f circOnSeg src/Geometry.hs 104;" f circOnSegNoEndpoints src/Geometry.hs 94;" f @@ -4838,7 +4836,7 @@ crCrSpring src/Dodge/Update.hs 648;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f -crGetTargeting src/Dodge/Creature/State.hs 282;" f +crGetTargeting src/Dodge/Creature/State.hs 284;" f crHasTarget src/Dodge/Creature/Test.hs 59;" f crHasTargetLOS src/Dodge/Creature/Test.hs 62;" f crHit src/Dodge/WorldEvent/ThingsHit.hs 68;" f @@ -5029,7 +5027,7 @@ defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultBulletLoadable src/Dodge/Default/Item/Held/Consumption.hs 18;" f defaultBulletSelTweak src/Dodge/TweakBullet.hs 7;" f -defaultBulletWeapon src/Dodge/Default/Item.hs 48;" f +defaultBulletWeapon src/Dodge/Default/Item.hs 49;" f defaultButton src/Dodge/Default.hs 51;" f defaultCOSection src/Dodge/Default/World.hs 203;" f defaultCWCam src/Dodge/Default/World.hs 64;" f @@ -5039,9 +5037,9 @@ defaultChaseMvType src/Dodge/Default/Creature.hs 113;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultConfig src/Dodge/Config/Data.hs 83;" f defaultConfig src/Dodge/Data/Config.hs 125;" f -defaultConsumable src/Dodge/Default/Item.hs 69;" f +defaultConsumable src/Dodge/Default/Item.hs 70;" f defaultCorpse src/Dodge/Corpse/Make.hs 29;" f -defaultCraftItem src/Dodge/Default/Item.hs 42;" f +defaultCraftItem src/Dodge/Default/Item.hs 43;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 72;" f defaultCreatureSkin src/Dodge/Default/Creature.hs 66;" f @@ -5078,7 +5076,7 @@ defaultItemDimension src/Dodge/Default/Item.hs 15;" f defaultKeyConfigSDL src/Dodge/Config/KeyConfig.hs 38;" f defaultLS src/Dodge/Default/LightSource.hs 6;" f defaultLWorld src/Dodge/Default/World.hs 91;" f -defaultLeftItem src/Dodge/Default/Item.hs 39;" f +defaultLeftItem src/Dodge/Default/Item.hs 40;" f defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f defaultLeftUse src/Dodge/Default/Item/Use.hs 14;" f defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f @@ -5106,7 +5104,7 @@ defaultTerminal src/Dodge/Default/Terminal.hs 8;" f defaultTerminalInput src/Dodge/Default/Terminal.hs 30;" f defaultVision src/Dodge/Default/Creature.hs 92;" f defaultWall src/Dodge/Default/Wall.hs 10;" f -defaultWeapon src/Dodge/Default/Item.hs 59;" f +defaultWeapon src/Dodge/Default/Item.hs 60;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f defaultWorld src/Dodge/Default/World.hs 31;" f defaultWorldHammers src/Dodge/Default/Input.hs 28;" f @@ -5176,11 +5174,11 @@ doButtonEvent src/Dodge/Button/Event.hs 9;" f doCombine src/Dodge/Update/UsingInput.hs 57;" f doConLoop src/Loop.hs 137;" f doConLoop' src/Loop.hs 226;" f -doCrAc src/Dodge/CreatureEffect.hs 60;" f +doCrAc src/Dodge/CreatureEffect.hs 61;" f doCrBl src/Dodge/CreatureEffect.hs 49;" f doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f doCrImp src/Dodge/CreatureEffect.hs 28;" f -doCrWdAc src/Dodge/CreatureEffect.hs 76;" 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 164;" f @@ -5193,7 +5191,7 @@ doDrawing src/Dodge/Render.hs 35;" f doDrawing' src/Dodge/Render.hs 46;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f doFloorEffect src/Dodge/ItEffect.hs 21;" f -doGenFloat src/Dodge/HeldUse.hs 403;" f +doGenFloat src/Dodge/HeldUse.hs 408;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 25;" f @@ -5203,13 +5201,13 @@ doItCrWdWd src/Dodge/WorldEffect.hs 49;" f doItemTimeScroll src/Dodge/Update.hs 180;" f doLoadAction src/Dodge/Reloading.hs 93;" f doLoop src/Loop.hs 60;" f -doMCrAc src/Dodge/CreatureEffect.hs 56;" f -doMP2Ac src/Dodge/CreatureEffect.hs 72;" f +doMCrAc src/Dodge/CreatureEffect.hs 57;" f +doMP2Ac src/Dodge/CreatureEffect.hs 73;" f doMagnetBuBu src/Dodge/MagnetBuBu.hs 7;" f doMagnetUpdate src/Dodge/Magnet/Update.hs 6;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f doOutPlacements src/Dodge/Layout.hs 102;" f -doP2Ac src/Dodge/CreatureEffect.hs 68;" f +doP2Ac src/Dodge/CreatureEffect.hs 69;" f doP2Imp src/Dodge/CreatureEffect.hs 33;" f doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f doPreload appDodge/Main.hs 130;" f @@ -5387,7 +5385,6 @@ dtToAdjRootParent src/Dodge/DoubleTree.hs 50;" f dtToAdjacency src/Dodge/DoubleTree.hs 29;" f dtToLRAdj src/Dodge/DoubleTree.hs 43;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 35;" f -dualRayAt src/Dodge/Item/Weapon/BatteryGuns.hs 144;" f dummyMenuOption src/Dodge/Menu/Option.hs 81;" f duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 743;" f duplicateLoaded src/Dodge/Item/Weapon/TriggerType.hs 689;" f @@ -5481,7 +5478,7 @@ findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWithIx src/ListHelp.hs 123;" f fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f -fireRemoteShell src/Dodge/HeldUse.hs 407;" f +fireRemoteShell src/Dodge/HeldUse.hs 412;" f fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f fireShell src/Dodge/Projectile/Create.hs 37;" f fireSound src/Dodge/SoundLogic/Synonyms.hs 4;" f @@ -5513,8 +5510,8 @@ flatV2 src/Picture/Data.hs 65;" f flatV3 src/Picture/Data.hs 68;" f flatV4 src/Picture/Data.hs 71;" f flattenIMIMIM src/Dodge/Base/Zone.hs 246;" f -fleeFrom src/Dodge/CreatureEffect.hs 119;" f -fleeFromTarget src/Dodge/CreatureEffect.hs 65;" f +fleeFrom src/Dodge/CreatureEffect.hs 120;" f +fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f flipSwitch src/Dodge/Button/Event.hs 21;" f @@ -5539,7 +5536,7 @@ foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 394;" f foldCr src/Dodge/Creature/State.hs 36;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f -followImpulse src/Dodge/Creature/Impulse.hs 36;" f +followImpulse src/Dodge/Creature/Impulse.hs 37;" f followImpulse src/Dodge/Creature/Rationality.hs 43;" f followImpulses src/Dodge/Creature/Impulse.hs 31;" f followImpulses src/Dodge/Creature/Rationality.hs 31;" f @@ -5584,7 +5581,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 399;" f +gasCreate src/Dodge/HeldUse.hs 404;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -5846,12 +5843,12 @@ invertIntMap src/Multiset.hs 61;" f invertInventoryToMap src/Dodge/Combine.hs 25;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 176;" f +isAmmoIntLink src/Dodge/HeldUse.hs 181;" f isAnimate src/Dodge/Creature/Test.hs 138;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isElectrical src/Dodge/Data/Damage.hs 42;" f isElectrical src/Dodge/Data/DamageType.hs 44;" f -isFrictionless src/Dodge/Creature/State.hs 320;" f +isFrictionless src/Dodge/Creature/State.hs 322;" f isGas src/Dodge/Euse.hs 64;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f isJust' src/MaybeHelp.hs 29;" f @@ -5884,11 +5881,11 @@ itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f itemBlips src/Dodge/RadarSweep.hs 74;" f itemCombinations src/Dodge/Combine/Combinations.hs 54;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 55;" f -itemDetectorEffect src/Dodge/HeldUse.hs 195;" f +itemDetectorEffect src/Dodge/HeldUse.hs 200;" f itemDisplay src/Dodge/Item/Display.hs 33;" f itemDisplayPad src/Dodge/Item/Display.hs 45;" f itemEffect src/Dodge/Creature/Action/UseItem.hs 28;" f -itemEffect src/Dodge/Creature/Impulse/UseItem.hs 37;" f +itemEffect src/Dodge/Creature/Impulse/UseItem.hs 35;" f itemEquipPict src/Dodge/Item/Draw.hs 17;" f itemFromAmmoMag src/Dodge/Item.hs 29;" f itemFromAttachType src/Dodge/Item.hs 39;" f @@ -6031,7 +6028,7 @@ loadEject src/Dodge/Reloading/Action.hs 12;" f loadInsert src/Dodge/Reloading/Action.hs 6;" f loadKeyConfig src/Dodge/Config/KeyConfig.hs 60;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f -loadMuzzle src/Dodge/HeldUse.hs 127;" f +loadMuzzle src/Dodge/HeldUse.hs 132;" f loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f loadPrime src/Dodge/Reloading/Action.hs 15;" f loadSaveSlot src/Dodge/Save.hs 74;" f @@ -6088,7 +6085,7 @@ makeArc src/Picture/Base.hs 157;" f makeBlip src/Dodge/RadarSweep.hs 50;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 271;" f +makeBullet src/Dodge/HeldUse.hs 276;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 137;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -6118,7 +6115,7 @@ makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f makeLaserAt src/Dodge/Item/Weapon/Laser.hs 42;" f makeLaserScope src/Dodge/Item/Weapon/Decoration.hs 12;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 139;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 144;" f makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f @@ -6181,10 +6178,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f mcSPic src/Dodge/Render/ShapePicture.hs 169;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f -mcShootLaser src/Dodge/HeldUse.hs 455;" f +mcShootLaser src/Dodge/HeldUse.hs 460;" f mcTriggerVal src/Dodge/Machine/Update.hs 75;" f mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f -mcUseHeld src/Dodge/HeldUse.hs 296;" f +mcUseHeld src/Dodge/HeldUse.hs 301;" f mcUseItem src/Dodge/Machine/Update.hs 61;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 71;" f @@ -6279,7 +6276,7 @@ mountedLight src/Dodge/LightSources/Fitting.hs 8;" f mountedLightI src/Dodge/LightSources/Fitting.hs 62;" f mountedLightJ src/Dodge/LightSources/Fitting.hs 25;" f mountedLightV src/Dodge/LightSources/Fitting.hs 68;" f -mouseActionsCr src/Dodge/Creature/YourControl.hs 196;" f +mouseActionsCr src/Dodge/Creature/YourControl.hs 197;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f mouseCursorType src/Dodge/Render/Picture.hs 74;" f mouseOverSelectionList src/Dodge/Update/Input/ScreenLayer.hs 73;" f @@ -6479,8 +6476,8 @@ pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f picAtCrPos1 src/Dodge/Render/ShapePicture.hs 99;" f picFormat src/Polyhedra.hs 22;" f picMap src/Picture/Base.hs 67;" f -pickUpItem src/Dodge/Creature/Action.hs 242;" f -pickUpItemID src/Dodge/Creature/Action.hs 238;" f +pickUpItem src/Dodge/Creature/Action.hs 243;" f +pickUpItemID src/Dodge/Creature/Action.hs 239;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f pickUpSound src/Dodge/SoundLogic/Synonyms.hs 4;" f picsToSelectable src/Dodge/Render/HUD.hs 346;" f @@ -6825,7 +6822,7 @@ remoteBombUnarmedPic src/Dodge/Item/Weapon/Grenade.hs 268;" f remoteLauncher src/Dodge/Item/Held/Launcher.hs 66;" f remoteShellCollisionCheck src/Dodge/Projectile/Update.hs 42;" f remoteShellShape src/Dodge/Projectile/Draw.hs 39;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 254;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 259;" f removeEither src/Dodge/Layout/Tree/Either.hs 41;" f removeHotkey src/Dodge/Hotkey.hs 41;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f @@ -6891,7 +6888,7 @@ rmInLinks src/Dodge/RoomLink.hs 138;" f rmInvItem src/Dodge/Inventory.hs 39;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f -rmSelectedInvItem src/Dodge/Inventory.hs 161;" f +rmSelectedInvItem src/Dodge/Inventory.hs 162;" f rocketHomer src/Dodge/Item/Ammo.hs 109;" f rocketRemoteScreen src/Dodge/Item/Scope.hs 24;" f roomC src/Dodge/Room/Room.hs 39;" f @@ -6991,7 +6988,7 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f -scrollAugInvSel src/Dodge/Inventory.hs 266;" f +scrollAugInvSel src/Dodge/Inventory.hs 268;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 133;" f scrollCommands src/Dodge/Update/Scroll.hs 130;" f scrollDebugInfoInt src/Dodge/Debug.hs 46;" f @@ -7019,7 +7016,7 @@ selSecSelCol src/Dodge/Render/HUD.hs 377;" f selSecSelSize src/Dodge/SelectionSections.hs 124;" f selSecYint src/Dodge/SelectionSections.hs 127;" f selectCreatureDebugItem src/Dodge/Debug.hs 38;" f -selectedCloseObject src/Dodge/Inventory.hs 292;" f +selectedCloseObject src/Dodge/Inventory.hs 295;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f senseDamage src/Dodge/Machine/Update.hs 134;" f @@ -7049,7 +7046,7 @@ setHotkey src/Dodge/Hotkey.hs 38;" f setInLinks src/Dodge/RoomLink.hs 51;" f setInLinksByType src/Dodge/RoomLink.hs 54;" f setInLinksPD src/Dodge/RoomLink.hs 74;" f -setInvPosFromSS src/Dodge/Inventory.hs 274;" f +setInvPosFromSS src/Dodge/Inventory.hs 276;" f setItemCharge src/Dodge/ItEffect.hs 36;" f setLayer src/Picture/Base.hs 139;" f setLinkType src/Dodge/RoomLink.hs 60;" f @@ -7139,7 +7136,7 @@ shootBangCone src/Dodge/HeldUse/BulletWeapon.hs 98;" f shootBangRod src/Dodge/HeldUse/BulletWeapon.hs 185;" f shootBangstick src/Dodge/HeldUse/BulletWeapon.hs 9;" f shootBezier src/Dodge/Item/Weapon/Bezier.hs 51;" f -shootBullet src/Dodge/HeldUse.hs 259;" f +shootBullet src/Dodge/HeldUse.hs 264;" f shootBurstRifle src/Dodge/HeldUse/BulletWeapon.hs 164;" f shootBurstRifleRepeat src/Dodge/HeldUse/BulletWeapon.hs 176;" f shootElephantGun src/Dodge/HeldUse/BulletWeapon.hs 196;" f @@ -7149,7 +7146,7 @@ shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f shootL src/Dodge/Item/Weapon/TriggerType.hs 429;" f shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 77;" f -shootLaser' src/Dodge/HeldUse.hs 237;" f +shootLaser' src/Dodge/HeldUse.hs 242;" f shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f shootMachinePistol src/Dodge/HeldUse/BulletWeapon.hs 62;" f shootMiniGun src/Dodge/HeldUse/BulletWeapon.hs 113;" f @@ -7160,9 +7157,9 @@ shootRevolverXRepeat src/Dodge/HeldUse/BulletWeapon.hs 49;" f shootRifle src/Dodge/HeldUse/BulletWeapon.hs 140;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f -shootTeslaArc src/Dodge/HeldUse.hs 464;" f +shootTeslaArc src/Dodge/HeldUse.hs 469;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 215;" f +shootTractorBeam src/Dodge/HeldUse.hs 220;" f shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f shootersRoom src/Dodge/Room/Room.hs 317;" f shootersRoom' src/Dodge/Room/Room.hs 282;" f @@ -7209,7 +7206,7 @@ sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f sineRaisePitchOneSecSound src/Dodge/SoundLogic/Synonyms.hs 31;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 340;" f sineRaisePitchTwoSecSound src/Dodge/SoundLogic/Synonyms.hs 33;" f -singleAmmo src/Dodge/Default/Item.hs 45;" f +singleAmmo src/Dodge/Default/Item.hs 46;" f singleBarrel src/Dodge/Item/Held/SingleBarrel.hs 6;" f singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f singleBlock src/Dodge/Placements/Wall.hs 11;" f @@ -7220,7 +7217,7 @@ singleton src/DoubleStack.hs 11;" f singletonTrie src/SimpleTrie.hs 14;" f sizeFBOs src/Framebuffer/Update.hs 22;" f sizeModule src/Dodge/Item/Craftable.hs 38;" f -sizeSelf src/Dodge/Creature/Action.hs 215;" f +sizeSelf src/Dodge/Creature/Action.hs 216;" f sizeZoneOfPoint src/Dodge/Base/Zone.hs 43;" f skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 366;" f skwareFadeTwoSecSound src/Dodge/SoundLogic/Synonyms.hs 35;" f @@ -7499,7 +7496,7 @@ toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 32;" f toggleCommand src/Dodge/Terminal.hs 194;" f -toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 61;" f +toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 56;" f toggleJust src/MaybeHelp.hs 41;" f toggleMap src/Dodge/Update/Input/InGame.hs 237;" f toggleMapKey src/Dodge/Config/KeyConfig.hs 25;" f @@ -7518,7 +7515,7 @@ torso src/Dodge/Creature/Picture.hs 132;" f tractCr src/Dodge/TractorBeam/Update.hs 27;" f tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f tractorBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 160;" f -tractorBeamAt' src/Dodge/HeldUse.hs 226;" f +tractorBeamAt' src/Dodge/HeldUse.hs 231;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 80;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 485;" f tractorGunTweak src/Dodge/Item/Held/BatteryGuns.hs 98;" f @@ -7651,7 +7648,7 @@ upHammer src/Dodge/Default.hs 77;" f upProjectile src/Dodge/Projectile/Update.hs 54;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f -updateAutoRecharge src/Dodge/Creature/State.hs 270;" f +updateAutoRecharge src/Dodge/Creature/State.hs 272;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 159;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f @@ -7661,7 +7658,7 @@ updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f updateBullets src/Dodge/Update.hs 425;" f updateCamera src/Dodge/Update/Camera.hs 32;" f -updateCloseObjects src/Dodge/Inventory.hs 167;" f +updateCloseObjects src/Dodge/Inventory.hs 168;" f updateCloud src/Dodge/Update.hs 605;" f updateClouds src/Dodge/Update.hs 454;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f @@ -7707,7 +7704,7 @@ updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 128;" f updateMIM src/Dodge/Update.hs 544;" f updateMachine src/Dodge/Machine/Update.hs 16;" f -updateMovement src/Dodge/Creature/State.hs 309;" f +updateMovement src/Dodge/Creature/State.hs 311;" f updateObjCatMaybes src/Dodge/Update.hs 403;" f updateObjMapMaybe src/Dodge/Update.hs 396;" f updatePS src/Dodge/Placements/Spot.hs 26;" f @@ -7728,6 +7725,7 @@ updateRadarSweep src/Dodge/RadarSweep.hs 24;" f updateRadarSweeps src/Dodge/Update.hs 445;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 105;" f +updateRootItemID src/Dodge/Inventory/FindRoot.hs 13;" f updateScopeZoom src/Dodge/Update/Camera.hs 129;" f updateScopeZoom' src/Dodge/Update/Camera.hs 134;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f @@ -7787,27 +7785,29 @@ upsProjectile src/Dodge/Projectile/Update.hs 51;" f useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 346;" f useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 364;" f useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f -useC src/Dodge/Cuse.hs 6;" f +useC src/Dodge/Cuse.hs 8;" f +useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 24;" f useEquipment src/Dodge/Creature/State.hs 222;" f -useForceFieldGun src/Dodge/HeldUse.hs 477;" f -useGasParams src/Dodge/HeldUse.hs 378;" f -useHeld src/Dodge/HeldUse.hs 301;" f +useForceFieldGun src/Dodge/HeldUse.hs 482;" f +useGasParams src/Dodge/HeldUse.hs 383;" f +useHeld src/Dodge/HeldUse.hs 306;" f useHotKey src/Dodge/Creature/YourControl.hs 49;" f useItem src/Dodge/Creature/Action/UseItem.hs 14;" f -useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 124;" f -useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 104;" f -useItemRightClick src/Dodge/Creature/Impulse/UseItem.hs 25;" f +useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 128;" f +useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 101;" f +useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 116;" f useL src/Dodge/Luse.hs 13;" f useLeftItem src/Dodge/Creature/Action/UseItem.hs 38;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 180;" f +useLoadedAmmo src/Dodge/HeldUse.hs 185;" f useMagShield src/Dodge/Euse.hs 69;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f useRewindGun src/Dodge/Luse.hs 41;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f +useRootItem src/Dodge/Creature/Impulse/UseItem.hs 25;" f useShrinkGun src/Dodge/Luse.hs 59;" f useStopWatch src/Dodge/Luse.hs 24;" f useTargetPos src/Dodge/Item/Weapon/Targeting.hs 9;" f @@ -7849,7 +7849,7 @@ volleyGun src/Dodge/Item/Held/Cane.hs 32;" f volleyGun src/Dodge/Item/Weapon/BulletGun/Cane.hs 43;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 373;" f waistSP src/Dodge/Creature/HandPos.hs 199;" f -walkNozzle src/Dodge/HeldUse.hs 200;" f +walkNozzle src/Dodge/HeldUse.hs 205;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/Item/Weapon/UseEffect.hs 43;" f wallBlips src/Dodge/RadarSweep.hs 79;" f @@ -7872,8 +7872,8 @@ warningRooms src/Dodge/Room/Warning.hs 29;" f wasdAim src/Dodge/Creature/YourControl.hs 147;" f wasdDir src/Dodge/WASD.hs 17;" f wasdM src/Dodge/WASD.hs 9;" f -wasdMovement src/Dodge/Creature/YourControl.hs 176;" f -wasdTwist src/Dodge/Creature/YourControl.hs 155;" f +wasdMovement src/Dodge/Creature/YourControl.hs 177;" f +wasdTwist src/Dodge/Creature/YourControl.hs 156;" f wasdWithAiming src/Dodge/Creature/YourControl.hs 136;" f watchCombinations src/Dodge/Combine/Combinations.hs 15;" f watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 177;" f