From f765b02f2c5d01f4a8ebb4f45bef47ef66666992 Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 24 Sep 2024 22:29:25 +0100 Subject: [PATCH] Fix bug in item item location --- ghcidOutput | 2 +- src/Dodge/Data/Item/HeldUse.hs | 44 ------ src/Dodge/Inventory/Location.hs | 4 +- src/Dodge/Item/HeldOffset.hs | 17 +-- src/Dodge/TestString.hs | 3 +- tags | 248 +++++++++++++++----------------- 6 files changed, 130 insertions(+), 188 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 6800bccdc..2308ea32c 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (620 modules, at 22:05:15) +All good (620 modules, at 22:28:14) diff --git a/src/Dodge/Data/Item/HeldUse.hs b/src/Dodge/Data/Item/HeldUse.hs index 094b4d4f5..8783b504a 100644 --- a/src/Dodge/Data/Item/HeldUse.hs +++ b/src/Dodge/Data/Item/HeldUse.hs @@ -14,18 +14,9 @@ import Control.Lens data Huse = HeldDoNothing --- | HeldUseAmmoParams --- | HeldOverNozzlesUseGasParams --- | HeldPJCreation --- | HeldPJCreationX Int | HeldFireRemoteShell | HeldExplodeRemoteShell Int Int | HeldDetectorEffect Detector --- | HeldTeslaArc --- | HeldLaser --- | HeldCircleLaser --- | HeldDualLaser --- | HeldTractor | HeldForceField | HeldShatter deriving (Eq, Ord, Show, Read) --Generic, Flat) @@ -67,44 +58,9 @@ data Luse data HeldMod = PistolMod --- | PoisonSprayerMod --- | FlameSpitterMod --- | FlameSpitterRepeatMod --- | FlameThrowerMod --- | LauncherMod --- | TeslaMod --- | CircleLaserMod --- | LasWideMod Int --- | DualBeamMod --- | LasMod --- | LauncherXMod Int --- | ShatterMod --- | AmmoCheckMod --- | AmmoUseCheckMod --- | AmmoHammerTimeUseOneMod --- | BangCaneMod --- | VolleyGunMod --- | MultiGunMod --- | AutoRifleMod --- | BangRodMod --- | ElephantGunMod --- | AutoAmrMod --- | MachineGunMod --- | ModWithDirectedTeleport HeldMod --- | BangStickMod --- | AutoPistolMod --- | MachinePistolMod --- | BurstRifleMod --- | BurstRifleRepeatMod --- | MiniGunMod Int --- | SmgMod --- | BangConeMod --- | TractorMod --apply with AmmoCheckMod | FireRemoteShellMod | ExplodeRemoteShellMod | DoNothingMod --- | ForceFieldMod --- | DetectorMod Detector deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''Euse diff --git a/src/Dodge/Inventory/Location.hs b/src/Dodge/Inventory/Location.hs index 023b33257..261a9aaaf 100644 --- a/src/Dodge/Inventory/Location.hs +++ b/src/Dodge/Inventory/Location.hs @@ -58,8 +58,8 @@ crUpdateInvidLocations mo crid lw invid itm = lw newloc = InInv { _ilCrID = crid , _ilInvID = invid - , _ilIsRoot = Just invid == mo ^? imSelectedItem - , _ilIsSelected = Just invid == mo ^? imRootItem + , _ilIsRoot = Just invid == mo ^? imRootItem + , _ilIsSelected = Just invid == mo ^? imSelectedItem , _ilIsAttached = invid `IS.member` (mo ^. imAttachedItems) } diff --git a/src/Dodge/Item/HeldOffset.hs b/src/Dodge/Item/HeldOffset.hs index 8c0343227..c80717cdd 100644 --- a/src/Dodge/Item/HeldOffset.hs +++ b/src/Dodge/Item/HeldOffset.hs @@ -23,36 +23,33 @@ transToHandle itm = fromMaybe id $ do heldItemOffset :: Item -> Creature -> Point3 -> Point3 heldItemOffset itm cr - | isroot && _posture (_crStance cr) == Aiming = + | _posture (_crStance cr) == Aiming = (+.+.+ aimingWeaponZeroPos cr itm `v2z` shoulderHeight) - | isroot && isTwoHandFlat = + | isTwoHandFlat = (+.+.+ V3 (_crRad cr) 0 handD) . rotate3 (twoFlatHRot cr) . transToHandle itm - | isroot && isOneHand = + | isOneHand = (+.+.+ V3 0 0 handD) . (+.+.+ V3 (_crRad cr * 0.7 + handPos) (_crRad cr * negate 0.7) 0) . (+.+.+ V3 (-2) 0 0) . transToHandle itm - | isroot = + | otherwise = (+.+.+ V3 0 0 handD) . (+.+.+ V3 (_crRad cr) 0 0) . rotate3 (strideRot cr + 1.2) . (+.+.+ V3 (-8) 0 0) -- . (+.+.+ V3 (-5) 0 0) . transToHandle itm - | otherwise = id where handD = 15 - isroot = _ilIsRoot $ _itLocation itm -- should make safe? handPos = case cr ^? crStance . carriage of Just (Walking x LeftForward) -> f x * 50 _ -> 0 - theIt = itm isOneHand = - theIt ^? itUseAimStance == Just OneHand - || isNothing (theIt ^? itUseAimStance) - isTwoHandFlat = theIt ^? itUseAimStance == Just TwoHandFlat + itm ^? itUseAimStance == Just OneHand + || isNothing (itm ^? itUseAimStance) + isTwoHandFlat = itm ^? itUseAimStance == Just TwoHandFlat itUseAimStance = itUse . heldAim . aimStance f i = 0.1 * fromIntegral (sLen - i) / fromIntegral sLen sLen = _strideLength $ _crStance cr diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index f7774f601..5eeefe2f4 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -22,7 +22,8 @@ import qualified IntMapHelp as IM testStringInit :: Universe -> [String] testStringInit u = (topTestPart u <>) $ map showh $ - (IM.toList . IM.filter (\itloc -> itloc ^? ilCrID == Just 0) $ (u ^. uvWorld . cWorld . lWorld . itemLocations)) <> ( IM.elems $ fmap h (u ^?! uvWorld . cWorld . lWorld . creatures . ix 0 . crInv)) +-- (IM.toList . IM.filter (\itloc -> itloc ^? ilCrID == Just 0) $ (u ^. uvWorld . cWorld . lWorld . itemLocations)) <> + ( IM.elems $ fmap h (u ^?! uvWorld . cWorld . lWorld . creatures . ix 0 . crInv)) where h itm = (_itID itm, _itLocation itm) showh (x,(InInv a b c d e)) = show x ++ "," ++ show a ++ "," ++ show b ++"," ++ show c ++"," ++ show d diff --git a/tags b/tags index 76ef4a851..98d47da94 100644 --- a/tags +++ b/tags @@ -324,11 +324,11 @@ CAMERA src/Dodge/Combine/Data.hs 49;" C CAMERA src/Dodge/Data/Item/Combine.hs 55;" C CAN src/Dodge/Combine/Data.hs 32;" C CAN src/Dodge/Data/Item/Combine.hs 36;" C -CDoNothing src/Dodge/Data/Item/HeldUse.hs 34;" C +CDoNothing src/Dodge/Data/Item/HeldUse.hs 25;" C CHARTREUSE src/Color/Data.hs 25;" C CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 114;" C -CHeal src/Dodge/Data/Item/HeldUse.hs 35;" C -CIL src/Dodge/Item/Grammar.hs 21;" t +CHeal src/Dodge/Data/Item/HeldUse.hs 26;" C +CIL src/Dodge/Item/Grammar.hs 22;" t CIRCLE src/Dodge/Data/GenParams.hs 20;" C CME src/Dodge/Data/MuzzleEffect.hs 11;" C CONCUSBUL src/Dodge/Combine/Data.hs 206;" C @@ -447,7 +447,7 @@ Compose src/Dodge/Tree/Compose.hs 4;" m ComposeLinkType src/Dodge/Data/ComposedItem.hs 13;" t ComposedItem src/Dodge/Data/ComposedItem.hs 21;" t ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m -ComposedItemStructure src/Dodge/Item/Grammar.hs 18;" t +ComposedItemStructure src/Dodge/Item/Grammar.hs 19;" t Composite src/Picture/Composite.hs 1;" m ComsSS src/Dodge/Data/Scenario.hs 98;" C ConcBall src/Dodge/Data/Bullet.hs 32;" C @@ -574,7 +574,7 @@ CurseStatus src/Dodge/Data/Item/CurseStatus.hs 11;" t CurseStatus src/Dodge/Item/Data.hs 7;" t CurseStatus src/Dodge/Data/Item/CurseStatus.hs 6;" m CursorType src/Dodge/Data/SelectionList.hs 71;" t -Cuse src/Dodge/Data/Item/HeldUse.hs 33;" t +Cuse src/Dodge/Data/Item/HeldUse.hs 24;" t Cuse src/Dodge/Cuse.hs 1;" m Cylinder src/Shape/Data.hs 19;" C DPoint2 src/Geometry/Data.hs 34;" t @@ -706,7 +706,7 @@ DoActions src/Dodge/Data/ActionPlan.hs 130;" C DoImpulses src/Dodge/Data/ActionPlan.hs 100;" C DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 169;" C DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 19;" C -DoNothingMod src/Dodge/Data/Item/HeldUse.hs 105;" C +DoNothingMod src/Dodge/Data/Item/HeldUse.hs 63;" C DoReplicate src/Dodge/Data/ActionPlan.hs 140;" C DoReplicatePartial src/Dodge/Data/ActionPlan.hs 144;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C @@ -790,28 +790,28 @@ DualBeam src/Dodge/Data/Item/Params.hs 36;" C DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Wall/Dust.hs 1;" m -EAmmoSource src/Dodge/Data/Item/HeldUse.hs 49;" C +EAmmoSource src/Dodge/Data/Item/HeldUse.hs 40;" C EBO src/Shader/Data.hs 88;" t -EBatterySource src/Dodge/Data/Item/HeldUse.hs 48;" C -ECamouflage src/Dodge/Data/Item/HeldUse.hs 44;" C -EDetector src/Dodge/Data/Item/HeldUse.hs 40;" C -EDoNothing src/Dodge/Data/Item/HeldUse.hs 39;" C +EBatterySource src/Dodge/Data/Item/HeldUse.hs 39;" C +ECamouflage src/Dodge/Data/Item/HeldUse.hs 35;" C +EDetector src/Dodge/Data/Item/HeldUse.hs 31;" C +EDoNothing src/Dodge/Data/Item/HeldUse.hs 30;" C EFFGUN src/Dodge/Combine/Data.hs 83;" C -EFuelSource src/Dodge/Data/Item/HeldUse.hs 47;" C -EHeadLamp src/Dodge/Data/Item/HeldUse.hs 43;" C +EFuelSource src/Dodge/Data/Item/HeldUse.hs 38;" C +EHeadLamp src/Dodge/Data/Item/HeldUse.hs 34;" C ELECTRICAL src/Dodge/Data/Damage/Type.hs 20;" C ELECTRICAL src/Dodge/Data/DamageType.hs 19;" C ELEPHANTGUN src/Dodge/Combine/Data.hs 156;" C ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 175;" C EMPTYMODULE src/Dodge/Combine/Data.hs 198;" C EMPTYMODULE src/Dodge/Data/Item/Combine.hs 206;" C -EMagShield src/Dodge/Data/Item/HeldUse.hs 41;" C +EMagShield src/Dodge/Data/Item/HeldUse.hs 32;" C ENERGYBALLCRAFT src/Dodge/Data/Item/Combine.hs 74;" C ENTERREMENT src/Dodge/Data/Damage/Type.hs 24;" C ENTERREMENT src/Dodge/Data/DamageType.hs 25;" C EQUIP src/Dodge/Combine/Data.hs 88;" C EQUIP src/Dodge/Data/Item/Combine.hs 88;" C -EWristShield src/Dodge/Data/Item/HeldUse.hs 42;" C +EWristShield src/Dodge/Data/Item/HeldUse.hs 33;" C EXPLOSIVE src/Dodge/Data/Damage/Type.hs 21;" C EXPLOSIVE src/Dodge/Data/DamageType.hs 20;" C EXPLOSIVES src/Dodge/Data/Item/Combine.hs 120;" C @@ -842,8 +842,8 @@ EnergyBall src/Dodge/EnergyBall.hs 1;" m EnergyBallType src/Dodge/Data/Bullet.hs 32;" t EnergyGeneratorSS src/Dodge/Data/Scenario.hs 109;" C EngineSS src/Dodge/Data/Scenario.hs 88;" C -EoffWristShield src/Dodge/Data/Item/HeldUse.hs 46;" C -EonWristShield src/Dodge/Data/Item/HeldUse.hs 45;" C +EoffWristShield src/Dodge/Data/Item/HeldUse.hs 37;" C +EonWristShield src/Dodge/Data/Item/HeldUse.hs 36;" C EquipCounter src/Dodge/Data/Item/Use/Equipment.hs 31;" C EquipEffect src/Dodge/Data/Item/Use/Equipment.hs 17;" t EquipID src/Dodge/Data/Item/Use/Equipment.hs 30;" C @@ -867,13 +867,13 @@ EquipmentFamily src/Dodge/Item/Family.hs 5;" C Escape src/Dodge/Data/Scenario.hs 10;" C EscapeMenuOption src/Dodge/Data/Universe.hs 72;" t Essential src/Shape/Data.hs 34;" C -Euse src/Dodge/Data/Item/HeldUse.hs 38;" t +Euse src/Dodge/Data/Item/HeldUse.hs 29;" t Euse src/Dodge/Euse.hs 1;" m Event src/Dodge/Button/Event.hs 1;" m Event src/Dodge/Event.hs 14;" m ExamineInventory src/Dodge/Data/HUD.hs 25;" C ExpireAndDamage src/Dodge/Particle/HitEffect/ExpireAndDamage.hs 1;" m -ExplodeRemoteShellMod src/Dodge/Data/Item/HeldUse.hs 104;" C +ExplodeRemoteShellMod src/Dodge/Data/Item/HeldUse.hs 62;" C Explore src/Dodge/Data/Scenario.hs 4;" C Explosion src/Dodge/Data/SoundOrigin.hs 35;" C Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m @@ -925,7 +925,7 @@ FailedResource src/Dodge/Data/Scenario.hs 37;" t Family src/Dodge/Item/Family.hs 1;" m FetchItem src/Dodge/Data/Scenario.hs 11;" C FindRoot src/Dodge/Inventory/FindRoot.hs 1;" m -FireRemoteShellMod src/Dodge/Data/Item/HeldUse.hs 103;" C +FireRemoteShellMod src/Dodge/Data/Item/HeldUse.hs 61;" C FirstWeapon src/Dodge/Layout/Tree/Annotate.hs 19;" C Fitting src/Dodge/LightSources/Fitting.hs 1;" m Fixated src/Dodge/Creature/AlertLevel/Data.hs 23;" C @@ -1118,15 +1118,15 @@ Held src/Dodge/Default/Item/Held.hs 1;" m Held src/Dodge/Item/Held.hs 1;" m HeldConsumption src/Dodge/Data/Item/Consumption.hs 14;" t HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m -HeldDetectorEffect src/Dodge/Data/Item/HeldUse.hs 23;" C +HeldDetectorEffect src/Dodge/Data/Item/HeldUse.hs 19;" C HeldDoNothing src/Dodge/Data/Item/HeldUse.hs 16;" C -HeldExplodeRemoteShell src/Dodge/Data/Item/HeldUse.hs 22;" C +HeldExplodeRemoteShell src/Dodge/Data/Item/HeldUse.hs 18;" C HeldFamily src/Dodge/Item/Family.hs 3;" C -HeldFireRemoteShell src/Dodge/Data/Item/HeldUse.hs 21;" C -HeldForceField src/Dodge/Data/Item/HeldUse.hs 29;" C +HeldFireRemoteShell src/Dodge/Data/Item/HeldUse.hs 17;" C +HeldForceField src/Dodge/Data/Item/HeldUse.hs 20;" C HeldItemType src/Dodge/Combine/Data.hs 133;" t HeldItemType src/Dodge/Data/Item/Combine.hs 159;" t -HeldMod src/Dodge/Data/Item/HeldUse.hs 68;" t +HeldMod src/Dodge/Data/Item/HeldUse.hs 59;" t HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m HeldParams src/Dodge/Data/Item/Use.hs 77;" t HeldScroll src/Dodge/Data/Item/HeldScroll.hs 13;" t @@ -1135,8 +1135,7 @@ HeldScroll src/Dodge/HeldScroll.hs 1;" m HeldScrollCharMode src/Dodge/Data/Item/HeldScroll.hs 16;" C HeldScrollDoNothing src/Dodge/Data/Item/HeldScroll.hs 14;" C HeldScrollZoom src/Dodge/Data/Item/HeldScroll.hs 15;" C -HeldShatter src/Dodge/Data/Item/HeldUse.hs 30;" C -HeldTractor src/Dodge/Data/Item/HeldUse.hs 28;" C +HeldShatter src/Dodge/Data/Item/HeldUse.hs 21;" C HeldUse src/Dodge/Data/Item/Use.hs 33;" C HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m HeldUse src/Dodge/HeldUse.hs 2;" m @@ -1196,10 +1195,8 @@ InDivineZone src/Dodge/Data/Scenario.hs 22;" C InDream src/Dodge/Data/Scenario.hs 19;" C InGame src/Dodge/Update/Input/InGame.hs 1;" m InInv src/Dodge/Data/Item/Location.hs 26;" C -InInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C InLink src/Dodge/Data/Room.hs 44;" C InLink src/Dodge/Room/Data.hs 44;" C -InNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" C InParallelUniverse src/Dodge/Data/Scenario.hs 21;" C InPlacement src/Dodge/Data/GenWorld.hs 133;" t InRealWorld src/Dodge/Data/Scenario.hs 18;" C @@ -1248,13 +1245,11 @@ InvLayer src/Dodge/Picture/Layer/Data.hs 12;" C InvSel src/Dodge/Data/Creature/InvSel.hs 13;" t InvSel src/Dodge/Data/LoadAction.hs 19;" t InvSel src/Dodge/Data/Creature/InvSel.hs 5;" m -InvSelAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 41;" t InvSelAction src/Dodge/Data/LoadAction.hs 24;" t Inventory src/Dodge/Inventory.hs 2;" m InventoryChange src/Dodge/Data/World.hs 32;" C InventoryColor src/Dodge/Item/InventoryColor.hs 1;" m InventoryDisplay src/Dodge/Item/Weapon/InventoryDisplay.hs 4;" m -InventoryManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" t InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C Investigate src/Dodge/Data/ActionPlan.hs 184;" C Invisible src/Dodge/Data/CamouflageStatus.hs 13;" C @@ -1339,17 +1334,17 @@ LAUNCHERX src/Dodge/Combine/Data.hs 180;" C LAUNCHERX src/Dodge/Data/Item/Combine.hs 193;" C LAUNCHHOME src/Dodge/Combine/Data.hs 217;" C LAUNCHHOME src/Dodge/Data/Item/Combine.hs 216;" C -LBlink src/Dodge/Data/Item/HeldUse.hs 63;" C -LBoost src/Dodge/Data/Item/HeldUse.hs 65;" C +LBlink src/Dodge/Data/Item/HeldUse.hs 54;" C +LBoost src/Dodge/Data/Item/HeldUse.hs 56;" C LBranches src/TreeExtra.hs 24;" C LDT src/Dodge/Data/DoubleTree.hs 39;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C -LDTComb src/Dodge/Item/Grammar.hs 54;" t +LDTComb src/Dodge/Item/Grammar.hs 55;" t LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C LDTTopNode src/Dodge/Data/DoubleTree.hs 24;" C -LDoNothing src/Dodge/Data/Item/HeldUse.hs 58;" C +LDoNothing src/Dodge/Data/Item/HeldUse.hs 49;" C LED src/Dodge/Combine/Data.hs 51;" C LED src/Dodge/Data/Item/Combine.hs 57;" C LEFT src/Dodge/Combine/Data.hs 87;" C @@ -1360,14 +1355,14 @@ LIGHTER src/Dodge/Data/Item/Combine.hs 46;" C LIGHTSENSOR src/Dodge/Combine/Data.hs 54;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 60;" C LLeaf src/TreeExtra.hs 25;" C -LRewind src/Dodge/Data/Item/HeldUse.hs 59;" C +LRewind src/Dodge/Data/Item/HeldUse.hs 50;" C LS src/Dodge/Data/LightSource.hs 34;" C LSParam src/Dodge/Data/LightSource.hs 27;" t -LShrink src/Dodge/Data/Item/HeldUse.hs 62;" C -LTimePause src/Dodge/Data/Item/HeldUse.hs 60;" C -LTimeScroll src/Dodge/Data/Item/HeldUse.hs 61;" C +LShrink src/Dodge/Data/Item/HeldUse.hs 53;" C +LTimePause src/Dodge/Data/Item/HeldUse.hs 51;" C +LTimeScroll src/Dodge/Data/Item/HeldUse.hs 52;" C LTree src/TreeExtra.hs 23;" t -LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 64;" C +LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 55;" C LWorld src/Dodge/Data/LWorld.hs 98;" t LWorld src/Dodge/Data/LWorld.hs 6;" m LabLink src/Dodge/Data/Room.hs 45;" C @@ -1489,7 +1484,7 @@ Lorem src/Lorem.hs 1;" m LtAutoAI src/Dodge/Data/Creature/Misc.hs 54;" C LtAutoCrit src/Dodge/Creature/LtAutoCrit.hs 1;" m Lure src/Dodge/Data/ActionPlan.hs 179;" C -Luse src/Dodge/Data/Item/HeldUse.hs 57;" t +Luse src/Dodge/Data/Item/HeldUse.hs 48;" t Luse src/Dodge/Luse.hs 1;" m MACHINEGUN src/Dodge/Combine/Data.hs 160;" C MACHINEPISTOL src/Dodge/Combine/Data.hs 138;" C @@ -1683,7 +1678,6 @@ NearCosmicRays src/Dodge/Data/Scenario.hs 84;" C NearDustBelt src/Dodge/Data/Scenario.hs 85;" C NearGravityFlux src/Dodge/Data/Scenario.hs 83;" C NearSolar src/Dodge/Data/Scenario.hs 82;" C -NearbyManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" t NewID src/Dodge/Base/NewID.hs 1;" m NewInt src/NewInt.hs 15;" t NewInt src/NewInt.hs 7;" m @@ -1719,7 +1713,6 @@ NoHammer src/Dodge/Data/Hammer.hs 13;" C NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoInvEffect src/Dodge/Data/ItEffect.hs 37;" C NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C -NoInvSelAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 42;" C NoInvSelAction src/Dodge/Data/LoadAction.hs 25;" C NoItAttachment src/Dodge/Data/Item/Attachment.hs 18;" C NoItAttachment src/Dodge/Item/Attachment/Data.hs 20;" C @@ -1955,7 +1948,7 @@ Pipe src/Dodge/Placement/Instance/Pipe.hs 1;" m PistolAI src/Dodge/Data/Creature/Misc.hs 53;" C PistolCrit src/Dodge/Creature/PistolCrit.hs 1;" m PistolFlare src/Dodge/Data/Item/Use.hs 138;" C -PistolMod src/Dodge/Data/Item/HeldUse.hs 69;" C +PistolMod src/Dodge/Data/Item/HeldUse.hs 60;" C PlaceSpot src/Dodge/Placement/PlaceSpot.hs 4;" m Placement src/Dodge/Data/GenWorld.hs 77;" t Placement src/Dodge/Placement.hs 1;" m @@ -2293,11 +2286,11 @@ SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 49;" t SeeAbove src/Dodge/Data/Wall.hs 40;" C SeeThrough src/Dodge/Data/Wall.hs 39;" C -SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C -SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C +SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C +SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C SelectUse src/Dodge/SelectUse.hs 1;" m Select_creature src/Dodge/Data/Config.hs 92;" C -SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 34;" C +SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C SelectionInfo src/Dodge/Data/SelectionList.hs 84;" C SelectionIntMap src/SelectionIntMap.hs 1;" m SelectionItem src/Dodge/Data/SelectionList.hs 75;" t @@ -2412,8 +2405,8 @@ SmoothScroll src/Dodge/SmoothScroll.hs 1;" m SocialUpheaval src/Dodge/Data/Scenario.hs 27;" C SolarGovernment src/Dodge/Data/Scenario.hs 53;" C SonicGuns src/Dodge/Item/Weapon/SonicGuns.hs 1;" m -SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" C -SortNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C +SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C +SortNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C Sound src/Sound/Data.hs 49;" t Sound src/Dodge/Material/Sound.hs 1;" m Sound src/Dodge/WorldEvent/Sound.hs 1;" m @@ -3353,15 +3346,15 @@ _eqViewDist src/Dodge/Data/Equipment.hs 18;" f _equipEffect src/Dodge/Data/Item/Use.hs 49;" f _equipEffect src/Dodge/Data/Item/Use.hs 57;" f _equipTargeting src/Dodge/Data/Item/Use.hs 58;" f -_euseAmmoAmount src/Dodge/Data/Item/HeldUse.hs 50;" f -_euseAmmoLink src/Dodge/Data/Item/HeldUse.hs 53;" f -_euseAmmoMax src/Dodge/Data/Item/HeldUse.hs 51;" f -_euseBatteryAmount src/Dodge/Data/Item/HeldUse.hs 48;" f -_euseBatteryMax src/Dodge/Data/Item/HeldUse.hs 48;" f -_euseCamouflageStatus src/Dodge/Data/Item/HeldUse.hs 44;" f -_euseDetector src/Dodge/Data/Item/HeldUse.hs 40;" f -_euseFuelAmount src/Dodge/Data/Item/HeldUse.hs 47;" f -_euseFuelMax src/Dodge/Data/Item/HeldUse.hs 47;" f +_euseAmmoAmount src/Dodge/Data/Item/HeldUse.hs 41;" f +_euseAmmoLink src/Dodge/Data/Item/HeldUse.hs 44;" f +_euseAmmoMax src/Dodge/Data/Item/HeldUse.hs 42;" f +_euseBatteryAmount src/Dodge/Data/Item/HeldUse.hs 39;" f +_euseBatteryMax src/Dodge/Data/Item/HeldUse.hs 39;" f +_euseCamouflageStatus src/Dodge/Data/Item/HeldUse.hs 35;" f +_euseDetector src/Dodge/Data/Item/HeldUse.hs 31;" f +_euseFuelAmount src/Dodge/Data/Item/HeldUse.hs 38;" f +_euseFuelMax src/Dodge/Data/Item/HeldUse.hs 38;" f _fbo2 src/Data/Preload/Render.hs 29;" f _fbo3 src/Data/Preload/Render.hs 30;" f _fboBase src/Data/Preload/Render.hs 33;" f @@ -3498,9 +3491,9 @@ _ilIsAttached src/Dodge/Data/Item/Location.hs 31;" f _ilIsRoot src/Dodge/Data/Item/Location.hs 29;" f _ilIsSelected src/Dodge/Data/Item/Location.hs 30;" f _ilTuID src/Dodge/Data/Item/Location.hs 33;" f -_imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 37;" f -_imRootItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 36;" f -_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 35;" f +_imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" f +_imRootItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f +_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f _impulseUseAheadPos src/Dodge/Data/ActionPlan.hs 56;" f @@ -3509,8 +3502,6 @@ _impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f _imtBulletTrajectoryType src/Dodge/Data/Item/Combine.hs 210;" f _imtTargetType src/Dodge/Data/Item/Combine.hs 211;" f -_inInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" f -_inNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f _input src/Dodge/Data/World.hs 43;" f _insertMax src/Dodge/Data/LoadAction.hs 13;" f _instantBullets src/Dodge/Data/LWorld.hs 106;" f @@ -3526,7 +3517,7 @@ _iselMItem src/Dodge/Data/Creature/InvSel.hs 16;" f _iselPos src/Dodge/Data/Creature/Capability.hs 22;" f _iselPos src/Dodge/Data/Creature/InvSel.hs 14;" f _iselPos src/Dodge/Data/LoadAction.hs 19;" f -_ispCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" f +_ispCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" f _itAttachments src/Dodge/Data/Item.hs 48;" f _itCurseStatus src/Dodge/Data/Item.hs 44;" f _itDimension src/Dodge/Data/Item.hs 43;" f @@ -4335,7 +4326,6 @@ aSound src/Dodge/SoundLogic.hs 68;" f aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f aTeslaArcAt src/Dodge/Particle/TeslaArc.hs 12;" f aTeslaArcAt src/Dodge/Tesla/Arc.hs 20;" f -aTractorBeam src/Dodge/Item/Weapon/BatteryGuns.hs 149;" f aTreeStrut src/Dodge/Layout/Tree/GenerateStructure.hs 39;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 37;" f aWallPulse src/Dodge/Item/Weapon/UseEffect.hs 21;" f @@ -4413,7 +4403,7 @@ allHotkeys src/Dodge/Creature/YourControl.hs 52;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f alongSegBy src/Geometry.hs 43;" f ammoCheckI src/Dodge/Item/Weapon/TriggerType.hs 118;" f -ammoComposedItem src/Dodge/Item/Grammar.hs 45;" f +ammoComposedItem src/Dodge/Item/Grammar.hs 46;" f ammoTweakStrings src/Dodge/Render/HUD.hs 288;" f amr src/Dodge/Item/Held/Rod.hs 46;" f amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f @@ -4430,24 +4420,24 @@ anyTargeting src/Dodge/Render/ShapePicture.hs 71;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 242;" f appendEitherTree src/Dodge/Layout/Tree/Either.hs 29;" f -applyCME src/Dodge/HeldUse.hs 73;" f +applyCME src/Dodge/HeldUse.hs 74;" 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 83;" f +applyInvLock src/Dodge/HeldUse.hs 84;" f applyMagnetsToBul src/Dodge/Bullet.hs 46;" f applyModules src/Dodge/Combine/Module.hs 52;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyPastDamages src/Dodge/Creature/State.hs 173;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 100;" f +applyRecoil src/Dodge/HeldUse.hs 101;" f applyResFactor src/Dodge/Data/Config.hs 108;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 78;" f -applySidePush src/Dodge/HeldUse.hs 107;" f -applySoundCME src/Dodge/HeldUse.hs 91;" f +applySidePush src/Dodge/HeldUse.hs 108;" f +applySoundCME src/Dodge/HeldUse.hs 92;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 27;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 39;" f applyTerminalString src/Dodge/Debug/Terminal.hs 21;" f @@ -4462,7 +4452,7 @@ applyToSubforest src/Dodge/Tree/Polymorphic.hs 66;" f applyToSubforest src/TreeHelp.hs 77;" f applyToSubtree src/Dodge/Tree/Polymorphic.hs 60;" f applyToSubtree src/TreeHelp.hs 70;" f -applyTorqueCME src/Dodge/HeldUse.hs 117;" f +applyTorqueCME src/Dodge/HeldUse.hs 118;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -4541,9 +4531,9 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 444;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placements/Wall.hs 63;" f baseBlockPane src/Dodge/Room/Placement.hs 93;" f -baseCIS src/Dodge/Item/Grammar.hs 50;" f +baseCIS src/Dodge/Item/Grammar.hs 51;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 250;" f -baseComposedItem src/Dodge/Item/Grammar.hs 26;" f +baseComposedItem src/Dodge/Item/Grammar.hs 27;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 38;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 253;" f @@ -4569,7 +4559,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 50;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 160;" f +basicMuzFlare src/Dodge/HeldUse.hs 161;" f basicPerceptionUpdateR src/Dodge/Creature/AlertLevel.hs 17;" f basicTerminal src/Dodge/Terminal.hs 32;" f battery src/Dodge/Item/Ammo.hs 76;" f @@ -4581,7 +4571,7 @@ bezierGun src/Dodge/Item/Weapon/Bezier.hs 24;" f bfsNodePoints src/Dodge/Path.hs 58;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 216;" f bindFBO src/Render.hs 244;" f -blCheck src/Dodge/Item/Weapon/TriggerType.hs 291;" f +blCheck src/Dodge/Item/Weapon/TriggerType.hs 268;" f black src/Color.hs 27;" f blank src/Picture/Base.hs 59;" f blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f @@ -4728,7 +4718,7 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -cisToItem src/Dodge/Item/Grammar.hs 23;" f +cisToItem src/Dodge/Item/Grammar.hs 24;" f clClSpringVel src/Dodge/Update.hs 630;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f @@ -4895,7 +4885,7 @@ createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 8;" f createHeadLamp src/Dodge/Euse.hs 159;" f createHeldLight src/Dodge/ItEffect.hs 70;" f -createItemYou src/Dodge/Inventory/Add.hs 70;" f +createItemYou src/Dodge/Inventory/Add.hs 77;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f createPathGrid src/Dodge/Room/Path.hs 21;" f @@ -5260,7 +5250,7 @@ doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 8;" f doWdWd src/Dodge/WorldEffect.hs 26;" f -doWeaponRepetitions src/Dodge/HeldUse.hs 65;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 66;" f doWindowScale src/Dodge/Base/WinScale.hs 11;" f doWindowScale src/Dodge/WinScale.hs 10;" f doWorldEvents src/Dodge/Update.hs 307;" f @@ -5686,8 +5676,8 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f haltSound src/Dodge/SoundLogic.hs 37;" f -hammerCheck src/Dodge/Item/Weapon/TriggerType.hs 296;" f -hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 307;" f +hammerCheck src/Dodge/Item/Weapon/TriggerType.hs 273;" f +hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 284;" f handleEvent src/Dodge/Event.hs 27;" f handleHotkeys src/Dodge/Creature/YourControl.hs 42;" f handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f @@ -5722,7 +5712,7 @@ healthTest src/Dodge/Room/LasTurret.hs 93;" f heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 38;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldBounds src/Dodge/Item/Module.hs 27;" f -heldComposedItem src/Dodge/Item/Grammar.hs 37;" f +heldComposedItem src/Dodge/Item/Grammar.hs 38;" f heldEffect src/Dodge/HeldUse.hs 44;" f heldInfo src/Dodge/Item/Info.hs 61;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f @@ -5770,10 +5760,10 @@ incBallAt src/Dodge/EnergyBall.hs 54;" f incendiaryModule src/Dodge/Item/Craftable.hs 21;" f incidenceToFunction src/Dodge/Graph.hs 26;" f indefiniteExceptions src/StringHelp.hs 29;" f -initCrItemLocation src/Dodge/Item/Location/Initialize.hs 40;" f +initCrItemLocation src/Dodge/Item/Location/Initialize.hs 41;" f initCrItemLocations src/Dodge/Item/Location/Initialize.hs 35;" f initCrsItemLocations src/Dodge/Item/Location/Initialize.hs 15;" f -initFlItemLocation src/Dodge/Item/Location/Initialize.hs 49;" f +initFlItemLocation src/Dodge/Item/Location/Initialize.hs 56;" f initFlItemsLocations src/Dodge/Item/Location/Initialize.hs 20;" f initItemLocations src/Dodge/Item/Location/Initialize.hs 12;" f initOrNull src/ListHelp.hs 43;" f @@ -5781,7 +5771,7 @@ initSpecificCrItemLocations src/Dodge/Item/Location/Initialize.hs 30;" f initTexture2DArray src/Shader/AuxAddition.hs 31;" f initTexture2DArrayData src/Shader/AuxAddition.hs 46;" f initTexture2DArraySquare src/Shader/AuxAddition.hs 16;" f -initTuItemLocation src/Dodge/Item/Location/Initialize.hs 58;" f +initTuItemLocation src/Dodge/Item/Location/Initialize.hs 65;" f initTusItemLocations src/Dodge/Item/Location/Initialize.hs 25;" f initWallZoning src/Dodge/Wall/Zone.hs 12;" f initWorld src/Hetris/Base.hs 16;" f @@ -5836,20 +5826,20 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invAdj' src/Dodge/Item/Grammar.hs 118;" f +invAdj' src/Dodge/Item/Grammar.hs 119;" f invDimColor src/Dodge/DisplayInventory.hs 140;" f invDimColor src/Dodge/Inventory/Color.hs 4;" f invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f invHead src/Dodge/Render/HUD.hs 296;" f -invIndentIM src/Dodge/Item/Grammar.hs 128;" f -invLDT src/Dodge/Item/Grammar.hs 91;" f -invRootMap src/Dodge/Item/Grammar.hs 108;" f +invIndentIM src/Dodge/Item/Grammar.hs 129;" f +invLDT src/Dodge/Item/Grammar.hs 92;" f +invRootMap src/Dodge/Item/Grammar.hs 109;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 236;" f invSize src/Dodge/Inventory/CheckSlots.hs 40;" f -invTrees src/Dodge/Item/Grammar.hs 131;" f +invTrees src/Dodge/Item/Grammar.hs 132;" f inventoryExtra src/Dodge/Render/HUD.hs 189;" f inventoryExtraH src/Dodge/Render/HUD.hs 193;" f inventoryX src/Dodge/Creature.hs 115;" f @@ -5859,7 +5849,7 @@ invertIntMap src/Multiset.hs 61;" f invertInventoryToMap src/Dodge/Combine.hs 25;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 181;" f +isAmmoIntLink src/Dodge/HeldUse.hs 182;" f isAnimate src/Dodge/Creature/Test.hs 138;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isElectrical src/Dodge/Data/Damage.hs 42;" f @@ -5897,7 +5887,7 @@ itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 54;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 55;" f -itemDetectorEffect src/Dodge/HeldUse.hs 200;" f +itemDetectorEffect src/Dodge/HeldUse.hs 201;" f itemDisplay src/Dodge/Item/Display.hs 33;" f itemDisplayPad src/Dodge/Item/Display.hs 45;" f itemEffect src/Dodge/Creature/Action/UseItem.hs 28;" f @@ -5931,7 +5921,7 @@ jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f jShape src/Dodge/Placements/LightSource.hs 43;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f jetPack src/Dodge/Item/Equipment.hs 92;" f -joinItemsInList src/Dodge/Item/Grammar.hs 82;" f +joinItemsInList src/Dodge/Item/Grammar.hs 83;" f jps0' src/Dodge/LevelGen/Data.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0PushPS src/Dodge/LevelGen/Data.hs 63;" f @@ -5996,10 +5986,10 @@ ldtToIM src/Dodge/DoubleTree.hs 90;" f ldtToIndentList src/Dodge/DoubleTree.hs 93;" f left src/DoubleStack.hs 16;" f leftInfo src/Dodge/Item/Info.hs 109;" f -leftIsParentCombine src/Dodge/Item/Grammar.hs 57;" f +leftIsParentCombine src/Dodge/Item/Grammar.hs 58;" f leftItemSPic src/Dodge/Item/Draw/SPic.hs 72;" f leftPad src/Padding.hs 14;" f -leftRightCombine src/Dodge/Item/Grammar.hs 71;" f +leftRightCombine src/Dodge/Item/Grammar.hs 72;" f legsSPic src/Dodge/Item/Draw/SPic.hs 528;" f liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f liShape src/Dodge/Placements/LightSource.hs 55;" f @@ -6044,7 +6034,7 @@ loadEject src/Dodge/Reloading/Action.hs 12;" f loadInsert src/Dodge/Reloading/Action.hs 6;" f loadKeyConfig src/Dodge/Config/KeyConfig.hs 60;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f -loadMuzzle src/Dodge/HeldUse.hs 132;" f +loadMuzzle src/Dodge/HeldUse.hs 133;" f loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f loadPrime src/Dodge/Reloading/Action.hs 15;" f loadSaveSlot src/Dodge/Save.hs 74;" f @@ -6131,7 +6121,7 @@ makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f makeLaserAt src/Dodge/Item/Weapon/Laser.hs 42;" f makeLaserScope src/Dodge/Item/Weapon/Decoration.hs 12;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 144;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 145;" f makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f @@ -6273,7 +6263,7 @@ mntLight src/Dodge/Placement/Instance/LightSource.hs 154;" f mntLight src/Dodge/Placements/LightSource.hs 89;" f mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f mntLightLnkCond src/Dodge/Placements/LightSource.hs 94;" f -modClock src/Dodge/Item/Weapon/TriggerType.hs 366;" f +modClock src/Dodge/Item/Weapon/TriggerType.hs 343;" f modTo src/Geometry/Zone.hs 10;" f modifierKey src/Dodge/Config/KeyConfig.hs 34;" f moduleAttachPosition src/Dodge/Item/Module.hs 6;" f @@ -6491,7 +6481,7 @@ pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f picAtCrPos1 src/Dodge/Render/ShapePicture.hs 100;" f picFormat src/Polyhedra.hs 22;" f picMap src/Picture/Base.hs 67;" f -pickUpItem src/Dodge/Inventory/Add.hs 82;" f +pickUpItem src/Dodge/Inventory/Add.hs 89;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f pickUpSound src/Dodge/SoundLogic/Synonyms.hs 4;" f picsToSelectable src/Dodge/Render/HUD.hs 349;" f @@ -6566,9 +6556,9 @@ pointInPolygon src/Geometry/Polygon.hs 59;" f pointIsInCone src/Geometry.hs 378;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f pointTowardsImpulse src/Dodge/Path.hs 63;" f -pointerToItem src/Dodge/Item/Location.hs 45;" f +pointerToItem src/Dodge/Item/Location.hs 46;" f pointerToItemLocation src/Dodge/Item/Location.hs 24;" f -pointerYourRootItem src/Dodge/Item/Location.hs 40;" f +pointerYourRootItem src/Dodge/Item/Location.hs 41;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 35;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f poisonSPic src/Dodge/Creature/State.hs 124;" f @@ -6891,7 +6881,7 @@ rhombus src/Polyhedra.hs 71;" f rifle src/Dodge/Item/Held/Cane.hs 52;" f rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f right src/DoubleStack.hs 16;" f -rightIsParentCombine src/Dodge/Item/Grammar.hs 64;" f +rightIsParentCombine src/Dodge/Item/Grammar.hs 65;" f rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f @@ -7157,7 +7147,7 @@ shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootFlameSpitter src/Dodge/HeldUse/SprayWeapon.hs 9;" f shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f -shootL src/Dodge/Item/Weapon/TriggerType.hs 321;" f +shootL src/Dodge/Item/Weapon/TriggerType.hs 298;" f shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 77;" f shootLaser' src/Dodge/HeldUse.hs 242;" f shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f @@ -7172,7 +7162,7 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f shootTeslaArc src/Dodge/HeldUse.hs 469;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 220;" f +shootTractorBeam src/Dodge/HeldUse.hs 221;" f shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f shootersRoom src/Dodge/Room/Room.hs 317;" f shootersRoom' src/Dodge/Room/Room.hs 282;" f @@ -7194,10 +7184,10 @@ showIntKMG src/Dodge/Item/Info.hs 47;" f showIntKMG' src/Dodge/Item/Info.hs 54;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f showLoadedAmount src/Dodge/Item/Display.hs 147;" f -showManObj src/Dodge/TestString.hs 36;" f +showManObj src/Dodge/TestString.hs 38;" f showPhaseV src/Dodge/Tweak/Show.hs 16;" f showTerminalError src/Dodge/Debug/Terminal.hs 75;" f -showTimeFlow src/Dodge/TestString.hs 83;" f +showTimeFlow src/Dodge/TestString.hs 85;" f showTractionPower src/Dodge/Tweak/Show.hs 22;" f showTweak src/Dodge/Tweak/Show.hs 5;" f shrinkGun src/Dodge/Item/Weapon/Utility.hs 44;" f @@ -7521,15 +7511,14 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 320;" f topInvW src/Dodge/ListDisplayParams.hs 51;" f topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f -topTestPart src/Dodge/TestString.hs 31;" f +topTestPart src/Dodge/TestString.hs 33;" f torch src/Dodge/Item/Held/Utility.hs 26;" f torchShape src/Dodge/Item/Draw/SPic.hs 203;" f torqueCr src/Dodge/WorldEffect.hs 70;" f torso src/Dodge/Creature/Picture.hs 132;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 160;" f -tractorBeamAt' src/Dodge/HeldUse.hs 231;" f +tractorBeamAt src/Dodge/HeldUse.hs 231;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 80;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 485;" f tractorGunTweak src/Dodge/Item/Held/BatteryGuns.hs 98;" f @@ -7610,7 +7599,7 @@ tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryChargeBattery src/Dodge/Euse.hs 43;" f tryCombine src/Dodge/Update/Input/InGame.hs 252;" f tryGetChannel src/Sound.hs 96;" f -tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f +tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 21;" f tryGetRootItemInvID src/Dodge/Inventory/FindRoot.hs 10;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 31;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f @@ -7806,7 +7795,7 @@ useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 24;" f useEquipment src/Dodge/Creature/State.hs 222;" f -useForceFieldGun src/Dodge/HeldUse.hs 482;" f +useForceFieldGun src/Dodge/HeldUse.hs 483;" f useGasParams src/Dodge/HeldUse.hs 383;" f useHeld src/Dodge/HeldUse.hs 306;" f useHotKey src/Dodge/Creature/YourControl.hs 49;" f @@ -7817,7 +7806,7 @@ useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 113;" f useL src/Dodge/Luse.hs 13;" f useLeftItem src/Dodge/Creature/Action/UseItem.hs 38;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 185;" f +useLoadedAmmo src/Dodge/HeldUse.hs 186;" f useMagShield src/Dodge/Euse.hs 69;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f @@ -7828,7 +7817,7 @@ useRootItem src/Dodge/Creature/Impulse/UseItem.hs 26;" f useShrinkGun src/Dodge/Luse.hs 59;" f useStopWatch src/Dodge/Luse.hs 24;" f useTargetPos src/Dodge/Item/Weapon/Targeting.hs 9;" f -useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 271;" f +useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 246;" f useTimeScrollGun src/Dodge/Luse.hs 32;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUpdate src/Dodge/Creature/State.hs 214;" f @@ -7866,7 +7855,7 @@ volleyGun src/Dodge/Item/Held/Cane.hs 32;" f volleyGun src/Dodge/Item/Weapon/BulletGun/Cane.hs 43;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 373;" f waistSP src/Dodge/Creature/HandPos.hs 199;" f -walkNozzle src/Dodge/HeldUse.hs 205;" f +walkNozzle src/Dodge/HeldUse.hs 206;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/Item/Weapon/UseEffect.hs 43;" f wallBlips src/Dodge/RadarSweep.hs 80;" f @@ -7925,25 +7914,24 @@ windowxsize src/LoadConfig.hs 12;" f windowysize src/LoadConfig.hs 13;" f withAlpha src/Color.hs 10;" f withByteString src/Shader/Compile.hs 370;" f -withCrPos src/Dodge/Item/Weapon/TriggerType.hs 404;" f -withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 407;" f -withFlare src/Dodge/Item/Weapon/TriggerType.hs 371;" f -withItem src/Dodge/Item/Weapon/TriggerType.hs 344;" f -withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 383;" f -withOldDir src/Dodge/Item/Weapon/TriggerType.hs 412;" f -withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 435;" f -withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 419;" f -withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 426;" f +withCrPos src/Dodge/Item/Weapon/TriggerType.hs 381;" f +withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 384;" f +withFlare src/Dodge/Item/Weapon/TriggerType.hs 348;" f +withItem src/Dodge/Item/Weapon/TriggerType.hs 321;" f +withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 360;" f +withOldDir src/Dodge/Item/Weapon/TriggerType.hs 389;" f +withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 412;" f +withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 396;" f +withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 403;" f withSmoke src/Dodge/Item/Weapon/TriggerType.hs 89;" f -withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 230;" f -withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 243;" f -withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 256;" f -withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 201;" f -withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 217;" f -withTempLight src/Dodge/Item/Weapon/TriggerType.hs 358;" f +withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 205;" f +withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 218;" f +withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 231;" f +withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 176;" f +withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 192;" f +withTempLight src/Dodge/Item/Weapon/TriggerType.hs 335;" f withThickSmokeI src/Dodge/Item/Weapon/TriggerType.hs 107;" f withThinSmokeI src/Dodge/Item/Weapon/TriggerType.hs 98;" f -withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 179;" f wlDustAt src/Dodge/Wall/Dust.hs 10;" f wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f