From a4e1fcf384e48b96b61764c613dc91d83f9f02c5 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 23 Dec 2024 10:53:35 +0000 Subject: [PATCH] Add alteRifle --- src/Dodge/Creature.hs | 2 + src/Dodge/Data/Item/Combine.hs | 1 + src/Dodge/Data/Item/Use.hs | 1 + src/Dodge/HeldUse.hs | 4 + src/Dodge/Item/Display.hs | 11 +- src/Dodge/Item/Draw/SPic.hs | 11 +- src/Dodge/Item/Held.hs | 1 + src/Dodge/Item/Held/Cane.hs | 9 +- src/Dodge/Item/Info.hs | 1 + src/Dodge/Update.hs | 4 +- tags | 466 +++++++++++++++++---------------- 11 files changed, 271 insertions(+), 240 deletions(-) diff --git a/src/Dodge/Creature.hs b/src/Dodge/Creature.hs index 77dea7ba9..511ccea63 100644 --- a/src/Dodge/Creature.hs +++ b/src/Dodge/Creature.hs @@ -253,6 +253,8 @@ inventoryX c = case c of , zoomScope , augmentedHUD , autoRifle + , alteRifle + , megaTinMag 10200 , megaTinMag 10200 ] <> [bulletTargetingModule btt | btt <- [minBound .. maxBound]] diff --git a/src/Dodge/Data/Item/Combine.hs b/src/Dodge/Data/Item/Combine.hs index d285693c0..f4457a367 100644 --- a/src/Dodge/Data/Item/Combine.hs +++ b/src/Dodge/Data/Item/Combine.hs @@ -127,6 +127,7 @@ data HeldItemType | MINIGUNX {_xNum :: Int} | VOLLEYGUN {_xNum :: Int} | RIFLE + | ALTERIFLE | AUTORIFLE | BURSTRIFLE | BANGROD diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index 973f77379..ee17e7c2e 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -52,6 +52,7 @@ data ItemUse data HeldUseEffect = NoHeldUseEffect | RandomiseMuzzleFrames Int + | SwitchAlteRifle deriving (Eq, Show, Read) data UseFocus diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 39d209114..ec240bae3 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -99,6 +99,10 @@ doHeldUseEffect t cr w = case t ^? ldtValue . itUse . heldUseEffect of (is,g') = runState (shuffle [0..x-1]) g return $ w & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i . itUse . heldAim . aimMuzzles %~ zipWith (\j mz -> mz & mzFrame .~ j) is & randGen .~ g' + Just SwitchAlteRifle -> fromMaybe w $ do + i <- t ^? ldtValue . itLocation . ilInvID + return $ w & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i + . itUse . heldAim . aimMuzzles . ix 0 . mzAmmoSlot %~ ((`mod` 2) . (+1)) Just NoHeldUseEffect -> w Nothing -> w diff --git a/src/Dodge/Item/Display.hs b/src/Dodge/Item/Display.hs index 591aaaad8..e424ac3cf 100644 --- a/src/Dodge/Item/Display.hs +++ b/src/Dodge/Item/Display.hs @@ -15,7 +15,12 @@ import ShortShow itemDisplay :: Creature -> ComposedItem -> [String] itemDisplay cr ci = - zipWithDefaults id (leftPad 15 ' ') itemDisplayPad (basicItemDisplay itm) (itemNumberDisplay cr ci) + zipWithDefaults + id + (leftPad 15 ' ') + itemDisplayPad + (basicItemDisplay itm) + (itemNumberDisplay cr ci) where itm = ci ^. _1 @@ -78,6 +83,10 @@ itemNumberDisplay :: Creature -> ComposedItem -> [String] itemNumberDisplay cr ci | EQUIP WRIST_ECG <- ci ^. _1 . itType = [displayPulse $ cr ^?! crType . avatarPulse . pulseProgress] + | HELD ALTERIFLE <- ci ^. _1 . itType = + case ci ^? _1 . itUse . heldAim . aimMuzzles . ix 0 . mzAmmoSlot of + Just 0 -> ["/"] + _ -> ["\\"] | isJust $ ci ^? _1 . itTargeting . itTgPos . _Just = ["!TARG!"] | Just x <- ci ^? _1 . itConsumables . magLoadStatus . iaLoaded = [shortShow x] diff --git a/src/Dodge/Item/Draw/SPic.hs b/src/Dodge/Item/Draw/SPic.hs index a80cbe27d..c183bc5ce 100644 --- a/src/Dodge/Item/Draw/SPic.hs +++ b/src/Dodge/Item/Draw/SPic.hs @@ -56,7 +56,7 @@ craftItemSPic = \case STEELDRUM -> colorSH green . translateSH (V3 4 0 0) . upperCylinder Small Typical 1 $ polyCirc 4 8 PLANK -> colorSH orange $ upperPrismPolyST 3 $ rectXH 8 2 - GLASSSHARD -> colorSH azure $ upperPrismPolyST 1 $ [V2 0 (-1), V2 4 (-0.5), V2 0 1] + GLASSSHARD -> colorSH azure $ upperPrismPolyST 1 [V2 0 (-1), V2 4 (-0.5), V2 0 1] SCRAPMETAL -> colorSH (greyN 0.3) $ upperPrismPolyST 3 $ square 4 PUMP -> colorSH yellow . translateSH (V3 4 0 0) $ (upperCylinder Small Typical 1 $ polyCirc 4 4) @@ -64,11 +64,11 @@ craftItemSPic = \case <> upperPrismPolyST 1 (rectNSWE 4 2 0 (-4)) MOTOR -> colorSH orange $ xCylinderST 5 3 <> xCylinderST 3 5 TRANSFORMER -> colorSH blue $ upperPrismPolyST 3 $ square 4 - PRISM -> colorSH azure $ upperPrismPolyST 1 $ [V2 0 (-3), V2 4 0, V2 0 3] + PRISM -> colorSH azure $ upperPrismPolyST 1 [V2 0 (-3), V2 4 0, V2 0 3] LIGHTER -> colorSH yellow . upperPrismPolyST 3 $ rectXH 2 2 - MAGNET -> colorSH red (upperPrismPolyST 1 (rectNSWE (2) (-2) 2 0)) - <> colorSH (greyN 0.5) (upperPrismPolyST 1 (rectNSWE (2) (-2) 4 2)) - <> colorSH blue (upperPrismPolyST 1 (rectNSWE (2) (-2) 6 4)) + MAGNET -> colorSH red (upperPrismPolyST 1 (rectNSWE 2 (-2) 2 0)) + <> colorSH (greyN 0.5) (upperPrismPolyST 1 (rectNSWE 2 (-2) 4 2)) + <> colorSH blue (upperPrismPolyST 1 (rectNSWE 2 (-2) 6 4)) ANTIMATTER -> colorSH violet $ upperPrismPolyST 3 $ square 4 PLATE -> colorSH green $ upperPrismPolyST 8 $ rectXH 2 5 TRANSMITTER -> colorSH green $ @@ -220,6 +220,7 @@ heldItemSPic ht it = case ht of MINIGUNX i -> miniGunXPictItem i it VOLLEYGUN i -> noPic $ volleyGunShape i -- <> addBullets it RIFLE -> noPic baseRifleShape -- <> addBullets it + ALTERIFLE -> noPic baseRifleShape -- <> addBullets it AUTORIFLE -> noPic baseRifleShape BURSTRIFLE -> noPic baseRifleShape BANGROD -> noPic baseRodShape -- <> addBullets it diff --git a/src/Dodge/Item/Held.hs b/src/Dodge/Item/Held.hs index 9a4290901..04c8ee05d 100644 --- a/src/Dodge/Item/Held.hs +++ b/src/Dodge/Item/Held.hs @@ -43,6 +43,7 @@ itemFromHeldType ht = case ht of MINIGUNX i -> miniGunX i VOLLEYGUN i -> volleyGun i RIFLE -> rifle + ALTERIFLE -> alteRifle -- REPEATER -> repeater AUTORIFLE -> autoRifle BURSTRIFLE -> burstRifle diff --git a/src/Dodge/Item/Held/Cane.hs b/src/Dodge/Item/Held/Cane.hs index 14be215fa..1b9f76c6a 100644 --- a/src/Dodge/Item/Held/Cane.hs +++ b/src/Dodge/Item/Held/Cane.hs @@ -1,5 +1,6 @@ module Dodge.Item.Held.Cane ( volleyGun, + alteRifle, rifle, autoRifle, burstRifle, @@ -49,7 +50,7 @@ volleyGun i = & itType .~ HELD (VOLLEYGUN i) & itAmmoSlots .~ IM.fromList (zip [0..i-1] $ repeat BulletAmmo) & itUse . heldParams . weaponRepeat .~ [1..i-1] - & itUse . heldUseEffect .~ (RandomiseMuzzleFrames i) + & itUse . heldUseEffect .~ RandomiseMuzzleFrames i rifle :: Item rifle = @@ -61,6 +62,12 @@ rifle = & itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5} & itUse . heldAim . aimMuzzles . ix 0 . mzPos .~ V2 25 0 +alteRifle :: Item +alteRifle = rifle + & itType .~ HELD ALTERIFLE + & itUse . heldUseEffect .~ SwitchAlteRifle + & itAmmoSlots .~ IM.fromList (zip [0..1] $ repeat BulletAmmo) + --repeater :: Item --repeater = -- rifle diff --git a/src/Dodge/Item/Info.hs b/src/Dodge/Item/Info.hs index 7d099f85c..e3b5c8077 100644 --- a/src/Dodge/Item/Info.hs +++ b/src/Dodge/Item/Info.hs @@ -63,6 +63,7 @@ heldInfo hit = case hit of RIFLE -> "A firearm with a mid length barrel that requires reloading after each shot." -- REPEATER -> "A firearm fed by a magazine. The entire magazine must be replaced when reloading the weapon." AUTORIFLE -> "A firearm automatically fed by a magazine. The entire magazine must be replaced when reloading the weapon." + ALTERIFLE -> "A firearm with a mid length barrel that requires reloading after each shot. Alternates between two magazines." BURSTRIFLE -> "A firearm that rapidly fires three projectiles from its magazine. The entire magazine must be replaced when reloading the weapon." BANGROD -> "A firearm with a long barrel that requires reloading after each shot." ELEPHANTGUN -> "A firearm with a long barrel that requires reloading after each shot. Its stopping power is only nominal." diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 201da5b49..a6bb0e060 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -231,7 +231,7 @@ scrollTimeBack w = case w ^? pastWorlds . _head of --i <- w ^? timeFlow . scrollItemID . unNInt _ <- w ^? timeFlow . scrollItemID . unNInt -- let pointituse = pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix i) . itUse - return $ id + return id -- (pointituse . leftConsumption . wpCharge .~ (x -1)) -- . (pointituse . leftHammer .~ HammerDown) @@ -249,7 +249,7 @@ scrollTimeForward w = case w ^? timeFlow . futureWorlds . _head of mupdateitem = fromMaybe id $ do --i <- w ^? timeFlow . scrollItemID . unNInt _ <- w ^? timeFlow . scrollItemID . unNInt - return $ id -- pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix i) . itUse . leftConsumption . wpCharge .~ ramount + return id -- pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix i) . itUse . leftConsumption . wpCharge .~ ramount -- | The update step. functionalUpdate :: Universe -> Universe diff --git a/tags b/tags index 5829af5ab..4c2e98d90 100644 --- a/tags +++ b/tags @@ -20,19 +20,20 @@ <$> src/Dodge/Data/LWorld.hs 158;" o <$> src/Dodge/Data/Terminal.hs 131;" o AIUNIT src/Dodge/Data/Item/Combine.hs 51;" C +ALTERIFLE src/Dodge/Data/Item/Combine.hs 130;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 21;" C -AMR src/Dodge/Data/Item/Combine.hs 134;" C +AMR src/Dodge/Data/Item/Combine.hs 135;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 45;" C -APInt src/Dodge/Data/Item/Use.hs 75;" C -APItEffect src/Dodge/Data/Item/Use.hs 73;" C -APLinkProjectile src/Dodge/Data/Item/Use.hs 71;" C -APNothing src/Dodge/Data/Item/Use.hs 76;" C +APInt src/Dodge/Data/Item/Use.hs 76;" C +APItEffect src/Dodge/Data/Item/Use.hs 74;" C +APLinkProjectile src/Dodge/Data/Item/Use.hs 72;" C +APNothing src/Dodge/Data/Item/Use.hs 77;" C AQUAMARINE src/Color/Data.hs 24;" C ATTACH src/Dodge/Data/Item/Combine.hs 20;" C AUGMENTEDHUD src/Dodge/Data/Item/Combine.hs 73;" C -AUTOAMR src/Dodge/Data/Item/Combine.hs 135;" C +AUTOAMR src/Dodge/Data/Item/Combine.hs 136;" C AUTOPISTOL src/Dodge/Data/Item/Combine.hs 122;" C -AUTORIFLE src/Dodge/Data/Item/Combine.hs 130;" C +AUTORIFLE src/Dodge/Data/Item/Combine.hs 131;" C AZURE src/Color/Data.hs 23;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 27;" C Action src/Dodge/Data/ActionPlan.hs 78;" t @@ -44,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 119;" t +AimParams src/Dodge/Data/Item/Use.hs 120;" t AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m -AimStance src/Dodge/Data/Item/Use.hs 186;" t +AimStance src/Dodge/Data/Item/Use.hs 188;" 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 @@ -63,10 +64,10 @@ AmmoMagSF src/Dodge/Data/ComposedItem.hs 37;" C AmmoMagType src/Dodge/Data/Item/Combine.hs 76;" t AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 40;" C -AmmoParams src/Dodge/Data/Item/Use.hs 112;" t +AmmoParams src/Dodge/Data/Item/Use.hs 113;" t AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 20;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 42;" C -AmmoPerShot src/Dodge/Data/Item/Use.hs 160;" t +AmmoPerShot src/Dodge/Data/Item/Use.hs 162;" t AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 41;" C AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t @@ -94,7 +95,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 70;" t +AttachParams src/Dodge/Data/Item/Use.hs 71;" t AttachType src/Dodge/Data/Item/Combine.hs 68;" t Attention src/Dodge/Data/Creature/Perception.hs 60;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C @@ -105,21 +106,21 @@ 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 67;" C +AutoTrigger src/Dodge/Data/Item/Use.hs 68;" 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 Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m BANGCONE src/Dodge/Data/Item/Combine.hs 124;" C -BANGROD src/Dodge/Data/Item/Combine.hs 132;" C +BANGROD src/Dodge/Data/Item/Combine.hs 133;" C BANGSTICK src/Dodge/Data/Item/Combine.hs 116;" C BATTERY src/Dodge/Data/Item/Combine.hs 81;" C BATTERYPACK src/Dodge/Data/Item/Combine.hs 105;" C BELTMAG src/Dodge/Data/Item/Combine.hs 79;" C BLACK src/Color/Data.hs 28;" C -BLINKER src/Dodge/Data/Item/Combine.hs 154;" C -BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 155;" C -BLOWTORCH src/Dodge/Data/Item/Combine.hs 141;" C +BLINKER src/Dodge/Data/Item/Combine.hs 155;" C +BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 156;" C +BLOWTORCH src/Dodge/Data/Item/Combine.hs 142;" C BLUE src/Color/Data.hs 17;" C BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 125;" C BLUNT src/Dodge/Data/Damage/Type.hs 13;" C @@ -129,7 +130,7 @@ BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 104;" C BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 103;" C BULLETMOD src/Dodge/Data/Item/Combine.hs 23;" C BULLETSYNTH src/Dodge/Data/Item/Combine.hs 70;" C -BURSTRIFLE src/Dodge/Data/Item/Combine.hs 131;" C +BURSTRIFLE src/Dodge/Data/Item/Combine.hs 132;" C BackdropCursor src/Dodge/Data/SelectionList.hs 21;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C Ball src/Dodge/Tesla/Ball.hs 1;" m @@ -145,6 +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 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 @@ -154,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 93;" C +BeamShooterParams src/Dodge/Data/Item/Use.hs 94;" 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 @@ -226,9 +228,9 @@ BulletMod src/Dodge/Data/Item/BulletMod.hs 3;" m BulletModEffect src/Dodge/Data/Item/BulletMod.hs 13;" C BulletModPayload src/Dodge/Data/Item/BulletMod.hs 12;" C BulletModTrajectory src/Dodge/Data/Item/BulletMod.hs 11;" C -BulletParams src/Dodge/Data/Item/Use.hs 113;" C +BulletParams src/Dodge/Data/Item/Use.hs 114;" C BulletPayload src/Dodge/Data/Bullet.hs 41;" t -BulletShooterParams src/Dodge/Data/Item/Use.hs 97;" C +BulletShooterParams src/Dodge/Data/Item/Use.hs 98;" 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 @@ -251,7 +253,7 @@ CIRCLE src/Dodge/Data/GenParams.hs 20;" C CME src/Dodge/Data/MuzzleEffect.hs 11;" C CONCUSSIVE src/Dodge/Data/Damage/Type.hs 22;" C CRAFT src/Dodge/Data/Item/Combine.hs 19;" C -CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 160;" C +CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 161;" C CREATURESENSOR src/Dodge/Data/Item/Combine.hs 62;" C CRUSHING src/Dodge/Data/Damage/Type.hs 16;" C CUTTING src/Dodge/Data/Damage/Type.hs 14;" C @@ -435,7 +437,7 @@ CursorDisplay src/Dodge/Data/SelectionList.hs 19;" t Cuse src/Dodge/Data/Item/HeldUse.hs 13;" t Cuse src/Dodge/Cuse.hs 1;" m Cylinder src/Shape/Data.hs 19;" C -DETECTOR src/Dodge/Data/Item/Combine.hs 153;" C +DETECTOR src/Dodge/Data/Item/Combine.hs 154;" C DPoint2 src/Geometry/Data.hs 34;" t DRUMMAG src/Dodge/Data/Item/Combine.hs 78;" C DS src/DoubleStack.hs 3;" t @@ -489,9 +491,8 @@ DefaultArcStep src/Dodge/Data/ArcStep.hs 23;" C DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C -DefaultFlareType src/Dodge/Data/Item/Use.hs 131;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 50;" C -DefaultHeldParams src/Dodge/Data/Item/Use.hs 80;" C +DefaultHeldParams src/Dodge/Data/Item/Use.hs 81;" 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 @@ -502,7 +503,7 @@ DestroyBeing src/Dodge/Data/Scenario.hs 8;" C DestroyBullet src/Dodge/Data/Bullet.hs 36;" C DestroyItem src/Dodge/Data/Scenario.hs 7;" C DestroyPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" C -Detector src/Dodge/Data/Item/Combine.hs 158;" t +Detector src/Dodge/Data/Item/Combine.hs 159;" t Dirt src/Dodge/Data/Material.hs 11;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t Display src/Dodge/Item/Display.hs 1;" m @@ -596,7 +597,7 @@ EBO src/Shader/Data.hs 88;" t EDoNothing src/Dodge/Data/Item/HeldUse.hs 19;" C EHeadLamp src/Dodge/Data/Item/HeldUse.hs 22;" C ELECTRICAL src/Dodge/Data/Damage/Type.hs 20;" C -ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 133;" C +ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 134;" C EMagShield src/Dodge/Data/Item/HeldUse.hs 20;" C ENTERREMENT src/Dodge/Data/Damage/Type.hs 24;" C EQUIP src/Dodge/Data/Item/Combine.hs 18;" C @@ -661,12 +662,12 @@ ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m Eyes src/Dodge/Data/Creature/Perception.hs 41;" C FBO src/Shader/Data.hs 57;" t FLAMESHIELD src/Dodge/Data/Item/Combine.hs 92;" C -FLAMESPITTER src/Dodge/Data/Item/Combine.hs 137;" C -FLAMETHROWER src/Dodge/Data/Item/Combine.hs 138;" C -FLAMETORRENT src/Dodge/Data/Item/Combine.hs 139;" C -FLAMEWALL src/Dodge/Data/Item/Combine.hs 140;" C +FLAMESPITTER src/Dodge/Data/Item/Combine.hs 138;" C +FLAMETHROWER src/Dodge/Data/Item/Combine.hs 139;" C +FLAMETORRENT src/Dodge/Data/Item/Combine.hs 140;" C +FLAMEWALL src/Dodge/Data/Item/Combine.hs 141;" C FLAMING src/Dodge/Data/Damage/Type.hs 18;" C -FLATSHIELD src/Dodge/Data/Item/Combine.hs 151;" C +FLATSHIELD src/Dodge/Data/Item/Combine.hs 152;" C FRONTARMOUR src/Dodge/Data/Item/Combine.hs 93;" C FUELCELL src/Dodge/Data/Item/Combine.hs 64;" C FUELPACK src/Dodge/Data/Item/Combine.hs 102;" C @@ -687,7 +688,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 130;" t +FlareType src/Dodge/Data/Item/Use.hs 131;" 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 @@ -750,8 +751,8 @@ GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 56;" t GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 53;" t -GasParams src/Dodge/Data/Item/Use.hs 115;" C -GasSprayParams src/Dodge/Data/Item/Use.hs 81;" C +GasParams src/Dodge/Data/Item/Use.hs 116;" C +GasSprayParams src/Dodge/Data/Item/Use.hs 82;" 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 @@ -808,18 +809,18 @@ 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 67;" C +HammerTrigger src/Dodge/Data/Item/Use.hs 68;" 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 66;" C HasHammer src/Dodge/Data/Hammer.hs 14;" C -HeavySmokeFlare src/Dodge/Data/Item/Use.hs 134;" C +HeavySmokeFlare src/Dodge/Data/Item/Use.hs 136;" 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 115;" t HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m -HeldParams src/Dodge/Data/Item/Use.hs 79;" t +HeldParams src/Dodge/Data/Item/Use.hs 80;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 30;" C HeldScroll src/Dodge/HeldScroll.hs 1;" m HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m @@ -852,7 +853,7 @@ ILink src/Dodge/Data/ComposedItem.hs 49;" C IMSS src/Dodge/Data/SelectionList.hs 36;" t INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 95;" C IRONBAR src/Dodge/Data/Item/Combine.hs 56;" C -ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 159;" C +ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 160;" C ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 34;" t Important src/Shape/Data.hs 35;" C @@ -924,7 +925,7 @@ 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 193;" t +ItZoom src/Dodge/Data/Item/Use.hs 195;" 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 @@ -949,12 +950,12 @@ JoinClust src/Dodge/Combine/Graph.hs 21;" C Just' src/MaybeHelp.hs 13;" C JustStartedPlaying src/Sound/Data.hs 25;" C Justify src/Justify.hs 1;" m -KEYCARD src/Dodge/Data/Item/Combine.hs 152;" C +KEYCARD src/Dodge/Data/Item/Combine.hs 153;" C Kill src/Dodge/Data/ActionPlan.hs 198;" C -LASER src/Dodge/Data/Item/Combine.hs 144;" C +LASER src/Dodge/Data/Item/Combine.hs 145;" C LASERING src/Dodge/Data/Damage/Type.hs 19;" C -LAUNCHER src/Dodge/Data/Item/Combine.hs 146;" C -LAUNCHERX src/Dodge/Data/Item/Combine.hs 147;" C +LAUNCHER src/Dodge/Data/Item/Combine.hs 147;" C +LAUNCHERX src/Dodge/Data/Item/Combine.hs 148;" C LDT src/Dodge/Data/DoubleTree.hs 40;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 28;" C LDTComb src/Dodge/Item/Grammar.hs 144;" t @@ -985,7 +986,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 135;" C +LasGunFlare src/Dodge/Data/Item/Use.hs 137;" 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 @@ -1151,7 +1152,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 133;" C +MiniGunFlare src/Dodge/Data/Item/Use.hs 135;" 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 @@ -1183,24 +1184,24 @@ MultGunAI src/Dodge/Data/Creature/Misc.hs 60;" C Multiset src/Multiset.hs 4;" m Music src/Music.hs 1;" m MusicData src/Music.hs 7;" t -MustBeHeld src/Dodge/Data/Item/Use.hs 63;" C +MustBeHeld src/Dodge/Data/Item/Use.hs 64;" C Mute src/Dodge/Data/Creature/Misc.hs 28;" C -Muzzle src/Dodge/Data/Item/Use.hs 165;" t -MuzzleBlink src/Dodge/Data/Item/Use.hs 153;" C -MuzzleDetector src/Dodge/Data/Item/Use.hs 152;" C -MuzzleEffect src/Dodge/Data/Item/Use.hs 139;" t +Muzzle src/Dodge/Data/Item/Use.hs 167;" t +MuzzleBlink src/Dodge/Data/Item/Use.hs 155;" C +MuzzleDetector src/Dodge/Data/Item/Use.hs 154;" C +MuzzleEffect src/Dodge/Data/Item/Use.hs 141;" t MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 5;" m -MuzzleLaser src/Dodge/Data/Item/Use.hs 141;" C -MuzzleLauncher src/Dodge/Data/Item/Use.hs 144;" C -MuzzleNozzle src/Dodge/Data/Item/Use.hs 145;" C -MuzzleRewind src/Dodge/Data/Item/Use.hs 155;" C -MuzzleScroller src/Dodge/Data/Item/Use.hs 157;" C -MuzzleShatter src/Dodge/Data/Item/Use.hs 151;" C -MuzzleShootBullet src/Dodge/Data/Item/Use.hs 140;" C -MuzzleStopper src/Dodge/Data/Item/Use.hs 156;" C -MuzzleTesla src/Dodge/Data/Item/Use.hs 142;" C -MuzzleTractor src/Dodge/Data/Item/Use.hs 143;" C -MuzzleUnsafeBlink src/Dodge/Data/Item/Use.hs 154;" C +MuzzleLaser src/Dodge/Data/Item/Use.hs 143;" C +MuzzleLauncher src/Dodge/Data/Item/Use.hs 146;" C +MuzzleNozzle src/Dodge/Data/Item/Use.hs 147;" C +MuzzleRewind src/Dodge/Data/Item/Use.hs 157;" C +MuzzleScroller src/Dodge/Data/Item/Use.hs 159;" C +MuzzleShatter src/Dodge/Data/Item/Use.hs 153;" C +MuzzleShootBullet src/Dodge/Data/Item/Use.hs 142;" C +MuzzleStopper src/Dodge/Data/Item/Use.hs 158;" 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 156;" 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 @@ -1223,7 +1224,7 @@ NewSideEffect src/Dodge/Data/Universe.hs 61;" 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 116;" C +NoAmmoParams src/Dodge/Data/Item/Use.hs 117;" C NoArguments src/Dodge/Data/Terminal.hs 95;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -1238,12 +1239,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 75;" C NoFaction src/Dodge/Data/Creature/State.hs 40;" C +NoFlare src/Dodge/Data/Item/Use.hs 132;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C NoHeldUseEffect src/Dodge/Data/Item/Use.hs 53;" C NoHoming src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" 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 NoLighting src/Dodge/Data/Config.hs 102;" C NoMouseContext src/Dodge/Data/Input.hs 20;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C @@ -1323,7 +1326,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 190;" C +OneHand src/Dodge/Data/Item/Use.hs 192;" 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 @@ -1362,7 +1365,7 @@ PLANK src/Dodge/Data/Item/Combine.hs 36;" C PLATE src/Dodge/Data/Item/Combine.hs 46;" C PLUS src/Dodge/Data/GenParams.hs 20;" C POISONDAM src/Dodge/Data/Damage/Type.hs 23;" C -POISONSPRAYER src/Dodge/Data/Item/Combine.hs 148;" C +POISONSPRAYER src/Dodge/Data/Item/Combine.hs 149;" C PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 65;" C POWERLEGS src/Dodge/Data/Item/Combine.hs 99;" C PPLevelReset src/Dodge/Data/PressPlate.hs 16;" C @@ -1411,7 +1414,6 @@ Pillar src/Dodge/Room/Pillar.hs 1;" m Pipe src/Dodge/Placement/Instance/Pipe.hs 1;" m PistolAI src/Dodge/Data/Creature/Misc.hs 52;" C PistolCrit src/Dodge/Creature/PistolCrit.hs 1;" m -PistolFlare src/Dodge/Data/Item/Use.hs 132;" C PlaceSpot src/Dodge/Placement/PlaceSpot.hs 5;" m Placement src/Dodge/Data/GenWorld.hs 75;" t Placement src/Dodge/Placement.hs 1;" m @@ -1464,7 +1466,7 @@ Projectile src/Dodge/Data/Projectile.hs 6;" m Projectile src/Dodge/Projectile.hs 1;" m ProjectileDraw src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" t ProjectileHoming src/Dodge/Data/Item/Use/Consumption/Ammo.hs 23;" t -ProjectileParams src/Dodge/Data/Item/Use.hs 114;" C +ProjectileParams src/Dodge/Data/Item/Use.hs 115;" C ProjectileUpdate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" t Prop src/Dodge/Data/Prop.hs 18;" t Prop src/Dodge/Data/Prop.hs 6;" m @@ -1624,13 +1626,13 @@ RoundedFaces src/Shape/Data.hs 18;" C RunPast src/Dodge/Room/RunPast.hs 1;" m RunningSideEffect src/Dodge/Data/Universe.hs 65;" C SCRAPMETAL src/Dodge/Data/Item/Combine.hs 38;" C -SHATTERGUN src/Dodge/Data/Item/Combine.hs 149;" C +SHATTERGUN src/Dodge/Data/Item/Combine.hs 150;" C SHATTERING src/Dodge/Data/Damage/Type.hs 17;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 80;" C SMG src/Dodge/Data/Item/Combine.hs 123;" C -SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 136;" C +SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 137;" C SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 58;" C -SPARKGUN src/Dodge/Data/Item/Combine.hs 142;" C +SPARKGUN src/Dodge/Data/Item/Combine.hs 143;" C SPARKING src/Dodge/Data/Damage/Type.hs 15;" C SPEEDLEGS src/Dodge/Data/Item/Combine.hs 100;" C SPRING src/Dodge/Data/Item/Combine.hs 30;" C @@ -1818,10 +1820,11 @@ 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 SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C TAPE src/Dodge/Data/Item/Combine.hs 32;" C TARGETING src/Dodge/Data/Item/Combine.hs 22;" C -TESLAGUN src/Dodge/Data/Item/Combine.hs 143;" C +TESLAGUN src/Dodge/Data/Item/Combine.hs 144;" C THERMOMETER src/Dodge/Data/Item/Combine.hs 61;" C THREELINES src/Dodge/Data/GenParams.hs 20;" C TIMESCROLLER src/Dodge/Data/Item/Combine.hs 119;" C @@ -1829,8 +1832,8 @@ TIMESTOPPER src/Dodge/Data/Item/Combine.hs 118;" C TIN src/Dodge/Data/Item/Combine.hs 34;" C TINMAG src/Dodge/Data/Item/Combine.hs 77;" C TO src/Shader/Data.hs 59;" t -TORCH src/Dodge/Data/Item/Combine.hs 150;" C -TRACTORGUN src/Dodge/Data/Item/Combine.hs 145;" C +TORCH src/Dodge/Data/Item/Combine.hs 151;" C +TRACTORGUN src/Dodge/Data/Item/Combine.hs 146;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 41;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 47;" C TSbackspace src/Dodge/Data/Input.hs 62;" C @@ -1897,7 +1900,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 136;" C +TeslaGunFlare src/Dodge/Data/Item/Use.hs 138;" C Test src/Dodge/Creature/Test.hs 8;" m Test src/Dodge/Event/Test.hs 1;" m Test src/Picture/Test.hs 1;" m @@ -1955,7 +1958,7 @@ Trie src/SimpleTrie.hs 9;" t TriggerDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 1;" m TriggerLink src/Dodge/Data/ComposedItem.hs 17;" C TriggerSF src/Dodge/Data/ComposedItem.hs 35;" C -TriggerType src/Dodge/Data/Item/Use.hs 67;" t +TriggerType src/Dodge/Data/Item/Use.hs 68;" 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 @@ -1968,9 +1971,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 189;" C -TwoHandOver src/Dodge/Data/Item/Use.hs 188;" C -TwoHandUnder src/Dodge/Data/Item/Use.hs 187;" C +TwoHandFlat src/Dodge/Data/Item/Use.hs 191;" C +TwoHandOver src/Dodge/Data/Item/Use.hs 190;" C +TwoHandUnder src/Dodge/Data/Item/Use.hs 189;" 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 @@ -2003,13 +2006,13 @@ Use src/Dodge/Default/Item/Use.hs 1;" m UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C UseAttach src/Dodge/Data/Item/Use.hs 46;" C UseBulletMod src/Dodge/Data/Item/Use.hs 49;" C -UseCondition src/Dodge/Data/Item/Use.hs 62;" t +UseCondition src/Dodge/Data/Item/Use.hs 63;" t UseDelay src/Dodge/Data/Item/HeldDelay.hs 13;" t UseEquip src/Dodge/Data/Item/Use.hs 45;" C -UseExactly src/Dodge/Data/Item/Use.hs 161;" C -UseFocus src/Dodge/Data/Item/Use.hs 57;" t -UseFromLocation src/Dodge/Data/Item/Use.hs 59;" C -UseFromRoot src/Dodge/Data/Item/Use.hs 58;" C +UseExactly src/Dodge/Data/Item/Use.hs 163;" 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 UseHeld src/Dodge/Data/Item/Use.hs 36;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m @@ -2019,8 +2022,8 @@ UseNothing src/Dodge/Data/Item/Use.hs 47;" C UseScope src/Dodge/Data/Item/Use.hs 48;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseTarget src/Dodge/Data/ActionPlan.hs 154;" C -UseUpTo src/Dodge/Data/Item/Use.hs 162;" C -UseableAnytime src/Dodge/Data/Item/Use.hs 64;" C +UseUpTo src/Dodge/Data/Item/Use.hs 164;" C +UseableAnytime src/Dodge/Data/Item/Use.hs 65;" 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 @@ -2044,7 +2047,7 @@ Vision src/Dodge/Data/Creature/Perception.hs 41;" t Vocalization src/Dodge/Data/Creature/Misc.hs 27;" t Vocalization src/Dodge/Creature/Vocalization.hs 1;" m Volition src/Dodge/Creature/Volition.hs 2;" m -WALLDETECTOR src/Dodge/Data/Item/Combine.hs 161;" C +WALLDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C WASD src/Dodge/WASD.hs 1;" m WHITE src/Color/Data.hs 27;" C WIRE src/Dodge/Data/Item/Combine.hs 63;" C @@ -2141,13 +2144,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 125;" f -_aimMuzzles src/Dodge/Data/Item/Use.hs 126;" f -_aimRange src/Dodge/Data/Item/Use.hs 122;" f -_aimStance src/Dodge/Data/Item/Use.hs 124;" f -_aimTurnSpeed src/Dodge/Data/Item/Use.hs 121;" f -_aimWeight src/Dodge/Data/Item/Use.hs 120;" f -_aimZoom src/Dodge/Data/Item/Use.hs 123;" 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 _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 24;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 28;" f @@ -2159,15 +2162,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 113;" f -_ampCreateGas src/Dodge/Data/Item/Use.hs 115;" f -_ampPayload src/Dodge/Data/Item/Use.hs 114;" 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 _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 75;" f -_apItEffect src/Dodge/Data/Item/Use.hs 74;" f -_apLinkedProjectile src/Dodge/Data/Item/Use.hs 72;" f +_apInt src/Dodge/Data/Item/Use.hs 76;" f +_apItEffect src/Dodge/Data/Item/Use.hs 75;" f +_apLinkedProjectile src/Dodge/Data/Item/Use.hs 73;" 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 @@ -2244,9 +2247,9 @@ _buTimer src/Dodge/Data/Bullet.hs 26;" f _buTrajectory src/Dodge/Data/Bullet.hs 20;" f _buVel src/Dodge/Data/Bullet.hs 21;" f _buWidth src/Dodge/Data/Bullet.hs 25;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 87;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 94;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 104;" 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 _bullets src/Dodge/Data/LWorld.hs 106;" f _buttons src/Dodge/Data/LWorld.hs 134;" f _cClock src/Dodge/Data/CWorld.hs 28;" f @@ -2510,7 +2513,7 @@ _fullscreenShader src/Data/Preload/Render.hs 20;" f _futureWorlds src/Dodge/Data/World.hs 65;" f _futureWorlds src/Dodge/Data/World.hs 71;" f _gameplay_rotate_to_wall src/Dodge/Data/Config.hs 55;" f -_gasCreation src/Dodge/Data/Item/Use.hs 82;" f +_gasCreation src/Dodge/Data/Item/Use.hs 83;" 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 @@ -2612,9 +2615,9 @@ _itUse src/Dodge/Data/Item.hs 42;" f _itUseCondition src/Dodge/Data/Item.hs 43;" f _itUseFocus src/Dodge/Data/Item.hs 44;" f _itemLocations src/Dodge/Data/LWorld.hs 100;" f -_izFac src/Dodge/Data/Item/Use.hs 196;" f -_izMax src/Dodge/Data/Item/Use.hs 194;" f -_izMin src/Dodge/Data/Item/Use.hs 195;" f +_izFac src/Dodge/Data/Item/Use.hs 198;" f +_izMax src/Dodge/Data/Item/Use.hs 196;" f +_izMin src/Dodge/Data/Item/Use.hs 197;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 142;" f _lTestInt src/Dodge/Data/LWorld.hs 144;" f @@ -2741,20 +2744,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 98;" f +_muzVel src/Dodge/Data/Item/Use.hs 99;" 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 80;" 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 172;" f -_mzAmmoSlot src/Dodge/Data/Item/Use.hs 169;" f -_mzEffect src/Dodge/Data/Item/Use.hs 171;" f -_mzFlareType src/Dodge/Data/Item/Use.hs 170;" f -_mzFrame src/Dodge/Data/Item/Use.hs 173;" f -_mzInaccuracy src/Dodge/Data/Item/Use.hs 168;" f -_mzPos src/Dodge/Data/Item/Use.hs 166;" f -_mzRot src/Dodge/Data/Item/Use.hs 167;" f +_mzAmmoPerShot src/Dodge/Data/Item/Use.hs 174;" f +_mzAmmoSlot src/Dodge/Data/Item/Use.hs 171;" f +_mzEffect src/Dodge/Data/Item/Use.hs 173;" f +_mzFlareType src/Dodge/Data/Item/Use.hs 172;" f +_mzFrame src/Dodge/Data/Item/Use.hs 175;" f +_mzInaccuracy src/Dodge/Data/Item/Use.hs 170;" f +_mzPos src/Dodge/Data/Item/Use.hs 168;" f +_mzRot src/Dodge/Data/Item/Use.hs 169;" 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 @@ -2764,10 +2767,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 148;" f -_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 147;" f -_nzPressure src/Dodge/Data/Item/Use.hs 146;" f -_nzWalkSpeed src/Dodge/Data/Item/Use.hs 149;" f +_nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 150;" f +_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 149;" f +_nzPressure src/Dodge/Data/Item/Use.hs 148;" f +_nzWalkSpeed src/Dodge/Data/Item/Use.hs 151;" f _offPathFromEdges src/Dodge/Data/Room.hs 74;" f _onPathFromEdges src/Dodge/Data/Room.hs 73;" f _opDraw src/Dodge/Data/Wall.hs 41;" f @@ -2896,8 +2899,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 41;" f -_randomOffset src/Dodge/Data/Item/Use.hs 85;" f -_randomOffset src/Dodge/Data/Item/Use.hs 102;" f +_randomOffset src/Dodge/Data/Item/Use.hs 86;" f +_randomOffset src/Dodge/Data/Item/Use.hs 103;" 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 @@ -2907,13 +2910,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 83;" f -_recoil src/Dodge/Data/Item/Use.hs 100;" f +_recoil src/Dodge/Data/Item/Use.hs 84;" f +_recoil src/Dodge/Data/Item/Use.hs 101;" 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 99;" f +_rifling src/Dodge/Data/Item/Use.hs 100;" f _rlDir src/Dodge/Data/Room.hs 26;" f _rlPos src/Dodge/Data/Room.hs 25;" f _rlType src/Dodge/Data/Room.hs 24;" f @@ -3019,8 +3022,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 86;" f -_sidePush src/Dodge/Data/Item/Use.hs 103;" f +_sidePush src/Dodge/Data/Item/Use.hs 87;" f +_sidePush src/Dodge/Data/Item/Use.hs 104;" 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 @@ -3129,8 +3132,8 @@ _toPlaySoundVolume src/Sound/Data.hs 43;" f _toPlaySoundVolumeFraction src/Sound/Data.hs 44;" f _toPlaySounds src/Dodge/Data/World.hs 42;" f _topBoxSize src/Shape/Data.hs 17;" f -_torqueAfter src/Dodge/Data/Item/Use.hs 84;" f -_torqueAfter src/Dodge/Data/Item/Use.hs 101;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 85;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 102;" f _tractorBeams src/Dodge/Data/LWorld.hs 119;" f _trieChildren src/SimpleTrie.hs 11;" f _trieMVal src/SimpleTrie.hs 10;" f @@ -3161,11 +3164,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 161;" f +_useExactly src/Dodge/Data/Item/Use.hs 163;" 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 162;" f +_useUpTo src/Dodge/Data/Item/Use.hs 164;" 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 @@ -3215,10 +3218,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 90;" f -_weaponInvLock src/Dodge/Data/Item/Use.hs 107;" f -_weaponRepeat src/Dodge/Data/Item/Use.hs 91;" f -_weaponRepeat src/Dodge/Data/Item/Use.hs 108;" 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 _windowPosX src/Dodge/Data/Config.hs 53;" f _windowPosY src/Dodge/Data/Config.hs 54;" f _windowShader src/Data/Preload/Render.hs 19;" f @@ -3251,7 +3254,7 @@ _wsDoor src/Dodge/Data/Wall.hs 50;" f _wsMachine src/Dodge/Data/Wall.hs 51;" f _xNum src/Dodge/Data/Item/Combine.hs 116;" f _xNum src/Dodge/Data/Item/Combine.hs 126;" f -_xNum src/Dodge/Data/Item/Combine.hs 147;" f +_xNum src/Dodge/Data/Item/Combine.hs 148;" f aDroneWithItemParams src/Dodge/Item/Weapon/Drone.hs 30;" f aFlame src/Dodge/Gas.hs 18;" f aFlameParticle src/Dodge/Flame.hs 21;" f @@ -3305,7 +3308,7 @@ advanceScrollAmount src/Dodge/Update.hs 414;" f 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 197;" f +aimStanceInfo src/Dodge/Item/Info.hs 198;" f aimTurn src/Dodge/Creature/YourControl.hs 154;" f aimingWeaponHandlePos src/Dodge/Item/HeldOffset.hs 69;" f aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 63;" f @@ -3321,6 +3324,7 @@ allHotkeys src/Dodge/Creature/YourControl.hs 60;" f allInvLocs src/Dodge/Item/Grammar.hs 225;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f alongSegBy src/Geometry.hs 43;" f +alteRifle src/Dodge/Item/Held/Cane.hs 65;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 112;" f amr src/Dodge/Item/Held/Rod.hs 44;" f analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f @@ -3332,23 +3336,23 @@ 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 243;" f -applyCME src/Dodge/HeldUse.hs 117;" f +applyCME src/Dodge/HeldUse.hs 121;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyEventIO src/Loop.hs 89;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f -applyInvLock src/Dodge/HeldUse.hs 132;" f +applyInvLock src/Dodge/HeldUse.hs 136;" f applyMagnetsToBul src/Dodge/Bullet.hs 36;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyPastDamages src/Dodge/Creature/State.hs 135;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 151;" f +applyRecoil src/Dodge/HeldUse.hs 155;" f applyResFactor src/Dodge/Data/Config.hs 108;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 79;" f -applySidePush src/Dodge/HeldUse.hs 158;" f -applySoundCME src/Dodge/HeldUse.hs 142;" f +applySidePush src/Dodge/HeldUse.hs 162;" f +applySoundCME src/Dodge/HeldUse.hs 146;" 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 @@ -3356,7 +3360,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 169;" f +applyTorqueCME src/Dodge/HeldUse.hs 173;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -3398,8 +3402,8 @@ autoCrit src/Dodge/Creature/AutoCrit.hs 12;" f autoDetector src/Dodge/Item/Weapon/Radar.hs 11;" f autoEffect src/Dodge/Item/Weapon/ExtraEffect.hs 18;" f autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f -autoPistol src/Dodge/Item/Held/Stick.hs 55;" f -autoRifle src/Dodge/Item/Held/Cane.hs 70;" f +autoPistol src/Dodge/Item/Held/Stick.hs 58;" f +autoRifle src/Dodge/Item/Held/Cane.hs 76;" f awakeLevelPerception src/Dodge/Creature/Perception.hs 162;" f axisInt src/Geometry/Intersect.hs 227;" f azure src/Color.hs 22;" f @@ -3409,36 +3413,36 @@ backpackCombinations src/Dodge/Combine/Combinations.hs 26;" f backpackShape src/Dodge/Item/Draw/SPic.hs 161;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f -bangConeShape src/Dodge/Item/Draw/SPic.hs 273;" f +bangConeShape src/Dodge/Item/Draw/SPic.hs 274;" f bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 382;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 496;" f bangStick src/Dodge/Item/Held/Stick.hs 16;" f barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f -baseAMRShape src/Dodge/Item/Draw/SPic.hs 383;" f +baseAMRShape src/Dodge/Item/Draw/SPic.hs 384;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f -baseCaneShape src/Dodge/Item/Draw/SPic.hs 293;" f +baseCaneShape src/Dodge/Item/Draw/SPic.hs 294;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 45;" f basePCI src/Dodge/Item/Grammar.hs 110;" f -baseRifleShape src/Dodge/Item/Draw/SPic.hs 296;" f -baseRodShape src/Dodge/Item/Draw/SPic.hs 380;" f -baseSMGShape src/Dodge/Item/Draw/SPic.hs 363;" f +baseRifleShape src/Dodge/Item/Draw/SPic.hs 297;" f +baseRodShape src/Dodge/Item/Draw/SPic.hs 381;" f +baseSMGShape src/Dodge/Item/Draw/SPic.hs 364;" f baseShoulder src/Dodge/Creature/Picture.hs 131;" f -baseStickShape src/Dodge/Item/Draw/SPic.hs 270;" f -baseStickShapeX src/Dodge/Item/Draw/SPic.hs 265;" f -baseStickSpread src/Dodge/Item/Held/Stick.hs 36;" f +baseStickShape src/Dodge/Item/Draw/SPic.hs 271;" f +baseStickShapeX src/Dodge/Item/Draw/SPic.hs 266;" f +baseStickSpread src/Dodge/Item/Held/Stick.hs 39;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 37;" f basicBulDams src/Dodge/Item/Weapon/Bullet.hs 25;" f basicCrPict src/Dodge/Creature/Picture.hs 26;" f basicCrShape src/Dodge/Creature/Picture.hs 34;" f basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f -basicItemDisplay src/Dodge/Item/Display.hs 34;" f +basicItemDisplay src/Dodge/Item/Display.hs 39;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 269;" f +basicMuzFlare src/Dodge/HeldUse.hs 273;" f basicTerminal src/Dodge/Terminal.hs 35;" f battery src/Dodge/Item/Ammo.hs 91;" f batteryPack src/Dodge/Item/Equipment.hs 55;" f @@ -3472,7 +3476,7 @@ blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 342;" f blowTorch src/Dodge/Item/Held/SprayGuns.hs 51;" f blue src/Color.hs 16;" f -blunderbuss src/Dodge/Item/Held/Cone.hs 26;" f +blunderbuss src/Dodge/Item/Held/Cone.hs 27;" f boosterGun src/Dodge/Item/Equipment/Booster.hs 9;" f bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossRoom src/Dodge/Room/Boss.hs 60;" f @@ -3503,7 +3507,7 @@ bulletPayloadModule src/Dodge/Item/Scope.hs 44;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 121;" f bulletTargetingModule src/Dodge/Item/Scope.hs 41;" f bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f -burstRifle src/Dodge/Item/Held/Cane.hs 76;" f +burstRifle src/Dodge/Item/Held/Cane.hs 82;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 520;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f @@ -3690,7 +3694,7 @@ crUpdate src/Dodge/Creature/State.hs 62;" 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 -craftInfo src/Dodge/Item/Info.hs 123;" f +craftInfo src/Dodge/Item/Info.hs 124;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 44;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 434;" f createArc src/Dodge/Tesla/Arc.hs 81;" f @@ -3704,7 +3708,7 @@ 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 575;" f +createProjectile src/Dodge/HeldUse.hs 578;" f createShell src/Dodge/Projectile/Create.hs 19;" f createShieldWall src/Dodge/Euse.hs 110;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f @@ -3813,7 +3817,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 462;" f dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 328;" f defDamageMaterial src/Dodge/Material/Damage.hs 17;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f -defSPic src/Dodge/Item/Draw/SPic.hs 279;" f +defSPic src/Dodge/Item/Draw/SPic.hs 280;" f defaultAimMvType src/Dodge/Default/Creature.hs 116;" f defaultAimParams src/Dodge/Default/Item/Use/AimParams.hs 9;" f defaultAimingCrit src/Dodge/Default/Creature.hs 125;" f @@ -3823,7 +3827,7 @@ defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f defaultArcStep src/Dodge/Tesla/Arc/Default.hs 15;" f defaultAudition src/Dodge/Default/Creature.hs 93;" f defaultAutoWall src/Dodge/Default/Door.hs 15;" f -defaultBangCane src/Dodge/Item/Held/Cane.hs 19;" f +defaultBangCane src/Dodge/Item/Held/Cane.hs 20;" f defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f @@ -3903,10 +3907,10 @@ destroyMounts src/Dodge/Block.hs 101;" f destroyProjectile src/Dodge/Projectile/Update.hs 63;" f detV src/Geometry/Vector.hs 93;" f detector src/Dodge/Item/Held/Utility.hs 41;" f -detectorColor src/Dodge/Item/Draw/SPic.hs 429;" f +detectorColor src/Dodge/Item/Draw/SPic.hs 430;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f -detectorInfo src/Dodge/Item/Info.hs 178;" f -determineProjectileTracking src/Dodge/HeldUse.hs 564;" f +detectorInfo src/Dodge/Item/Info.hs 179;" f +determineProjectileTracking src/Dodge/HeldUse.hs 567;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 53;" f diffAngles src/Geometry.hs 210;" f @@ -3925,7 +3929,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 226;" f displayIndents src/Dodge/DisplayInventory.hs 123;" f -displayPulse src/Dodge/Item/Display.hs 88;" f +displayPulse src/Dodge/Item/Display.hs 93;" f displaySectionsSizes src/Dodge/DisplayInventory.hs 118;" f displayTerminalLineString src/Dodge/Update.hs 443;" f dist src/Geometry/Vector.hs 179;" f @@ -3964,7 +3968,7 @@ doDrag src/Dodge/Update/Input/InGame.hs 98;" 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 519;" f +doGenFloat src/Dodge/HeldUse.hs 522;" f doHeldUseEffect src/Dodge/HeldUse.hs 94;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f @@ -4015,7 +4019,7 @@ 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 106;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 110;" f doWorldEvents src/Dodge/Update.hs 425;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f @@ -4186,10 +4190,10 @@ eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f eqSiteToPositions src/Dodge/Inventory/RBList.hs 76;" f equipAllocString src/Dodge/Render/HUD.hs 295;" f -equipInfo src/Dodge/Item/Info.hs 96;" f +equipInfo src/Dodge/Item/Info.hs 97;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 132;" f equipPosition src/Dodge/Item/Draw.hs 28;" f -equipSiteInfo src/Dodge/Item/Info.hs 207;" f +equipSiteInfo src/Dodge/Item/Info.hs 208;" f equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f equipmentStrValue src/Dodge/Creature/Statistics.hs 20;" f errorAngleVV src/Geometry.hs 62;" f @@ -4252,12 +4256,12 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 29;" f 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 366;" f -flareCircleAt src/Dodge/HeldUse.hs 250;" f +flamerPic src/Dodge/Item/Draw/SPic.hs 367;" f +flareCircleAt src/Dodge/HeldUse.hs 254;" 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 -flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 416;" f +flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 417;" 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 @@ -4320,7 +4324,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 516;" f +gasCreate src/Dodge/HeldUse.hs 519;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4335,8 +4339,8 @@ getAmmoLinks src/Dodge/Item/Grammar.hs 81;" f getArguments src/Dodge/Update/Scroll.hs 152;" f getArguments' src/Dodge/Update/Scroll.hs 140;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f -getBulletTrajectory src/Dodge/HeldUse.hs 427;" f -getBulletType src/Dodge/HeldUse.hs 401;" f +getBulletTrajectory src/Dodge/HeldUse.hs 430;" f +getBulletType src/Dodge/HeldUse.hs 404;" f getCommands src/Dodge/Terminal.hs 117;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f getCrDexterity src/Dodge/Creature/Statistics.hs 11;" f @@ -4345,9 +4349,9 @@ 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 266;" f -getLaserDamage src/Dodge/HeldUse.hs 263;" f -getLaserPhaseV src/Dodge/HeldUse.hs 260;" f +getLaserColor src/Dodge/HeldUse.hs 270;" f +getLaserDamage src/Dodge/HeldUse.hs 267;" f +getLaserPhaseV src/Dodge/HeldUse.hs 264;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 372;" f @@ -4384,7 +4388,7 @@ goToTarget src/Dodge/Creature/ReaderUpdate.hs 136;" f gotoTerminal src/Dodge/Update.hs 128;" f grahamEliminate src/Geometry/Polygon.hs 125;" f grahamScan src/Geometry/Polygon.hs 116;" f -grapeCannon src/Dodge/Item/Held/Cone.hs 35;" f +grapeCannon src/Dodge/Item/Held/Cone.hs 36;" f graphToEdges src/Dodge/Graph.hs 35;" f graphToIncidence src/Dodge/Graph.hs 40;" f graphicsMenu src/Dodge/Menu.hs 162;" f @@ -4428,7 +4432,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 215;" f hat src/Dodge/Item/Equipment.hs 133;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 139;" f -headLampShape src/Dodge/Item/Draw/SPic.hs 419;" f +headLampShape src/Dodge/Item/Draw/SPic.hs 420;" f headMap src/Dodge/DoubleTree.hs 170;" f heal src/Dodge/Item/Consumable.hs 17;" f heal25 src/Dodge/Item/Consumable.hs 14;" f @@ -4444,7 +4448,7 @@ heldItemOffset src/Dodge/Item/HeldOffset.hs 78;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 26;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 31;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 208;" f -heldPositionInfo src/Dodge/Item/Info.hs 194;" f +heldPositionInfo src/Dodge/Item/Info.hs 195;" f helpCommand src/Dodge/Terminal.hs 66;" f helpPoly3D src/Polyhedra.hs 125;" f heron src/Geometry.hs 235;" f @@ -4555,7 +4559,7 @@ 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 277;" f +isAmmoIntLink src/Dodge/HeldUse.hs 280;" 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 @@ -4584,13 +4588,13 @@ isotriBWH src/Geometry/Polygon.hs 20;" f itDim src/Dodge/Item/InvSize.hs 20;" f itInvHeight src/Dodge/Item/InvSize.hs 11;" f itemBaseConnections src/Dodge/Item/Grammar.hs 114;" f -itemBaseName src/Dodge/Item/Display.hs 45;" f +itemBaseName src/Dodge/Item/Display.hs 50;" 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 307;" f +itemDetectorEffect src/Dodge/HeldUse.hs 310;" f itemDisplay src/Dodge/Item/Display.hs 16;" f -itemDisplayPad src/Dodge/Item/Display.hs 29;" f +itemDisplayPad src/Dodge/Item/Display.hs 34;" f itemEquipPict src/Dodge/Item/Draw.hs 16;" f itemFromAmmoMag src/Dodge/Item.hs 28;" f itemFromAttachType src/Dodge/Item.hs 37;" f @@ -4599,11 +4603,11 @@ itemFromEquipType src/Dodge/Item.hs 46;" f itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemInfo src/Dodge/Item/Info.hs 13;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f -itemNumberDisplay src/Dodge/Item/Display.hs 77;" f +itemNumberDisplay src/Dodge/Item/Display.hs 82;" f itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f -itemString src/Dodge/Item/Display.hs 42;" f +itemString src/Dodge/Item/Display.hs 47;" f itemToBreakLists src/Dodge/Item/Grammar.hs 50;" f itemToFunction src/Dodge/Item/Grammar.hs 87;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f @@ -4611,9 +4615,9 @@ itemUpdate src/Dodge/Creature/State.hs 419;" f iterateUntil src/MonadHelp.hs 23;" f iterateWhile src/MonadHelp.hs 30;" f itmBaseInfo src/Dodge/Item/Info.hs 23;" f -itmEquipSiteInfo src/Dodge/Item/Info.hs 204;" f +itmEquipSiteInfo src/Dodge/Item/Info.hs 205;" f itmSpaceInfo src/Dodge/Item/Info.hs 18;" f -itmUsageInfo src/Dodge/Item/Info.hs 184;" f +itmUsageInfo src/Dodge/Item/Info.hs 185;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f joinItemsInList src/Dodge/Item/Grammar.hs 176;" f @@ -4630,7 +4634,7 @@ keyCard src/Dodge/Item/Held/Utility.hs 30;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 68;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 56;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f -keyPic src/Dodge/Item/Draw/SPic.hs 435;" f +keyPic src/Dodge/Item/Draw/SPic.hs 436;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 470;" f lConnect src/Dodge/Render/Connectors.hs 42;" f @@ -4642,8 +4646,8 @@ lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 58;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 111;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f -lasGunPic src/Dodge/Item/Draw/SPic.hs 389;" f -lasRayAt src/Dodge/HeldUse.hs 378;" f +lasGunPic src/Dodge/Item/Draw/SPic.hs 390;" f +lasRayAt src/Dodge/HeldUse.hs 381;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 104;" f lasTunnel src/Dodge/Room/LasTurret.hs 123;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 164;" f @@ -4653,7 +4657,7 @@ laserLinkTest src/Dodge/Item/Grammar.hs 119;" f lastMap src/Dodge/DoubleTree.hs 174;" f launcher src/Dodge/Item/Held/Launcher.hs 12;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f -launcherPic src/Dodge/Item/Draw/SPic.hs 369;" f +launcherPic src/Dodge/Item/Draw/SPic.hs 370;" f launcherX src/Dodge/Item/Held/Launcher.hs 29;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 72;" f @@ -4670,7 +4674,7 @@ left src/DoubleStack.hs 16;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 146;" f leftPad src/Padding.hs 14;" f leftRightCombine src/Dodge/Item/Grammar.hs 160;" f -legsSPic src/Dodge/Item/Draw/SPic.hs 453;" f +legsSPic src/Dodge/Item/Draw/SPic.hs 454;" f liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 43;" f @@ -4705,7 +4709,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 380;" 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 186;" f +loadMuzzle src/Dodge/HeldUse.hs 190;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4743,7 +4747,7 @@ lsPosRad src/Dodge/LightSource.hs 17;" f ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f m src/ShortShow.hs 34;" f machineAddSound src/Dodge/Machine.hs 49;" f -machinePistol src/Dodge/Item/Held/Stick.hs 62;" f +machinePistol src/Dodge/Item/Held/Stick.hs 65;" f machineUpdateDeathEff src/Dodge/Machine.hs 34;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f magShield src/Dodge/Item/Equipment.hs 26;" f @@ -4760,7 +4764,7 @@ 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 460;" f +makeBullet src/Dodge/HeldUse.hs 463;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -4786,7 +4790,7 @@ makeFragBullets src/Dodge/Bullet.hs 107;" 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 208;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 212;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f @@ -4832,7 +4836,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 583;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f -maybeWarmupStatus src/Dodge/Item/Display.hs 94;" f +maybeWarmupStatus src/Dodge/Item/Display.hs 99;" f mcApplyDamage src/Dodge/Machine/Update.hs 108;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f @@ -4842,10 +4846,10 @@ 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 -mcShootLaser src/Dodge/HeldUse.hs 543;" f +mcShootLaser src/Dodge/HeldUse.hs 546;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f -mcUseHeld src/Dodge/HeldUse.hs 486;" f +mcUseHeld src/Dodge/HeldUse.hs 489;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 79;" f @@ -4885,9 +4889,9 @@ minCrIXOn src/Dodge/Zoning/Creature.hs 45;" f minOn src/FoldableHelp.hs 35;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 334;" f miniGunCrit src/Dodge/Creature.hs 62;" f -miniGunX src/Dodge/Item/Held/Cane.hs 89;" f -miniGunXPict src/Dodge/Item/Draw/SPic.hs 344;" f -miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 339;" f +miniGunX src/Dodge/Item/Held/Cane.hs 95;" f +miniGunXPict src/Dodge/Item/Draw/SPic.hs 345;" f +miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 340;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f miniTree2 src/Dodge/Room/Room.hs 106;" f minimumOn src/FoldlHelp.hs 12;" f @@ -4939,7 +4943,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 236;" f +muzFlareAt src/Dodge/HeldUse.hs 240;" 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 @@ -5084,7 +5088,7 @@ pincerP'' src/Dodge/Creature/Boid.hs 103;" f pincerP''' src/Dodge/Creature/Boid.hs 74;" f pingPongBetween src/Render.hs 220;" f pipe src/Dodge/Item/Craftable.hs 32;" f -pistol src/Dodge/Item/Held/Stick.hs 39;" f +pistol src/Dodge/Item/Held/Stick.hs 42;" f pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f pistolerRoom src/Dodge/Room/Room.hs 321;" f pjRemoteSetDirection src/Dodge/Projectile/Update.hs 113;" f @@ -5349,7 +5353,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 440;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteScreen src/Dodge/Item/Scope.hs 50;" f remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 388;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 391;" f removeDot src/ShortShow.hs 30;" f removeHotkey src/Dodge/Hotkey.hs 40;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f @@ -5392,7 +5396,7 @@ rezInvBox src/Dodge/Room/RezBox.hs 134;" f rezText src/Dodge/Story.hs 4;" f rezText' src/Dodge/Story.hs 17;" f rhombus src/Polyhedra.hs 72;" f -rifle src/Dodge/Item/Held/Cane.hs 54;" f +rifle src/Dodge/Item/Held/Cane.hs 55;" f right src/DoubleStack.hs 16;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 153;" f rightPad src/Padding.hs 22;" f @@ -5597,7 +5601,7 @@ shapeVerxAttributes src/Shape/Parameters.hs 13;" f shapeVerxSize src/Shape/Parameters.hs 10;" f shardShape src/Dodge/Block/Debris.hs 181;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f -shatterGunSPic src/Dodge/Item/Draw/SPic.hs 282;" f +shatterGunSPic src/Dodge/Item/Draw/SPic.hs 283;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shellCollisionCheck src/Dodge/Projectile/Update.hs 52;" f shellCollisionEffect src/Dodge/Projectile/Update.hs 48;" f @@ -5627,14 +5631,14 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f shineTargetLaser src/Dodge/Creature/State.hs 298;" f shineTorch src/Dodge/Creature/State.hs 340;" f -shootBullet src/Dodge/HeldUse.hs 447;" f +shootBullet src/Dodge/HeldUse.hs 450;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f -shootLaser src/Dodge/HeldUse.hs 358;" f +shootLaser src/Dodge/HeldUse.hs 361;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 552;" f +shootTeslaArc src/Dodge/HeldUse.hs 555;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 337;" f +shootTractorBeam src/Dodge/HeldUse.hs 340;" 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 @@ -5645,8 +5649,8 @@ shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 81;" f shoulderSH src/Dodge/Creature/Picture.hs 139;" f shoulderSP src/Dodge/Creature/HandPos.hs 170;" f -showAttachItem src/Dodge/Item/Display.hs 59;" f -showEquipItem src/Dodge/Item/Display.hs 72;" f +showAttachItem src/Dodge/Item/Display.hs 64;" f +showEquipItem src/Dodge/Item/Display.hs 77;" f showInt src/Dodge/Item/Info.hs 30;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f showManObj src/Dodge/TestString.hs 73;" f @@ -5687,7 +5691,7 @@ smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 384;" f smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 346;" f smallPillar src/Dodge/Room/Pillar.hs 32;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f -smg src/Dodge/Item/Held/Stick.hs 69;" f +smg src/Dodge/Item/Held/Stick.hs 72;" f smokeCloudAt src/Dodge/WorldEvent/Cloud.hs 41;" f sndV2 src/Geometry/Data.hs 52;" f sniperRifle src/Dodge/Item/Held/Rod.hs 54;" f @@ -5760,7 +5764,7 @@ ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 98;" f stackPicturesAtOff src/Dodge/Render/List.hs 101;" f stackText src/Picture/Base.hs 188;" f -stackedInventory src/Dodge/Creature.hs 281;" f +stackedInventory src/Dodge/Creature.hs 284;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f startDrag src/Dodge/Update/Input/InGame.hs 256;" f @@ -5842,12 +5846,12 @@ terminalScreenGlow src/Dodge/Machine/Update.hs 34;" f terminalShape src/Dodge/Machine/Draw.hs 32;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 78;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f -teslaGunPic src/Dodge/Item/Draw/SPic.hs 386;" f +teslaGunPic src/Dodge/Item/Draw/SPic.hs 387;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 37;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f testEvent src/Dodge/Event/Test.hs 10;" f -testInventory src/Dodge/Creature.hs 262;" f +testInventory src/Dodge/Creature.hs 265;" f testStringInit src/Dodge/TestString.hs 28;" f text src/Picture/Base.hs 193;" f textGrad src/Picture/Text.hs 5;" f @@ -5914,14 +5918,14 @@ topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 69;" f torch src/Dodge/Item/Held/Utility.hs 33;" f -torchShape src/Dodge/Item/Draw/SPic.hs 251;" f +torchShape src/Dodge/Item/Draw/SPic.hs 252;" f torqueCr src/Dodge/WorldEffect.hs 63;" 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 347;" f +tractorBeamAt src/Dodge/HeldUse.hs 350;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 70;" f -tractorGunPic src/Dodge/Item/Draw/SPic.hs 413;" f +tractorGunPic src/Dodge/Item/Draw/SPic.hs 414;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 124;" f @@ -6160,23 +6164,23 @@ useBulletPayload src/Dodge/Bullet.hs 96;" 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 491;" f +useGasParams src/Dodge/HeldUse.hs 494;" f useHotkey src/Dodge/Creature/YourControl.hs 54;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 281;" f +useLoadedAmmo src/Dodge/HeldUse.hs 284;" f useMagShield src/Dodge/Euse.hs 45;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f -useRewindGun src/Dodge/HeldUse.hs 636;" f +useRewindGun src/Dodge/HeldUse.hs 639;" 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 20;" f -useStopWatch src/Dodge/HeldUse.hs 617;" f +useStopWatch src/Dodge/HeldUse.hs 620;" f useStopWatch src/Dodge/Luse.hs 21;" f useTimeCheck src/Dodge/HeldUse.hs 58;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f -useTimeScrollGun src/Dodge/HeldUse.hs 625;" f +useTimeScrollGun src/Dodge/HeldUse.hs 628;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUpdate src/Dodge/Creature/State.hs 423;" f @@ -6209,10 +6213,10 @@ violet src/Color.hs 21;" f visibleWalls src/Dodge/Base/Collide.hs 123;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f -volleyGun src/Dodge/Item/Held/Cane.hs 30;" f -volleyGunShape src/Dodge/Item/Draw/SPic.hs 327;" f +volleyGun src/Dodge/Item/Held/Cane.hs 31;" f +volleyGunShape src/Dodge/Item/Draw/SPic.hs 328;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f -walkNozzle src/Dodge/HeldUse.hs 315;" f +walkNozzle src/Dodge/HeldUse.hs 318;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 80;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 50;" f @@ -6304,7 +6308,7 @@ zipArcs src/Dodge/Tesla.hs 103;" f zipArcs src/Dodge/Tesla/Arc.hs 110;" f zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f -zipWithDefaults src/Dodge/Item/Display.hs 22;" f +zipWithDefaults src/Dodge/Item/Display.hs 27;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f zoneClouds src/Dodge/Update.hs 440;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f