diff --git a/src/Dodge/Creature.hs b/src/Dodge/Creature.hs index 7de11dd4e..b74d4e7d3 100644 --- a/src/Dodge/Creature.hs +++ b/src/Dodge/Creature.hs @@ -121,6 +121,9 @@ inventoryX c = case c of , fuelPack , chemFuelPouch , copier ABSOLUTE + , nulgate + , unigate + , bingate ] 'B' -> [ wristArmour diff --git a/src/Dodge/Data/Item/Combine.hs b/src/Dodge/Data/Item/Combine.hs index 32de64250..3ea2468f8 100644 --- a/src/Dodge/Data/Item/Combine.hs +++ b/src/Dodge/Data/Item/Combine.hs @@ -26,8 +26,9 @@ data ItemType | DROPPER InventoryPathing | CLICKER InventoryPathing | COPIER {_ibtPathing :: InventoryPathing} - | UGATE - | BGATE + | NULGATE + | UNIGATE + | BINGATE | INTROSCAN {_ibtIntroScanType :: IntroScanType} | DETECTOR {_ibtDetector :: Detector} | ARHUD diff --git a/src/Dodge/Inventory/SelectionList.hs b/src/Dodge/Inventory/SelectionList.hs index 614583952..e38ecdd85 100644 --- a/src/Dodge/Inventory/SelectionList.hs +++ b/src/Dodge/Inventory/SelectionList.hs @@ -8,6 +8,7 @@ module Dodge.Inventory.SelectionList ( getItemValue, ) where +import Numeric import Dodge.Inventory.Path import Control.Applicative import ShortShow @@ -86,13 +87,34 @@ itemExternalValue itm w cr | ITEMSCAN <- itm ^. itType , Just ExamineInventory <- w ^? hud . hudElement . subInventory = Just (Right "ON") --- , Just x <- itm ^? itScroll . itsInt --- , Just invid <- itm ^? itLocation . ilInvID --- , Just i <- getInventoryPath x ip invid cr --- , Just itm' <- cr ^? crInv . ix i --- = getItemValue itm' w cr + | BINGATE <- itm ^. itType = do + invid <- itm ^? itLocation . ilInvID + litm <- cr ^? crInv . ix (invid -2) + ritm <- cr ^? crInv . ix (invid -1) + x <- itm ^? itScroll . itsRangeInt + l <- getItemValue litm w cr ^? _Just . _Left + r <- getItemValue ritm w cr ^? _Just . _Left + Just . Left $ bgateCalc x l r + | UNIGATE <- itm ^. itType = do + invid <- itm ^? itLocation . ilInvID + itm' <- cr ^? crInv . ix (invid -1) + x <- itm ^? itScroll . itsRangeInt + y <- getItemValue itm' w cr ^? _Just . _Left + Just . Left $ ugateCalc x y | otherwise = mempty +ugateCalc :: Int -> Int -> Int +ugateCalc x y = (x `div` ((2::Int) ^ ((f y) ::Int))::Int) `mod` 2 + where + f i | i > 0 = 1 + | otherwise = 0 + +bgateCalc :: Int -> Int -> Int -> Int +bgateCalc x l r = (x `div` ((2::Int) ^ ((2::Int)*f l + f r))) `mod` 2 + where + f i | i > 0 = 1 + | otherwise = 0 + itemScrollDisplay :: Item -> Maybe String itemScrollDisplay itm | HELD ALTERIFLE <- itm ^. itType = Just $ @@ -100,12 +122,28 @@ itemScrollDisplay itm Just 0 -> "L" _ -> "R" | UseScope OpticScope{_opticZoom = x} <- itm ^. itUse = Just $ shortShow x + | UNIGATE <- itm ^. itType = do + i <- itm ^? itScroll . itsRangeInt + return $ toBinary 2 i + | BINGATE <- itm ^. itType = do + i <- itm ^? itScroll . itsRangeInt + return $ toBinary 4 i | ItemScrollInt i <- itm ^. itScroll = Just $ show i | ItemScrollIntRange _ i <- itm ^. itScroll = Just $ show i | otherwise = Nothing +toBinary :: Int -> Int -> String +toBinary x = leftPad x '0' . ($ []) . showIntAtBase 2 f + where + f 0 = '0' + f _ = '1' + getItemValue :: Item -> World -> Creature -> Maybe (Either Int String) getItemValue itm w cr = itemInternalValue itm <|> itemExternalValue itm w cr + <|> itemScrollValue itm + +itemScrollValue :: Item -> Maybe (Either Int b) +itemScrollValue itm = Left <$> itm ^? itScroll . failing itsInt itsRangeInt --itemDisplayPad :: [Char] -> String -> [Char] --itemDisplayPad ls rs diff --git a/src/Dodge/ItEffect.hs b/src/Dodge/ItEffect.hs index f46409d8f..4858532be 100644 --- a/src/Dodge/ItEffect.hs +++ b/src/Dodge/ItEffect.hs @@ -27,6 +27,8 @@ doInvEffect = \case ItemCopierUpdate -> copierItemUpdate ItemReduceWarmTime -> \itm _ -> pointerToItem itm . itUse . heldDelay . warmTime %~ (max 0 . subtract 1) + -- use of pointerToItemID rather than pointerToItem because the item + -- location is changing ItemSetWarmTime x -> \itm _ -> pointerToItemID (_itID itm) . itUse . heldDelay . warmTime .~ x diff --git a/src/Dodge/Item.hs b/src/Dodge/Item.hs index b9d4e553b..1afcb95c7 100644 --- a/src/Dodge/Item.hs +++ b/src/Dodge/Item.hs @@ -33,8 +33,9 @@ itemFromBase = \case DROPPER x -> dropper x CLICKER x -> clicker x COPIER x -> copier x - BGATE -> bgate - UGATE -> ugate + NULGATE -> nulgate + UNIGATE -> unigate + BINGATE -> bingate itemFromAmmoMag :: AmmoMagType -> Item itemFromAmmoMag at = case at of diff --git a/src/Dodge/Item/Display.hs b/src/Dodge/Item/Display.hs index e71983fc7..d2ffd9d89 100644 --- a/src/Dodge/Item/Display.hs +++ b/src/Dodge/Item/Display.hs @@ -75,8 +75,9 @@ itemBaseName = \case DROPPER x -> "DROPPER-" ++ showInventoryPathing x CLICKER x -> "CLICKER-" ++ showInventoryPathing x COPIER x -> "COPIER-" ++ showInventoryPathing x - BGATE -> "BGATE" - UGATE -> "UGATE" + BINGATE -> "BINGATE" + UNIGATE -> "UNIGATE" + NULGATE -> "NULGATE" showInventoryPathing :: InventoryPathing -> String showInventoryPathing = \case diff --git a/src/Dodge/Item/Draw/SPic.hs b/src/Dodge/Item/Draw/SPic.hs index 4170eaba7..f3ad727f4 100644 --- a/src/Dodge/Item/Draw/SPic.hs +++ b/src/Dodge/Item/Draw/SPic.hs @@ -49,8 +49,9 @@ itemSPic it = case it ^. itType of DROPPER{} -> defSPic CLICKER{} -> defSPic COPIER{} -> defSPic - BGATE -> defSPic - UGATE -> defSPic + BINGATE -> defSPic + UNIGATE -> defSPic + NULGATE -> defSPic craftItemSPic :: CraftType -> Shape craftItemSPic = \case diff --git a/src/Dodge/Item/Scope.hs b/src/Dodge/Item/Scope.hs index 286d7333d..6ec045f1a 100644 --- a/src/Dodge/Item/Scope.hs +++ b/src/Dodge/Item/Scope.hs @@ -20,8 +20,9 @@ module Dodge.Item.Scope ( dropper, clicker, copier, - bgate, - ugate, + nulgate, + unigate, + bingate, ) where import Dodge.Item.Attach @@ -92,19 +93,27 @@ copier x = & itScroll .~ ItemScrollInt 0 & itEffect . ieInv .~ ItemCopierUpdate -bgate :: Item -bgate = +nulgate :: Item +nulgate = defaultHeldItem - & itType .~ BGATE - & itUse .~ UseInt 0 - & itScroll .~ ItemScrollIntRange 15 0 + & itType .~ NULGATE + & itUse .~ UseNothing + & itScroll .~ ItemScrollIntRange 2 0 -ugate :: Item -ugate = +unigate :: Item +unigate = defaultHeldItem - & itType .~ UGATE - & itUse .~ UseInt 0 - & itScroll .~ ItemScrollIntRange 3 0 + & itType .~ UNIGATE + & itUse .~ UseNothing + & itScroll .~ ItemScrollIntRange 4 0 + +bingate :: Item +bingate = + defaultHeldItem + & itType .~ BINGATE + & itUse .~ UseNothing + & itScroll .~ ItemScrollIntRange 16 0 + bulletModule :: BulletMod -> Item bulletModule bm = diff --git a/tags b/tags index 240faeef4..e524ac57d 100644 --- a/tags +++ b/tags @@ -25,9 +25,9 @@ ALTERIFLE src/Dodge/Data/Item/Combine.hs 151;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 20;" C AMR src/Dodge/Data/Item/Combine.hs 156;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 66;" C -APInt src/Dodge/Data/Item/Use.hs 76;" C -APNothing src/Dodge/Data/Item/Use.hs 77;" C -APProjectiles src/Dodge/Data/Item/Use.hs 75;" C +APInt src/Dodge/Data/Item/Use.hs 77;" C +APNothing src/Dodge/Data/Item/Use.hs 78;" C +APProjectiles src/Dodge/Data/Item/Use.hs 76;" C AQUAMARINE src/Color/Data.hs 24;" C ARHUD src/Dodge/Data/Item/Combine.hs 33;" C ARHUDSF src/Dodge/Data/ComposedItem.hs 50;" C @@ -46,9 +46,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 121;" 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 190;" 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 @@ -65,10 +65,10 @@ AmmoMagSF src/Dodge/Data/ComposedItem.hs 51;" C AmmoMagType src/Dodge/Data/Item/Combine.hs 103;" t AmmoModLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 57;" C -AmmoParams src/Dodge/Data/Item/Use.hs 113;" t +AmmoParams src/Dodge/Data/Item/Use.hs 114;" t AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 21;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 59;" C -AmmoPerShot src/Dodge/Data/Item/Use.hs 163;" t +AmmoPerShot src/Dodge/Data/Item/Use.hs 164;" t AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 20;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 58;" C AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" 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 74;" t +AttachParams src/Dodge/Data/Item/Use.hs 75;" t AttachType src/Dodge/Data/Item/Combine.hs 89;" t Attention src/Dodge/Data/Creature/Perception.hs 60;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C @@ -105,7 +105,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 71;" C +AutoTrigger src/Dodge/Data/Item/Use.hs 72;" 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 @@ -146,7 +146,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 134;" 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 @@ -156,7 +156,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 95;" 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 115;" 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 99;" 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 @@ -496,7 +496,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 35;" C -DefaultHeldParams src/Dodge/Data/Item/Use.hs 81;" C +DefaultHeldParams src/Dodge/Data/Item/Use.hs 82;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C DefaultTerminal src/Dodge/Data/Terminal.hs 55;" C @@ -686,7 +686,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 132;" t FlashBall src/Dodge/Data/Bullet.hs 32;" C FlatFaces src/Shape/Data.hs 17;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 17;" C @@ -756,8 +756,8 @@ GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 41;" t GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" 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 117;" C +GasSprayParams src/Dodge/Data/Item/Use.hs 83;" 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 @@ -819,23 +819,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 71;" C +HammerTrigger src/Dodge/Data/Item/Use.hs 72;" 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 137;" 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 136;" 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 81;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 41;" 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 55;" t +HeldUseEffect src/Dodge/Data/Item/Use.hs 56;" t HelpNum src/HelpNum.hs 1;" m HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 48;" C @@ -939,28 +939,31 @@ IsolationUnitSS src/Dodge/Data/Scenario.hs 101;" C ItAmount src/Dodge/Data/Item/Use/Consumption.hs 39;" t ItCrWdItemHeldEffect src/Dodge/Data/WorldEffect.hs 20;" C ItCrWdWd src/Dodge/Data/WorldEffect.hs 20;" t -ItDropEffect src/Dodge/Data/Item/Effect.hs 34;" t +ItDropEffect src/Dodge/Data/Item/Effect.hs 37;" t ItEffect src/Dodge/Data/Item/Effect.hs 16;" t -ItEffect src/Dodge/ItEffect.hs 2;" m +ItEffect src/Dodge/ItEffect.hs 3;" m ItID src/Dodge/Data/Item.hs 29;" t ItInvEffect src/Dodge/Data/Item/Effect.hs 23;" t ItTargeting src/Dodge/Data/Item.hs 61;" C -ItZoom src/Dodge/Data/Item/Use.hs 196;" t +ItZoom src/Dodge/Data/Item/Use.hs 197;" 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 Item src/Dodge/Item.hs 3;" m ItemCancelExamineInventory src/Dodge/Data/Item/Effect.hs 31;" C ItemClust src/Dodge/Combine/Graph.hs 20;" C +ItemCopierUpdate src/Dodge/Data/Item/Effect.hs 32;" C ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t ItemLink src/Dodge/Data/ComposedItem.hs 71;" 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 +ItemReduceWarmTime src/Dodge/Data/Item/Effect.hs 33;" C ItemScroll src/Dodge/Data/Item.hs 55;" t ItemScrollInt src/Dodge/Data/Item.hs 57;" C ItemScrollIntRange src/Dodge/Data/Item.hs 58;" C ItemScrollTimeFlow src/Dodge/Data/World.hs 60;" C +ItemSetWarmTime src/Dodge/Data/Item/Effect.hs 34;" C ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 39;" t ItemTargeting src/Dodge/Data/Item.hs 60;" t ItemType src/Dodge/Data/Item/Combine.hs 15;" t @@ -1012,7 +1015,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 138;" C LasSound src/Dodge/Data/SoundOrigin.hs 28;" C LasTurret src/Dodge/Room/LasTurret.hs 1;" m Laser src/Dodge/Data/Laser.hs 21;" t @@ -1183,7 +1186,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 136;" 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 @@ -1216,23 +1219,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 169;" t +MuzzleBlink src/Dodge/Data/Item/Use.hs 157;" C +MuzzleDetector src/Dodge/Data/Item/Use.hs 156;" C +MuzzleEffect src/Dodge/Data/Item/Use.hs 142;" 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 148;" C +MuzzleLaser src/Dodge/Data/Item/Use.hs 144;" C +MuzzleNozzle src/Dodge/Data/Item/Use.hs 149;" C +MuzzleRLauncher src/Dodge/Data/Item/Use.hs 147;" C +MuzzleRewind src/Dodge/Data/Item/Use.hs 159;" C +MuzzleScroller src/Dodge/Data/Item/Use.hs 161;" C +MuzzleShatter src/Dodge/Data/Item/Use.hs 155;" C +MuzzleShootBullet src/Dodge/Data/Item/Use.hs 143;" C +MuzzleStopper src/Dodge/Data/Item/Use.hs 160;" C +MuzzleTesla src/Dodge/Data/Item/Use.hs 145;" C +MuzzleTractor src/Dodge/Data/Item/Use.hs 146;" C +MuzzleUnsafeBlink src/Dodge/Data/Item/Use.hs 158;" 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 @@ -1255,7 +1258,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 118;" C NoArguments src/Dodge/Data/Terminal.hs 91;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -1266,19 +1269,19 @@ NoCreatureEffect src/Dodge/Data/CreatureEffect.hs 11;" C NoDamageEffect src/Dodge/Data/Damage.hs 29;" C NoDebugInfo src/Dodge/Data/Universe.hs 56;" C NoDelay src/Dodge/Data/Item/HeldDelay.hs 14;" C -NoDropEffect src/Dodge/Data/Item/Effect.hs 34;" C +NoDropEffect src/Dodge/Data/Item/Effect.hs 37;" 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 133;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C -NoHeldUseEffect src/Dodge/Data/Item/Use.hs 56;" C +NoHeldUseEffect src/Dodge/Data/Item/Use.hs 57;" C NoHoming src/Dodge/Data/Projectile.hs 47;" C NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoInvEffect src/Dodge/Data/Item/Effect.hs 24;" C NoItTargeting src/Dodge/Data/Item.hs 60;" C NoItemScroll src/Dodge/Data/Item.hs 56;" C -NoLightFlare src/Dodge/Data/Item/Use.hs 134;" C +NoLightFlare src/Dodge/Data/Item/Use.hs 135;" C NoLighting src/Dodge/Data/Config.hs 104;" C NoMouseContext src/Dodge/Data/Input.hs 22;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C @@ -1359,7 +1362,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 92;" C -OneHand src/Dodge/Data/Item/Use.hs 193;" C +OneHand src/Dodge/Data/Item/Use.hs 194;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardList src/Dodge/Annotation/Data.hs 16;" C Opacity src/Dodge/Data/Wall.hs 40;" t @@ -1498,7 +1501,7 @@ Procedural src/Dodge/Room/Procedural.hs 2;" m Projectile src/Dodge/Data/Projectile.hs 17;" 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 116;" C ProjectileStabiliserLink src/Dodge/Data/ComposedItem.hs 32;" C ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 63;" C ProjectileType src/Dodge/Data/Projectile.hs 35;" t @@ -1600,7 +1603,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 57;" C +RandomiseMuzzleFrames src/Dodge/Data/Item/Use.hs 58;" 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 @@ -1877,7 +1880,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 58;" C +SwitchAlteRifle src/Dodge/Data/Item/Use.hs 59;" C SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C TAPE src/Dodge/Data/Item/Combine.hs 53;" C TARGETING src/Dodge/Data/Item/Combine.hs 21;" C @@ -1957,7 +1960,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 139;" C Test src/Dodge/Creature/Test.hs 8;" m Test src/Dodge/Event/Test.hs 1;" m Test src/Picture/Test.hs 1;" m @@ -2016,7 +2019,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 49;" C -TriggerType src/Dodge/Data/Item/Use.hs 71;" t +TriggerType src/Dodge/Data/Item/Use.hs 72;" 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 @@ -2029,9 +2032,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 193;" C +TwoHandOver src/Dodge/Data/Item/Use.hs 192;" C +TwoHandUnder src/Dodge/Data/Item/Use.hs 191;" 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 @@ -2069,30 +2072,31 @@ 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 43;" C -UseBulletMod src/Dodge/Data/Item/Use.hs 47;" C -UseCondition src/Dodge/Data/Item/Use.hs 66;" t +UseBulletMod src/Dodge/Data/Item/Use.hs 48;" C +UseCondition src/Dodge/Data/Item/Use.hs 67;" t UseDelay src/Dodge/Data/Item/HeldDelay.hs 13;" t UseEquip src/Dodge/Data/Item/Use.hs 42;" C -UseExactly src/Dodge/Data/Item/Use.hs 164;" C -UseFocus src/Dodge/Data/Item/Use.hs 61;" t -UseFromLocation src/Dodge/Data/Item/Use.hs 63;" C -UseFromRoot src/Dodge/Data/Item/Use.hs 62;" C +UseExactly src/Dodge/Data/Item/Use.hs 165;" C +UseFocus src/Dodge/Data/Item/Use.hs 62;" t +UseFromLocation src/Dodge/Data/Item/Use.hs 64;" C +UseFromRoot src/Dodge/Data/Item/Use.hs 63;" C UseHeld src/Dodge/Data/Item/Use.hs 34;" C UseInt src/Dodge/Data/Item/Use.hs 44;" C UseInvItem src/Dodge/Data/WorldEffect.hs 36;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Creature/Impulse/UseItem.hs 3;" m UseItemWidth src/Dodge/Data/SelectionList.hs 41;" C -UseMapper src/Dodge/Data/Item/Use.hs 49;" C +UseMapper src/Dodge/Data/Item/Use.hs 50;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C UseNothing src/Dodge/Data/Item/Use.hs 45;" C -UseScope src/Dodge/Data/Item/Use.hs 46;" C +UseScope src/Dodge/Data/Item/Use.hs 47;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseTarget src/Dodge/Data/ActionPlan.hs 154;" C -UseToggle src/Dodge/Data/Item/Use.hs 48;" C -UseUpTo src/Dodge/Data/Item/Use.hs 165;" C -UseableAnytime src/Dodge/Data/Item/Use.hs 68;" C -UseableWhenAimed src/Dodge/Data/Item/Use.hs 67;" C +UseToggle src/Dodge/Data/Item/Use.hs 49;" C +UseUpTo src/Dodge/Data/Item/Use.hs 166;" C +UseValue src/Dodge/Data/Item/Use.hs 46;" C +UseableAnytime src/Dodge/Data/Item/Use.hs 69;" C +UseableWhenAimed src/Dodge/Data/Item/Use.hs 68;" 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 @@ -2213,13 +2217,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 127;" f +_aimMuzzles src/Dodge/Data/Item/Use.hs 128;" f +_aimRange src/Dodge/Data/Item/Use.hs 124;" f +_aimStance src/Dodge/Data/Item/Use.hs 126;" f +_aimTurnSpeed src/Dodge/Data/Item/Use.hs 123;" f +_aimWeight src/Dodge/Data/Item/Use.hs 122;" f +_aimZoom src/Dodge/Data/Item/Use.hs 125;" 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 @@ -2231,14 +2235,14 @@ _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 115;" f +_ampCreateGas src/Dodge/Data/Item/Use.hs 117;" f +_ampPayload src/Dodge/Data/Item/Use.hs 116;" 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 -_apProjectiles src/Dodge/Data/Item/Use.hs 75;" f +_apInt src/Dodge/Data/Item/Use.hs 77;" f +_apProjectiles src/Dodge/Data/Item/Use.hs 76;" 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 @@ -2312,9 +2316,9 @@ _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 89;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 96;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 106;" f _bullets src/Dodge/Data/LWorld.hs 106;" f _buttons src/Dodge/Data/LWorld.hs 135;" f _cClock src/Dodge/Data/CWorld.hs 27;" f @@ -2577,7 +2581,7 @@ _fullscreenShader src/Data/Preload/Render.hs 20;" 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 84;" 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 @@ -2636,6 +2640,7 @@ _ibtDetector src/Dodge/Data/Item/Combine.hs 32;" f _ibtEquip src/Dodge/Data/Item/Combine.hs 17;" f _ibtHeld src/Dodge/Data/Item/Combine.hs 16;" f _ibtIntroScanType src/Dodge/Data/Item/Combine.hs 31;" f +_ibtPathing src/Dodge/Data/Item/Combine.hs 28;" f _ibtTargeting src/Dodge/Data/Item/Combine.hs 21;" f _ieInv src/Dodge/Data/Item/Effect.hs 17;" f _ieOnDrop src/Dodge/Data/Item/Effect.hs 19;" f @@ -2682,9 +2687,9 @@ _itemLocations src/Dodge/Data/LWorld.hs 100;" f _itsInt src/Dodge/Data/Item.hs 57;" f _itsMax src/Dodge/Data/Item.hs 58;" f _itsRangeInt src/Dodge/Data/Item.hs 58;" 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 200;" f +_izMax src/Dodge/Data/Item/Use.hs 198;" f +_izMin src/Dodge/Data/Item/Use.hs 199;" 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 @@ -2808,20 +2813,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 100;" 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 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 176;" f +_mzAmmoSlot src/Dodge/Data/Item/Use.hs 173;" f +_mzEffect src/Dodge/Data/Item/Use.hs 175;" f +_mzFlareType src/Dodge/Data/Item/Use.hs 174;" f +_mzFrame src/Dodge/Data/Item/Use.hs 177;" f +_mzInaccuracy src/Dodge/Data/Item/Use.hs 172;" f +_mzPos src/Dodge/Data/Item/Use.hs 170;" f +_mzRot src/Dodge/Data/Item/Use.hs 171;" f _newArcStep src/Dodge/Data/Item/Params.hs 23;" f _nodeMetaTree src/Dodge/Data/MetaTree.hs 14;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f @@ -2831,10 +2836,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 31;" 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 152;" f +_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 151;" f +_nzPressure src/Dodge/Data/Item/Use.hs 150;" f +_nzWalkSpeed src/Dodge/Data/Item/Use.hs 153;" 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 @@ -2960,8 +2965,8 @@ _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 39;" f -_randomOffset src/Dodge/Data/Item/Use.hs 86;" f -_randomOffset src/Dodge/Data/Item/Use.hs 103;" f +_randomOffset src/Dodge/Data/Item/Use.hs 87;" f +_randomOffset src/Dodge/Data/Item/Use.hs 104;" f _rateMax src/Dodge/Data/Item/HeldDelay.hs 16;" f _rateTimeLastUsed src/Dodge/Data/Item/HeldDelay.hs 17;" f _rbColor src/Dodge/Data/RadarBlip.hs 15;" f @@ -2971,13 +2976,13 @@ _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 85;" f +_recoil src/Dodge/Data/Item/Use.hs 102;" f _renderData src/Data/Preload.hs 11;" 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 100;" f +_rifling src/Dodge/Data/Item/Use.hs 101;" f _rkHoming src/Dodge/Data/Projectile.hs 40;" f _rkSmoke src/Dodge/Data/Projectile.hs 41;" f _rlDir src/Dodge/Data/Room.hs 26;" f @@ -3087,8 +3092,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 88;" f +_sidePush src/Dodge/Data/Item/Use.hs 105;" 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 @@ -3203,8 +3208,8 @@ _toPlaySoundVolume src/Sound/Data.hs 43;" f _toPlaySoundVolumeFraction src/Sound/Data.hs 44;" 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 86;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 103;" f _tractorBeams src/Dodge/Data/LWorld.hs 119;" f _trieChildren src/SimpleTrie.hs 11;" f _trieMVal src/SimpleTrie.hs 10;" f @@ -3219,9 +3224,10 @@ _tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f _tuWeapon src/Dodge/Data/Machine.hs 58;" f _turnToPoint src/Dodge/Data/ActionPlan.hs 92;" f _uInt src/Dodge/Data/Item/Use.hs 44;" f -_uScope src/Dodge/Data/Item/Use.hs 46;" f +_uScope src/Dodge/Data/Item/Use.hs 47;" f +_uValue src/Dodge/Data/Item/Use.hs 46;" f _uaParams src/Dodge/Data/Item/Use.hs 43;" f -_ubMod src/Dodge/Data/Item/Use.hs 47;" f +_ubMod src/Dodge/Data/Item/Use.hs 48;" f _uequipEffect src/Dodge/Data/Item/Use.hs 42;" f _unCombEdge src/Dodge/Combine/Graph.hs 31;" f _unCombNode src/Dodge/Combine/Graph.hs 24;" f @@ -3236,14 +3242,14 @@ _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 -_useMapperLines src/Dodge/Data/Item/Use.hs 50;" f -_useMapperPoints src/Dodge/Data/Item/Use.hs 51;" f +_useExactly src/Dodge/Data/Item/Use.hs 165;" f +_useMapperLines src/Dodge/Data/Item/Use.hs 51;" f +_useMapperPoints src/Dodge/Data/Item/Use.hs 52;" 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 -_useToggle src/Dodge/Data/Item/Use.hs 48;" f -_useUpTo src/Dodge/Data/Item/Use.hs 165;" f +_useToggle src/Dodge/Data/Item/Use.hs 49;" f +_useUpTo src/Dodge/Data/Item/Use.hs 166;" 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 @@ -3295,10 +3301,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 92;" f +_weaponInvLock src/Dodge/Data/Item/Use.hs 109;" f +_weaponRepeat src/Dodge/Data/Item/Use.hs 93;" f +_weaponRepeat src/Dodge/Data/Item/Use.hs 110;" 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 @@ -3424,7 +3430,7 @@ applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f applyInvLock src/Dodge/HeldUse.hs 177;" f applyMagnetsToBul src/Dodge/Bullet.hs 36;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f -applyPastDamages src/Dodge/Creature/State.hs 143;" 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 196;" f @@ -3442,7 +3448,7 @@ applyToSubtree src/TreeHelp.hs 70;" f applyTorqueCME src/Dodge/HeldUse.hs 214;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f -arHUD src/Dodge/Item/Scope.hs 125;" f +arHUD src/Dodge/Item/Scope.hs 126;" f arc src/Picture/Base.hs 287;" f arcFull src/Picture/Arc.hs 11;" f arcPart src/Picture/Arc.hs 24;" f @@ -3529,7 +3535,8 @@ belowNumX src/Dodge/Combine/Graph.hs 85;" f beltMag src/Dodge/Item/Ammo.hs 48;" f bfsNodePoints src/Dodge/Path.hs 58;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 216;" f -bgate src/Dodge/Item/Scope.hs 94;" f +bgate src/Dodge/Item/Scope.hs 95;" f +bgateCalc src/Dodge/Inventory/SelectionList.hs 98;" f bindFBO src/Render.hs 244;" f black src/Color.hs 27;" f blank src/Picture/Base.hs 59;" f @@ -3581,8 +3588,8 @@ bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 36;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 109;" f bulletBeltPack src/Dodge/Item/Equipment.hs 91;" f -bulletModule src/Dodge/Item/Scope.hs 108;" f -bulletPayloadModule src/Dodge/Item/Scope.hs 122;" f +bulletModule src/Dodge/Item/Scope.hs 109;" f +bulletPayloadModule src/Dodge/Item/Scope.hs 123;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 122;" f bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f burstRifle src/Dodge/Item/Held/Cane.hs 83;" f @@ -3593,7 +3600,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcTexCoord src/Tile.hs 19;" f canSee src/Dodge/Base/Collide.hs 232;" f canSeeIndirect src/Dodge/Base/Collide.hs 239;" f -cancelExamineInventory src/Dodge/ItEffect.hs 24;" f +cancelExamineInventory src/Dodge/ItEffect.hs 45;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f @@ -3669,9 +3676,9 @@ clicker src/Dodge/Item/Scope.hs 81;" f clipV src/Geometry/Vector.hs 47;" f clipZoom src/Dodge/Update/Camera.hs 185;" f clockCycle src/Dodge/Clock.hs 9;" f -closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 179;" f -closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 164;" f -closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 193;" f +closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 187;" f +closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 172;" f +closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 201;" f closeObjectInfo src/Dodge/Render/HUD.hs 223;" f closestCreatureID src/Dodge/Debug.hs 116;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f @@ -3736,11 +3743,12 @@ convexHull src/Geometry/Polygon.hs 104;" f convexHullSafe src/Geometry/Polygon.hs 111;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f copier src/Dodge/Item/Scope.hs 87;" f +copierItemUpdate src/Dodge/ItEffect.hs 35;" f copyItemToFloor src/Dodge/FloorItem.hs 18;" f copyItemToFloorID src/Dodge/FloorItem.hs 22;" f corDoor src/Dodge/Room/Room.hs 376;" f cornerList src/Preload/Render.hs 195;" f -corpseOrGib src/Dodge/Creature/State.hs 107;" f +corpseOrGib src/Dodge/Creature/State.hs 108;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorN src/Dodge/Room/Corridor.hs 52;" f @@ -4012,7 +4020,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f -displayPulse src/Dodge/Inventory/SelectionList.hs 135;" f +displayPulse src/Dodge/Inventory/SelectionList.hs 143;" f displayTerminalLineString src/Dodge/Update.hs 426;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f @@ -4041,7 +4049,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f doCrWdAc src/Dodge/CreatureEffect.hs 77;" f doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f -doDamage src/Dodge/Creature/State.hs 137;" f +doDamage src/Dodge/Creature/State.hs 136;" f doDamagesFL src/Dodge/Flame.hs 57;" f doDeathToggle src/Dodge/WorldEffect.hs 91;" f doDeathTriggers src/Dodge/WorldEffect.hs 86;" f @@ -4065,7 +4073,7 @@ doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 27;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f -doInvEffect src/Dodge/ItEffect.hs 12;" f +doInvEffect src/Dodge/ItEffect.hs 16;" f doItCrWdWd src/Dodge/WorldEffect.hs 48;" f doItemTimeScroll src/Dodge/Update.hs 192;" f doItmCrWdWd src/Dodge/Euse.hs 27;" f @@ -4252,7 +4260,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 367;" f drawZoneCol src/Dodge/Debug/Picture.hs 142;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f -dropByState src/Dodge/Creature/State.hs 131;" f +dropByState src/Dodge/Creature/State.hs 130;" f dropExcept src/Dodge/Creature/Action.hs 167;" f dropInventoryPath src/Dodge/HeldUse.hs 787;" f dropItem src/Dodge/Creature/Action.hs 173;" f @@ -4271,7 +4279,7 @@ dummyMenuOption src/Dodge/Menu/Option.hs 74;" f ebFlicker src/Dodge/EnergyBall.hs 98;" f edgeFormatting src/Dodge/Combine/Graph.hs 130;" f edgeToPic src/Dodge/Debug/Picture.hs 431;" f -effectWhileAttached src/Dodge/ItEffect.hs 35;" f +effectWhileAttached src/Dodge/ItEffect.hs 56;" f ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 496;" f elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 380;" f elephantGun src/Dodge/Item/Held/Rod.hs 36;" f @@ -4284,7 +4292,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 265;" f endRegex src/Dodge/Update/Input/InGame.hs 252;" f enterCombineInv src/Dodge/DisplayInventory.hs 323;" f -epText src/Dodge/Inventory/SelectionList.hs 71;" f +epText src/Dodge/Inventory/SelectionList.hs 72;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f eqSiteToPositions src/Dodge/Inventory/RBList.hs 75;" f @@ -4456,7 +4464,7 @@ getDistortions src/Dodge/Render.hs 383;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 45;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 702;" f getInventoryPath src/Dodge/Inventory/Path.hs 8;" f -getItemValue src/Dodge/Inventory/SelectionList.hs 107;" f +getItemValue src/Dodge/Inventory/SelectionList.hs 115;" f getLaserColor src/Dodge/HeldUse.hs 311;" f getLaserDamage src/Dodge/HeldUse.hs 308;" f getLaserPhaseV src/Dodge/HeldUse.hs 305;" f @@ -4476,7 +4484,7 @@ getTiles src/Dodge/Layout.hs 208;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f getWindowSize src/Dodge/WindowSize.hs 5;" f -gimbal src/Dodge/Item/Scope.hs 144;" f +gimbal src/Dodge/Item/Scope.hs 145;" f girder src/Dodge/Room/Foreground.hs 211;" f girderV src/Dodge/Room/Foreground.hs 182;" f girderV' src/Dodge/Room/Foreground.hs 157;" f @@ -4518,7 +4526,7 @@ gut3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 374;" f gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f -gyroscope src/Dodge/Item/Scope.hs 147;" f +gyroscope src/Dodge/Item/Scope.hs 148;" f hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f @@ -4573,9 +4581,9 @@ holdForm src/Dodge/Creature/Boid.hs 136;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 47;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f -hotkeyToChar src/Dodge/Inventory/SelectionList.hs 144;" f +hotkeyToChar src/Dodge/Inventory/SelectionList.hs 152;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 70;" f -hotkeyToString src/Dodge/Inventory/SelectionList.hs 141;" f +hotkeyToString src/Dodge/Inventory/SelectionList.hs 149;" f humanoidAIList src/Dodge/Humanoid.hs 181;" f iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f @@ -4625,7 +4633,7 @@ insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f insertWithNewKeys src/IntMapHelp.hs 70;" f interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f -internalCreatureUpdate src/Dodge/Creature/State.hs 123;" f +internalCreatureUpdate src/Dodge/Creature/State.hs 124;" f interpWith src/Dodge/Creature/Boid.hs 10;" f intersectCircSeg src/Geometry/Intersect.hs 305;" f intersectCircSegFirst src/Geometry/Intersect.hs 323;" f @@ -4646,7 +4654,7 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 329;" f interweave src/Justify.hs 17;" f introScan src/Dodge/Item/Scope.hs 56;" f -introScanValue src/Dodge/Inventory/SelectionList.hs 75;" f +introScanValue src/Dodge/Inventory/SelectionList.hs 76;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f invAdj src/Dodge/Item/Grammar.hs 289;" f invCursorParams src/Dodge/ListDisplayParams.hs 36;" f @@ -4658,7 +4666,7 @@ invLDT src/Dodge/Item/Grammar.hs 269;" f invRootItemEffs src/Dodge/Creature/State.hs 171;" f invRootMap src/Dodge/Item/Grammar.hs 278;" f invRootTrees src/Dodge/Item/Grammar.hs 299;" f -invSelectionItem src/Dodge/Inventory/SelectionList.hs 28;" f +invSelectionItem src/Dodge/Inventory/SelectionList.hs 29;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 165;" f invSize src/Dodge/Inventory/CheckSlots.hs 25;" f @@ -4707,9 +4715,9 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f itemCombinations src/Dodge/Combine/Combinations.hs 55;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f itemDetectorEffect src/Dodge/HeldUse.hs 371;" f -itemDisplay src/Dodge/Inventory/SelectionList.hs 45;" f +itemDisplay src/Dodge/Inventory/SelectionList.hs 46;" f itemEquipPict src/Dodge/Item/Draw.hs 16;" f -itemExternalValue src/Dodge/Inventory/SelectionList.hs 80;" f +itemExternalValue src/Dodge/Inventory/SelectionList.hs 81;" f itemFromAmmoMag src/Dodge/Item.hs 39;" f itemFromAttachType src/Dodge/Item.hs 48;" f itemFromBase src/Dodge/Item.hs 17;" f @@ -4723,7 +4731,7 @@ itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f itemScan src/Dodge/Item/Scope.hs 62;" f itemScroll src/Dodge/Update/Scroll.hs 50;" f -itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 96;" f +itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 104;" f itemString src/Dodge/Item/Display.hs 53;" f itemToBreakLists src/Dodge/Item/Grammar.hs 59;" f itemToFunction src/Dodge/Item/Grammar.hs 138;" f @@ -4737,7 +4745,7 @@ itmUsageInfo src/Dodge/Item/Info.hs 222;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f joinItemsInList src/Dodge/Item/Grammar.hs 259;" f -joystick src/Dodge/Item/Scope.hs 140;" f +joystick src/Dodge/Item/Scope.hs 141;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f @@ -5262,7 +5270,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 121;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 506;" f pokeArrayOff src/Shader/Poke.hs 517;" f @@ -5467,8 +5475,8 @@ reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f reloadLevelStart src/Dodge/Save.hs 71;" f reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f -remoteDetonator src/Dodge/Item/Scope.hs 135;" f -remoteScreen src/Dodge/Item/Scope.hs 130;" f +remoteDetonator src/Dodge/Item/Scope.hs 136;" f +remoteScreen src/Dodge/Item/Scope.hs 131;" f removeAmmoFromMag src/Dodge/HeldUse.hs 459;" f removeDot src/ShortShow.hs 29;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f @@ -5541,7 +5549,7 @@ roomShuriken src/Dodge/Room/Boss.hs 121;" f roomTwistCross src/Dodge/Room/Boss.hs 152;" f roomsContaining src/Dodge/Room/Containing.hs 20;" f roomsContaining' src/Dodge/Room/Containing.hs 25;" f -rootNotrootEff src/Dodge/ItEffect.hs 30;" f +rootNotrootEff src/Dodge/ItEffect.hs 51;" f rose src/Color.hs 20;" f rotD src/Padding.hs 44;" f rotMatr src/MatrixHelper.hs 66;" f @@ -5603,7 +5611,7 @@ scaleSH src/Shape.hs 268;" f scalp src/Dodge/Creature/Picture.hs 96;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 90;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/State.hs 117;" f +scorchSPic src/Dodge/Creature/State.hs 118;" 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 @@ -5720,7 +5728,7 @@ shatterGunSPic src/Dodge/Item/Draw/SPic.hs 294;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shellCollisionCheck src/Dodge/Projectile/Update.hs 85;" f shellMag src/Dodge/Item/Ammo.hs 61;" f -shellModule src/Dodge/Item/Scope.hs 114;" f +shellModule src/Dodge/Item/Scope.hs 115;" f shellShape src/Dodge/Projectile/Draw.hs 34;" f shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f shieldWall src/Dodge/Euse.hs 87;" f @@ -5811,7 +5819,7 @@ smallPillar src/Dodge/Room/Pillar.hs 32;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f smg src/Dodge/Item/Held/Stick.hs 72;" f smokeCloudAt src/Dodge/WorldEvent/Cloud.hs 41;" f -smokeReducer src/Dodge/Item/Scope.hs 153;" f +smokeReducer src/Dodge/Item/Scope.hs 154;" f sndV2 src/Geometry/Data.hs 52;" f sniperRifle src/Dodge/Item/Held/Rod.hs 54;" f someCrits src/Dodge/LockAndKey.hs 120;" f @@ -6135,9 +6143,9 @@ twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 406;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 436;" f ubyteSize src/Shader/Parameters.hs 13;" f -ugate src/Dodge/Item/Scope.hs 101;" f +ugate src/Dodge/Item/Scope.hs 102;" f uncurryV src/Geometry/Data.hs 46;" f -underBarrelSlot src/Dodge/Item/Scope.hs 150;" f +underBarrelSlot src/Dodge/Item/Scope.hs 151;" f unfoldrMID src/MonadHelp.hs 33;" f unitVectorAtAngle src/Geometry/Vector.hs 100;" f unlockInv src/Dodge/Inventory/Lock.hs 12;" f @@ -6198,7 +6206,6 @@ updateIMl src/Dodge/Update.hs 485;" f updateIMl' src/Dodge/Update.hs 490;" f updateInGameCamera src/Dodge/Update/Camera.hs 76;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 398;" f -updateInv src/Dodge/Creature/State.hs 160;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f updateItemTargeting src/Dodge/Creature/State.hs 377;" f updateItemWithOrientation src/Dodge/Creature/State.hs 285;" f