diff --git a/src/Dodge/Creature.hs b/src/Dodge/Creature.hs index 9f336dba7..b6d3b1718 100644 --- a/src/Dodge/Creature.hs +++ b/src/Dodge/Creature.hs @@ -247,6 +247,7 @@ inventoryX c = case c of , megaShellMag , homingModule , remoteScreen + , remoteDetonator , launcherX 3 , megaShellMag , homingModule diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index bed78e566..d5084d444 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -49,7 +49,7 @@ useSelectedItem crid w = (worldEventFlags . at InventoryChange ?~ ()) . fromMayb useLocation :: LocationLDT ItemLink ComposedItem -> UseFocus useLocation loc | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uequipEffect = UseFromLocation - | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apLinkedProjectile + | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apLinkedProjectile . _Just = UseFromLocation | otherwise = UseFromRoot diff --git a/src/Dodge/Data/ComposedItem.hs b/src/Dodge/Data/ComposedItem.hs index 5bf9745b3..7d37a5640 100644 --- a/src/Dodge/Data/ComposedItem.hs +++ b/src/Dodge/Data/ComposedItem.hs @@ -22,6 +22,7 @@ data ComposeLinkType | WeaponScopeLink | WeaponTargetingLink | RemoteScreenLink + | RemoteDetonatorLink | AugmentedHUDLink | FunctionChangeLink | MakeAutoLink @@ -37,6 +38,7 @@ data ItemStructuralFunction | AugmentedHUDSF | AmmoMagSF AmmoType | RemoteScreenSF + | RemoteDetonatorSF | UncomposableIsolateSF | AmmoModifierSF AmmoType | AmmoTargetingSF AmmoType diff --git a/src/Dodge/Data/Item/Combine.hs b/src/Dodge/Data/Item/Combine.hs index 81311a866..fbbeb5697 100644 --- a/src/Dodge/Data/Item/Combine.hs +++ b/src/Dodge/Data/Item/Combine.hs @@ -70,6 +70,7 @@ data AttachType = ZOOMSCOPE | BULLETSYNTH | REMOTESCREEN + | REMOTEDETONATOR | HOMINGMODULE | AUGMENTEDHUD | SHELLPAYLOAD {_shellPayload :: Payload} diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index ee17e7c2e..f5bb634af 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -16,7 +16,6 @@ module Dodge.Data.Item.Use ( module Dodge.Data.Item.BulletMod ) where -import Dodge.Data.Item.Effect import Dodge.Data.Item.BulletMod import Dodge.Data.Item.Scope import Control.Lens @@ -71,8 +70,6 @@ data TriggerType = AutoTrigger | HammerTrigger data AttachParams = APLinkProjectile {_apLinkedProjectile :: Maybe Int} - | APItEffect - {_apItEffect :: ItEffect } | APInt {_apInt :: Int} | APNothing deriving (Eq, Show, Read) diff --git a/src/Dodge/Item.hs b/src/Dodge/Item.hs index df2418f27..ab28fe102 100644 --- a/src/Dodge/Item.hs +++ b/src/Dodge/Item.hs @@ -39,6 +39,7 @@ itemFromAttachType at = case at of ZOOMSCOPE -> zoomScope BULLETSYNTH -> bulletSynthesizer REMOTESCREEN -> remoteScreen + REMOTEDETONATOR -> remoteDetonator -- ROCKETHOMER -> rocketHomer HOMINGMODULE -> homingModule AUGMENTEDHUD -> augmentedHUD diff --git a/src/Dodge/Item/Display.hs b/src/Dodge/Item/Display.hs index 026e13351..d8a364513 100644 --- a/src/Dodge/Item/Display.hs +++ b/src/Dodge/Item/Display.hs @@ -71,6 +71,12 @@ showAttachItem t itm = case t of mempty show (itm ^? itUse . uaParams . apLinkedProjectile . _Just) + REMOTEDETONATOR -> + "REM.DETONATOR" + ++ maybe + mempty + show + (itm ^? itUse . uaParams . apLinkedProjectile . _Just) HOMINGMODULE -> "HOMING MOD" AUGMENTEDHUD -> "AUGMENTED HUD" SHELLPAYLOAD x -> show x diff --git a/src/Dodge/Item/Grammar.hs b/src/Dodge/Item/Grammar.hs index 91de20b37..ea264be7d 100644 --- a/src/Dodge/Item/Grammar.hs +++ b/src/Dodge/Item/Grammar.hs @@ -64,14 +64,18 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of ) (_, AmmoMagSF{}) -> fromMaybe ([], []) $ do atype <- itm ^? itConsumables . magType + let screenanddet = case atype of + LauncherAmmo -> [ (RemoteScreenSF, RemoteScreenLink) + , (RemoteDetonatorSF, RemoteDetonatorLink) + ] + _ -> [] return ( [ (AmmoModifierSF atype, AmmoModLink) , (AmmoTargetingSF atype, AmmoTargetingLink) , (AmmoPayloadSF atype, AmmoPayloadLink) , (AmmoEffectSF atype, AmmoEffectLink) - , (RemoteScreenSF, RemoteScreenLink) - ] + ] <> screenanddet , [] ) (_, WeaponTargetingSF) -> (getAmmoLinks itm ++ [(AugmentedHUDSF, AugmentedHUDLink)], []) @@ -102,6 +106,7 @@ itemToFunction itm = case itm ^. itType of AmmoMagSF amtype AMMOMAG{} -> maybe UncomposableIsolateSF AmmoMagSF $ itm ^? itConsumables . magType ATTACH REMOTESCREEN -> RemoteScreenSF + ATTACH REMOTEDETONATOR -> RemoteDetonatorSF ATTACH BULLETSYNTH -> AmmoModifierSF BulletAmmo ATTACH ZOOMSCOPE -> WeaponScopeSF ATTACH HOMINGMODULE -> AmmoTargetingSF LauncherAmmo diff --git a/src/Dodge/Item/InventoryColor.hs b/src/Dodge/Item/InventoryColor.hs index 333b0a71a..b70d2f4ce 100644 --- a/src/Dodge/Item/InventoryColor.hs +++ b/src/Dodge/Item/InventoryColor.hs @@ -18,6 +18,7 @@ itemInvColor ci = case ci ^. _2 of AugmentedHUDSF -> rose AmmoMagSF{} -> red RemoteScreenSF -> azure + RemoteDetonatorSF -> azure UncomposableIsolateSF -> greyN 0.5 AmmoModifierSF{} -> orange AmmoTargetingSF{} -> green diff --git a/src/Dodge/Item/Scope.hs b/src/Dodge/Item/Scope.hs index b5ec45356..57a0d79be 100644 --- a/src/Dodge/Item/Scope.hs +++ b/src/Dodge/Item/Scope.hs @@ -3,6 +3,7 @@ module Dodge.Item.Scope ( zoomScope, targetingScope, remoteScreen, + remoteDetonator, homingModule, -- bulletTargetingModule, augmentedHUD, @@ -56,3 +57,7 @@ augmentedHUD = makeAttach AUGMENTEDHUD remoteScreen :: Item remoteScreen = makeAttach REMOTESCREEN & itUse . uaParams .~ APLinkProjectile Nothing + +remoteDetonator :: Item +remoteDetonator = makeAttach REMOTEDETONATOR + & itUse . uaParams .~ APLinkProjectile Nothing diff --git a/tags b/tags index 2987f3187..06629861d 100644 --- a/tags +++ b/tags @@ -24,10 +24,9 @@ ALTERIFLE src/Dodge/Data/Item/Combine.hs 132;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C AMR src/Dodge/Data/Item/Combine.hs 137;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 46;" 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 +APInt src/Dodge/Data/Item/Use.hs 73;" C +APLinkProjectile src/Dodge/Data/Item/Use.hs 71;" C +APNothing src/Dodge/Data/Item/Use.hs 74;" C AQUAMARINE src/Color/Data.hs 24;" C ATTACH src/Dodge/Data/Item/Combine.hs 21;" C AUGMENTEDHUD src/Dodge/Data/Item/Combine.hs 74;" C @@ -45,9 +44,9 @@ Add src/Dodge/Inventory/Add.hs 1;" m AddGoal src/Dodge/Data/ActionPlan.hs 45;" C AesonHelp src/AesonHelp.hs 1;" m AimAt src/Dodge/Data/ActionPlan.hs 84;" C -AimParams src/Dodge/Data/Item/Use.hs 120;" t +AimParams src/Dodge/Data/Item/Use.hs 117;" t AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m -AimStance src/Dodge/Data/Item/Use.hs 188;" t +AimStance src/Dodge/Data/Item/Use.hs 185;" t Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C Airlock src/Dodge/Room/Airlock.hs 4;" m @@ -64,10 +63,10 @@ AmmoMagSF src/Dodge/Data/ComposedItem.hs 38;" C AmmoMagType src/Dodge/Data/Item/Combine.hs 78;" t AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 41;" C -AmmoParams src/Dodge/Data/Item/Use.hs 113;" t +AmmoParams src/Dodge/Data/Item/Use.hs 110;" t AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 20;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 43;" C -AmmoPerShot src/Dodge/Data/Item/Use.hs 162;" t +AmmoPerShot src/Dodge/Data/Item/Use.hs 159;" t AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 42;" C AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t @@ -95,7 +94,7 @@ AsteroidStrike src/Dodge/Data/Scenario.hs 33;" C AtEase src/Dodge/Data/Creature/Stance.hs 40;" C AtomicWaste src/Dodge/Data/Scenario.hs 26;" C Attach src/Dodge/Item/Attach.hs 1;" m -AttachParams src/Dodge/Data/Item/Use.hs 71;" t +AttachParams src/Dodge/Data/Item/Use.hs 70;" t AttachType src/Dodge/Data/Item/Combine.hs 69;" t Attention src/Dodge/Data/Creature/Perception.hs 60;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C @@ -106,7 +105,7 @@ AutoAI src/Dodge/Data/Creature/Misc.hs 56;" C AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 27;" C -AutoTrigger src/Dodge/Data/Item/Use.hs 68;" C +AutoTrigger src/Dodge/Data/Item/Use.hs 67;" C AuxAddition src/Shader/AuxAddition.hs 1;" m Avatar src/Dodge/Data/Creature/Misc.hs 70;" C Awareness src/Dodge/Data/Creature/Perception.hs 65;" t @@ -146,7 +145,7 @@ Base src/Picture/Base.hs 4;" m BasicBeamDraw src/Dodge/Data/Beam.hs 34;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 50;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 57;" C -BasicFlare src/Dodge/Data/Item/Use.hs 133;" C +BasicFlare src/Dodge/Data/Item/Use.hs 130;" C BatteryGuns src/Dodge/Item/Held/BatteryGuns.hs 1;" m BatteryGuns src/Dodge/Item/Weapon/BatteryGuns.hs 1;" m Beam src/Dodge/Data/Beam.hs 18;" t @@ -156,7 +155,7 @@ BeamCombine src/Dodge/Data/Beam.hs 47;" C BeamCombineType src/Dodge/Data/Beam.hs 38;" t BeamDraw src/Dodge/Data/Beam.hs 33;" t BeamDrawColor src/Dodge/Data/Beam.hs 35;" C -BeamShooterParams src/Dodge/Data/Item/Use.hs 94;" C +BeamShooterParams src/Dodge/Data/Item/Use.hs 91;" 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 @@ -227,9 +226,9 @@ BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t BulletMod src/Dodge/Data/Item/BulletMod.hs 3;" m BulletModEffect src/Dodge/Data/Item/BulletMod.hs 13;" C BulletModPayload src/Dodge/Data/Item/BulletMod.hs 12;" C -BulletParams src/Dodge/Data/Item/Use.hs 114;" C +BulletParams src/Dodge/Data/Item/Use.hs 111;" C BulletPayload src/Dodge/Data/Bullet.hs 41;" t -BulletShooterParams src/Dodge/Data/Item/Use.hs 98;" C +BulletShooterParams src/Dodge/Data/Item/Use.hs 95;" 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 @@ -493,7 +492,7 @@ DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 50;" C -DefaultHeldParams src/Dodge/Data/Item/Use.hs 81;" C +DefaultHeldParams src/Dodge/Data/Item/Use.hs 78;" 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 @@ -689,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 131;" t +FlareType src/Dodge/Data/Item/Use.hs 128;" t FlashBall src/Dodge/Data/Bullet.hs 32;" C FlatFaces src/Shape/Data.hs 17;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 19;" C @@ -752,8 +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 116;" C -GasSprayParams src/Dodge/Data/Item/Use.hs 82;" C +GasParams src/Dodge/Data/Item/Use.hs 113;" C +GasSprayParams src/Dodge/Data/Item/Use.hs 79;" 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 @@ -810,23 +809,23 @@ Hammer src/Dodge/Hammer.hs 1;" m HammerDown src/Dodge/Data/Hammer.hs 18;" C HammerPosition src/Dodge/Data/Hammer.hs 17;" t HammerReleased src/Dodge/Data/Hammer.hs 19;" C -HammerTrigger src/Dodge/Data/Item/Use.hs 68;" C +HammerTrigger src/Dodge/Data/Item/Use.hs 67;" C HammerType src/Dodge/Data/Hammer.hs 12;" t HammerUp src/Dodge/Data/Hammer.hs 20;" C HandPos src/Dodge/Creature/HandPos.hs 1;" m HardQuit src/Dodge/Data/Universe.hs 68;" C HasHammer src/Dodge/Data/Hammer.hs 14;" C -HeavySmokeFlare src/Dodge/Data/Item/Use.hs 136;" C +HeavySmokeFlare src/Dodge/Data/Item/Use.hs 133;" 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 117;" t HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m -HeldParams src/Dodge/Data/Item/Use.hs 80;" t +HeldParams src/Dodge/Data/Item/Use.hs 77;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 31;" C HeldScroll src/Dodge/HeldScroll.hs 1;" m HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m HeldUse src/Dodge/HeldUse.hs 4;" m -HeldUseEffect src/Dodge/Data/Item/Use.hs 52;" t +HeldUseEffect src/Dodge/Data/Item/Use.hs 51;" t HelpNum src/HelpNum.hs 1;" m HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HomeUsingRemoteScreen src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" C @@ -926,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 195;" t +ItZoom src/Dodge/Data/Item/Use.hs 192;" t Item src/Dodge/Data/Item.hs 41;" t Item src/Dodge/Data/Item.hs 4;" m Item src/Dodge/Default/Item.hs 1;" m @@ -941,7 +940,7 @@ ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 30;" t ItemTargeting src/Dodge/Data/Item.hs 55;" t ItemType src/Dodge/Data/Item/Combine.hs 16;" t -ItemUse src/Dodge/Data/Item/Use.hs 35;" t +ItemUse src/Dodge/Data/Item/Use.hs 34;" t ItmCrWdWd src/Dodge/Data/Item/Use/Equipment.hs 28;" t ItmCrWdWdDoNothing src/Dodge/Data/Item/Use/Equipment.hs 29;" C ItmInt src/Dodge/Data/Item/Location.hs 25;" t @@ -987,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 137;" C +LasGunFlare src/Dodge/Data/Item/Use.hs 134;" 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 @@ -1157,7 +1156,7 @@ Metapysics src/Dodge/Data/Scenario.hs 17;" t Military src/Dodge/Data/Scenario.hs 45;" C Mine src/Dodge/Data/Scenario.hs 64;" C MiniGunAI src/Dodge/Data/Creature/Misc.hs 58;" C -MiniGunFlare src/Dodge/Data/Item/Use.hs 135;" C +MiniGunFlare src/Dodge/Data/Item/Use.hs 132;" 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 @@ -1189,24 +1188,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 64;" C +MustBeHeld src/Dodge/Data/Item/Use.hs 63;" C Mute src/Dodge/Data/Creature/Misc.hs 28;" C -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 +Muzzle src/Dodge/Data/Item/Use.hs 164;" t +MuzzleBlink src/Dodge/Data/Item/Use.hs 152;" C +MuzzleDetector src/Dodge/Data/Item/Use.hs 151;" C +MuzzleEffect src/Dodge/Data/Item/Use.hs 138;" t MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 5;" m -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 +MuzzleLaser src/Dodge/Data/Item/Use.hs 140;" C +MuzzleLauncher src/Dodge/Data/Item/Use.hs 143;" C +MuzzleNozzle src/Dodge/Data/Item/Use.hs 144;" C +MuzzleRewind src/Dodge/Data/Item/Use.hs 154;" C +MuzzleScroller src/Dodge/Data/Item/Use.hs 156;" C +MuzzleShatter src/Dodge/Data/Item/Use.hs 150;" C +MuzzleShootBullet src/Dodge/Data/Item/Use.hs 139;" C +MuzzleStopper src/Dodge/Data/Item/Use.hs 155;" C +MuzzleTesla src/Dodge/Data/Item/Use.hs 141;" C +MuzzleTractor src/Dodge/Data/Item/Use.hs 142;" C +MuzzleUnsafeBlink src/Dodge/Data/Item/Use.hs 153;" C MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C MvWalking src/Dodge/Data/Creature/Misc.hs 39;" C @@ -1229,7 +1228,7 @@ NewSideEffect src/Dodge/Data/Universe.hs 63;" C NextArcStep src/Dodge/Data/ArcStep.hs 21;" t Ngon src/Dodge/Room/Ngon.hs 1;" m NoAction src/Dodge/Data/ActionPlan.hs 152;" C -NoAmmoParams src/Dodge/Data/Item/Use.hs 117;" C +NoAmmoParams src/Dodge/Data/Item/Use.hs 114;" C NoArguments src/Dodge/Data/Terminal.hs 95;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -1244,14 +1243,14 @@ NoDropEffect src/Dodge/Data/Item/Effect.hs 28;" C NoEquipParams src/Dodge/Data/Item/Use/Equipment.hs 36;" C NoEscapeMenuOption src/Dodge/Data/Universe.hs 77;" C NoFaction src/Dodge/Data/Creature/State.hs 40;" C -NoFlare src/Dodge/Data/Item/Use.hs 132;" C +NoFlare src/Dodge/Data/Item/Use.hs 129;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C -NoHeldUseEffect src/Dodge/Data/Item/Use.hs 53;" C +NoHeldUseEffect src/Dodge/Data/Item/Use.hs 52;" 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 +NoLightFlare src/Dodge/Data/Item/Use.hs 131;" C NoLighting src/Dodge/Data/Config.hs 104;" C NoMouseContext src/Dodge/Data/Input.hs 20;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C @@ -1331,7 +1330,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 192;" C +OneHand src/Dodge/Data/Item/Use.hs 189;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardList src/Dodge/Annotation/Data.hs 16;" C Opacity src/Dodge/Data/Wall.hs 38;" t @@ -1471,7 +1470,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 115;" C +ProjectileParams src/Dodge/Data/Item/Use.hs 112;" 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 @@ -1565,7 +1564,7 @@ RandomHelp src/RandomHelp.hs 3;" m RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C RandomPlacement src/Dodge/Data/GenWorld.hs 84;" C RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C -RandomiseMuzzleFrames src/Dodge/Data/Item/Use.hs 54;" C +RandomiseMuzzleFrames src/Dodge/Data/Item/Use.hs 53;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m RecRoomSS src/Dodge/Data/Scenario.hs 103;" C @@ -1828,7 +1827,7 @@ SwarmAI src/Dodge/Data/Creature/Misc.hs 55;" C SwarmCrit src/Dodge/Creature/SwarmCrit.hs 1;" m SwarmPlacement src/Dodge/LevelGen/SwarmPlacement.hs 1;" m Switch src/Dodge/LevelGen/Switch.hs 1;" m -SwitchAlteRifle src/Dodge/Data/Item/Use.hs 55;" C +SwitchAlteRifle src/Dodge/Data/Item/Use.hs 54;" C SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C TAPE src/Dodge/Data/Item/Combine.hs 33;" C TARGETING src/Dodge/Data/Item/Combine.hs 23;" C @@ -1908,7 +1907,7 @@ TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t TeslaArc src/Dodge/Data/TeslaArc.hs 6;" m TeslaBall src/Dodge/Data/Bullet.hs 31;" C TeslaBeamCombine src/Dodge/Data/Beam.hs 41;" C -TeslaGunFlare src/Dodge/Data/Item/Use.hs 138;" C +TeslaGunFlare src/Dodge/Data/Item/Use.hs 135;" C Test src/Dodge/Creature/Test.hs 8;" m Test src/Dodge/Event/Test.hs 1;" m Test src/Picture/Test.hs 1;" m @@ -1966,7 +1965,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 36;" C -TriggerType src/Dodge/Data/Item/Use.hs 68;" t +TriggerType src/Dodge/Data/Item/Use.hs 67;" 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 @@ -1979,9 +1978,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 191;" C -TwoHandOver src/Dodge/Data/Item/Use.hs 190;" C -TwoHandUnder src/Dodge/Data/Item/Use.hs 189;" C +TwoHandFlat src/Dodge/Data/Item/Use.hs 188;" C +TwoHandOver src/Dodge/Data/Item/Use.hs 187;" C +TwoHandUnder src/Dodge/Data/Item/Use.hs 186;" C Type src/Dodge/Data/Damage/Type.hs 6;" m Type src/Dodge/Terminal/Type.hs 1;" m Typical src/Shape/Data.hs 36;" C @@ -2012,26 +2011,26 @@ Update src/Preload/Update.hs 3;" m Use src/Dodge/Data/Item/Use.hs 6;" m Use src/Dodge/Default/Item/Use.hs 1;" m UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C -UseAttach src/Dodge/Data/Item/Use.hs 46;" C -UseBulletMod src/Dodge/Data/Item/Use.hs 49;" C -UseCondition src/Dodge/Data/Item/Use.hs 63;" t +UseAttach src/Dodge/Data/Item/Use.hs 45;" C +UseBulletMod src/Dodge/Data/Item/Use.hs 48;" C +UseCondition src/Dodge/Data/Item/Use.hs 62;" 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 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 +UseEquip src/Dodge/Data/Item/Use.hs 44;" C +UseExactly src/Dodge/Data/Item/Use.hs 160;" 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 +UseHeld src/Dodge/Data/Item/Use.hs 35;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m UseItemWidth src/Dodge/Data/SelectionList.hs 41;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C -UseNothing src/Dodge/Data/Item/Use.hs 47;" C -UseScope src/Dodge/Data/Item/Use.hs 48;" C +UseNothing src/Dodge/Data/Item/Use.hs 46;" C +UseScope src/Dodge/Data/Item/Use.hs 47;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseTarget src/Dodge/Data/ActionPlan.hs 154;" C -UseUpTo src/Dodge/Data/Item/Use.hs 164;" C -UseableAnytime src/Dodge/Data/Item/Use.hs 65;" C +UseUpTo src/Dodge/Data/Item/Use.hs 161;" C +UseableAnytime src/Dodge/Data/Item/Use.hs 64;" 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 @@ -2152,13 +2151,13 @@ Zoning src/Dodge/Zoning.hs 1;" m __Just' src/MaybeHelp.hs 13;" f _actAction src/Dodge/Data/ActionPlan.hs 81;" f _actLabel src/Dodge/Data/ActionPlan.hs 80;" f -_aimHandlePos src/Dodge/Data/Item/Use.hs 126;" f -_aimMuzzles src/Dodge/Data/Item/Use.hs 127;" f -_aimRange src/Dodge/Data/Item/Use.hs 123;" f -_aimStance src/Dodge/Data/Item/Use.hs 125;" f -_aimTurnSpeed src/Dodge/Data/Item/Use.hs 122;" f -_aimWeight src/Dodge/Data/Item/Use.hs 121;" f -_aimZoom src/Dodge/Data/Item/Use.hs 124;" f +_aimHandlePos src/Dodge/Data/Item/Use.hs 123;" f +_aimMuzzles src/Dodge/Data/Item/Use.hs 124;" f +_aimRange src/Dodge/Data/Item/Use.hs 120;" f +_aimStance src/Dodge/Data/Item/Use.hs 122;" f +_aimTurnSpeed src/Dodge/Data/Item/Use.hs 119;" f +_aimWeight src/Dodge/Data/Item/Use.hs 118;" f +_aimZoom src/Dodge/Data/Item/Use.hs 121;" 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 @@ -2170,15 +2169,14 @@ _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 34;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 30;" f _alphaDivideShader src/Data/Preload/Render.hs 18;" f _ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f -_ampBullet src/Dodge/Data/Item/Use.hs 114;" f -_ampCreateGas src/Dodge/Data/Item/Use.hs 116;" f -_ampPayload src/Dodge/Data/Item/Use.hs 115;" f +_ampBullet src/Dodge/Data/Item/Use.hs 111;" f +_ampCreateGas src/Dodge/Data/Item/Use.hs 113;" f +_ampPayload src/Dodge/Data/Item/Use.hs 112;" f _apAction src/Dodge/Data/ActionPlan.hs 20;" f _apGoal src/Dodge/Data/ActionPlan.hs 22;" f _apImpulse src/Dodge/Data/ActionPlan.hs 19;" f -_apInt src/Dodge/Data/Item/Use.hs 76;" f -_apItEffect src/Dodge/Data/Item/Use.hs 75;" f -_apLinkedProjectile src/Dodge/Data/Item/Use.hs 73;" f +_apInt src/Dodge/Data/Item/Use.hs 73;" f +_apLinkedProjectile src/Dodge/Data/Item/Use.hs 72;" 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 @@ -2252,9 +2250,9 @@ _buPayload src/Dodge/Data/Bullet.hs 19;" f _buPos src/Dodge/Data/Bullet.hs 23;" f _buVel src/Dodge/Data/Bullet.hs 21;" f _buWidth src/Dodge/Data/Bullet.hs 25;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 88;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 95;" f -_bulGunSound src/Dodge/Data/Item/Use.hs 105;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 85;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 92;" f +_bulGunSound src/Dodge/Data/Item/Use.hs 102;" f _bullets src/Dodge/Data/LWorld.hs 106;" f _buttons src/Dodge/Data/LWorld.hs 135;" f _cClock src/Dodge/Data/CWorld.hs 28;" f @@ -2518,7 +2516,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 83;" f +_gasCreation src/Dodge/Data/Item/Use.hs 80;" 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 @@ -2552,14 +2550,14 @@ _guVel src/Dodge/Data/Gust.hs 16;" f _gusts src/Dodge/Data/LWorld.hs 102;" f _gwWorld src/Dodge/Data/GenWorld.hs 24;" f _hammerPosition src/Dodge/Data/Hammer.hs 14;" f -_heldAim src/Dodge/Data/Item/Use.hs 39;" f -_heldDelay src/Dodge/Data/Item/Use.hs 37;" f -_heldFrame src/Dodge/Data/Item/Use.hs 42;" f -_heldHammer src/Dodge/Data/Item/Use.hs 38;" f -_heldParams src/Dodge/Data/Item/Use.hs 40;" f +_heldAim src/Dodge/Data/Item/Use.hs 38;" f +_heldDelay src/Dodge/Data/Item/Use.hs 36;" f +_heldFrame src/Dodge/Data/Item/Use.hs 41;" f +_heldHammer src/Dodge/Data/Item/Use.hs 37;" f +_heldParams src/Dodge/Data/Item/Use.hs 39;" f _heldPos src/Dodge/Data/Input.hs 51;" f -_heldTriggerType src/Dodge/Data/Item/Use.hs 41;" f -_heldUseEffect src/Dodge/Data/Item/Use.hs 43;" f +_heldTriggerType src/Dodge/Data/Item/Use.hs 40;" f +_heldUseEffect src/Dodge/Data/Item/Use.hs 42;" f _heldWorldPos src/Dodge/Data/Input.hs 53;" f _hotkeys src/Dodge/Data/LWorld.hs 146;" f _hud src/Dodge/Data/World.hs 47;" f @@ -2617,11 +2615,10 @@ _itTgPos src/Dodge/Data/Item.hs 57;" f _itType src/Dodge/Data/Item.hs 46;" f _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 198;" f -_izMax src/Dodge/Data/Item/Use.hs 196;" f -_izMin src/Dodge/Data/Item/Use.hs 197;" f +_izFac src/Dodge/Data/Item/Use.hs 195;" f +_izMax src/Dodge/Data/Item/Use.hs 193;" f +_izMin src/Dodge/Data/Item/Use.hs 194;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 143;" f _lTestInt src/Dodge/Data/LWorld.hs 145;" f @@ -2747,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 99;" f +_muzVel src/Dodge/Data/Item/Use.hs 96;" f _mvAimSpeed src/Dodge/Data/Creature/Misc.hs 44;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 39;" f _mvToPoint src/Dodge/Data/Creature.hs 81;" f _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 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 +_mzAmmoPerShot src/Dodge/Data/Item/Use.hs 171;" f +_mzAmmoSlot src/Dodge/Data/Item/Use.hs 168;" f +_mzEffect src/Dodge/Data/Item/Use.hs 170;" f +_mzFlareType src/Dodge/Data/Item/Use.hs 169;" f +_mzFrame src/Dodge/Data/Item/Use.hs 172;" f +_mzInaccuracy src/Dodge/Data/Item/Use.hs 167;" f +_mzPos src/Dodge/Data/Item/Use.hs 165;" f +_mzRot src/Dodge/Data/Item/Use.hs 166;" f _newArcStep src/Dodge/Data/Item/Params.hs 25;" f _nodeMetaTree src/Dodge/Data/MetaTree.hs 14;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f @@ -2770,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 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 +_nzCurrentWalkAngle src/Dodge/Data/Item/Use.hs 147;" f +_nzMaxWalkAngle src/Dodge/Data/Item/Use.hs 146;" f +_nzPressure src/Dodge/Data/Item/Use.hs 145;" f +_nzWalkSpeed src/Dodge/Data/Item/Use.hs 148;" f _offPathFromEdges src/Dodge/Data/Room.hs 74;" f _oldMagnets src/Dodge/Data/LWorld.hs 125;" f _onPathFromEdges src/Dodge/Data/Room.hs 73;" f @@ -2903,8 +2900,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 86;" f -_randomOffset src/Dodge/Data/Item/Use.hs 103;" f +_randomOffset src/Dodge/Data/Item/Use.hs 83;" f +_randomOffset src/Dodge/Data/Item/Use.hs 100;" 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 @@ -2914,13 +2911,13 @@ _rbPos src/Dodge/Data/RadarBlip.hs 19;" f _rbRad src/Dodge/Data/RadarBlip.hs 18;" f _rbTime src/Dodge/Data/RadarBlip.hs 16;" f _rboBaseBloom src/Data/Preload/Render.hs 38;" f -_recoil src/Dodge/Data/Item/Use.hs 84;" f -_recoil src/Dodge/Data/Item/Use.hs 101;" f +_recoil src/Dodge/Data/Item/Use.hs 81;" f +_recoil src/Dodge/Data/Item/Use.hs 98;" f _renderData src/Data/Preload.hs 11;" f _reverseAmount src/Dodge/Data/World.hs 64;" f _reverseAmount src/Dodge/Data/World.hs 70;" f _reverseAmount src/Dodge/Data/World.hs 74;" f -_rifling src/Dodge/Data/Item/Use.hs 100;" f +_rifling src/Dodge/Data/Item/Use.hs 97;" 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 @@ -3027,8 +3024,8 @@ _siWidth src/Dodge/Data/SelectionList.hs 47;" f _siWidth src/Dodge/Data/SelectionList.hs 56;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f -_sidePush src/Dodge/Data/Item/Use.hs 87;" f -_sidePush src/Dodge/Data/Item/Use.hs 104;" f +_sidePush src/Dodge/Data/Item/Use.hs 84;" f +_sidePush src/Dodge/Data/Item/Use.hs 101;" 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 @@ -3137,8 +3134,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 85;" f -_torqueAfter src/Dodge/Data/Item/Use.hs 102;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 82;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 99;" f _tractorBeams src/Dodge/Data/LWorld.hs 119;" f _trieChildren src/SimpleTrie.hs 11;" f _trieMVal src/SimpleTrie.hs 10;" f @@ -3152,10 +3149,10 @@ _tuFireTime src/Dodge/Data/Machine.hs 60;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f _tuWeapon src/Dodge/Data/Machine.hs 58;" f _turnToPoint src/Dodge/Data/ActionPlan.hs 92;" f -_uScope src/Dodge/Data/Item/Use.hs 48;" f -_uaParams src/Dodge/Data/Item/Use.hs 46;" f -_ubMod src/Dodge/Data/Item/Use.hs 49;" f -_uequipEffect src/Dodge/Data/Item/Use.hs 45;" f +_uScope src/Dodge/Data/Item/Use.hs 47;" f +_uaParams src/Dodge/Data/Item/Use.hs 45;" f +_ubMod src/Dodge/Data/Item/Use.hs 48;" f +_uequipEffect src/Dodge/Data/Item/Use.hs 44;" f _unCombEdge src/Dodge/Combine/Graph.hs 31;" f _unCombNode src/Dodge/Combine/Graph.hs 24;" f _unFBO src/Shader/Data.hs 57;" f @@ -3169,11 +3166,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 163;" f +_useExactly src/Dodge/Data/Item/Use.hs 160;" f _useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f _useSelf src/Dodge/Data/ActionPlan.hs 158;" f _useTarget src/Dodge/Data/ActionPlan.hs 155;" f -_useUpTo src/Dodge/Data/Item/Use.hs 164;" f +_useUpTo src/Dodge/Data/Item/Use.hs 161;" f _uvCanContinue src/Dodge/Data/Universe.hs 38;" f _uvConfig src/Dodge/Data/Universe.hs 36;" f _uvDebug src/Dodge/Data/Universe.hs 43;" f @@ -3225,10 +3222,10 @@ _walls src/Dodge/Data/LWorld.hs 120;" f _warmMax src/Dodge/Data/Item/HeldDelay.hs 27;" f _warmSound src/Dodge/Data/Item/HeldDelay.hs 28;" f _warmTime src/Dodge/Data/Item/HeldDelay.hs 26;" f -_weaponInvLock src/Dodge/Data/Item/Use.hs 91;" f -_weaponInvLock src/Dodge/Data/Item/Use.hs 108;" f -_weaponRepeat src/Dodge/Data/Item/Use.hs 92;" f -_weaponRepeat src/Dodge/Data/Item/Use.hs 109;" f +_weaponInvLock src/Dodge/Data/Item/Use.hs 88;" f +_weaponInvLock src/Dodge/Data/Item/Use.hs 105;" f +_weaponRepeat src/Dodge/Data/Item/Use.hs 89;" f +_weaponRepeat src/Dodge/Data/Item/Use.hs 106;" 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 @@ -3342,7 +3339,7 @@ angleVV src/Geometry/Vector.hs 57;" f 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 248;" f +anythingHitCirc src/Dodge/Base/Collide.hs 243;" f applyCME src/Dodge/HeldUse.hs 126;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f @@ -3461,10 +3458,10 @@ bindFBO src/Render.hs 244;" f black src/Color.hs 27;" f blank src/Picture/Base.hs 59;" f blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f -blinkActionFail src/Dodge/Creature/Action/Blink.hs 85;" f -blinkActionMousePos src/Dodge/Creature/Action/Blink.hs 19;" f -blinkDistortions src/Dodge/Creature/Action/Blink.hs 40;" f -blinkShockwave src/Dodge/Creature/Action/Blink.hs 76;" f +blinkActionFail src/Dodge/Creature/Action/Blink.hs 88;" f +blinkActionMousePos src/Dodge/Creature/Action/Blink.hs 22;" f +blinkDistortions src/Dodge/Creature/Action/Blink.hs 43;" f +blinkShockwave src/Dodge/Creature/Action/Blink.hs 79;" f blinker src/Dodge/Item/Held/Utility.hs 54;" f blinker src/Dodge/Item/Weapon/Utility.hs 14;" f blipAt src/Dodge/RadarSweep.hs 59;" f @@ -3518,8 +3515,8 @@ cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f calcTexCoord src/Tile.hs 19;" f -canSee src/Dodge/Base/Collide.hs 234;" f -canSeeIndirect src/Dodge/Base/Collide.hs 241;" f +canSee src/Dodge/Base/Collide.hs 229;" f +canSeeIndirect src/Dodge/Base/Collide.hs 236;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f @@ -3569,7 +3566,7 @@ chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 88;" f circCollisionDebugItem src/Dodge/Debug.hs 63;" f circHitWall src/Dodge/Base/Collide.hs 149;" f -circOnAnyCr src/Dodge/Base/Collide.hs 198;" f +circOnAnyCr src/Dodge/Base/Collide.hs 193;" f circOnSeg src/Geometry.hs 104;" f circOnSegNoEndpoints src/Geometry.hs 94;" f circOnSomeWall src/Dodge/Base/Collide.hs 187;" f @@ -3809,7 +3806,7 @@ debugMenuOptions src/Dodge/Menu.hs 119;" f debugOn src/Dodge/Data/Config.hs 151;" f debugSelectCreatureList src/Dodge/Debug.hs 86;" f debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f -decTimMvVel src/Dodge/Projectile/Update.hs 146;" f +decTimMvVel src/Dodge/Projectile/Update.hs 145;" f decodedtmap src/Dodge/Terminal.hs 205;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f @@ -3839,7 +3836,7 @@ 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 -defaultBulletWeapon src/Dodge/Default/Item.hs 41;" f +defaultBulletWeapon src/Dodge/Default/Item.hs 40;" f defaultButton src/Dodge/Default.hs 50;" f defaultCWCam src/Dodge/Default/World.hs 67;" f defaultCWGen src/Dodge/Default/World.hs 57;" f @@ -3848,7 +3845,7 @@ defaultChaseMvType src/Dodge/Default/Creature.hs 108;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultConfig src/Dodge/Data/Config.hs 127;" f defaultCorpse src/Dodge/Corpse/Make.hs 29;" f -defaultCraftItem src/Dodge/Default/Item.hs 35;" f +defaultCraftItem src/Dodge/Default/Item.hs 34;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 67;" f defaultCreatureSkin src/Dodge/Default/Creature.hs 61;" f @@ -3872,7 +3869,7 @@ defaultInanimate src/Dodge/Default/Creature.hs 64;" f defaultInput src/Dodge/Default/World.hs 14;" f defaultIntention src/Dodge/Default/Creature.hs 100;" f defaultInvSize src/Dodge/Default/Creature.hs 74;" f -defaultItEffect src/Dodge/Default/Item.hs 48;" f +defaultItEffect src/Dodge/Default/Item.hs 47;" f defaultItZoom src/Dodge/Default/Item/Use/AimParams.hs 32;" f defaultLS src/Dodge/Default/LightSource.hs 8;" f defaultLWorld src/Dodge/Default/World.hs 94;" f @@ -3912,7 +3909,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMcType src/Dodge/Machine/Destroy.hs 21;" f destroyMount src/Dodge/Block.hs 104;" f destroyMounts src/Dodge/Block.hs 101;" f -destroyProjectile src/Dodge/Projectile/Update.hs 63;" f +destroyProjectile src/Dodge/Projectile/Update.hs 62;" f detV src/Geometry/Vector.hs 93;" f detector src/Dodge/Item/Held/Utility.hs 41;" f detectorColor src/Dodge/Item/Draw/SPic.hs 430;" f @@ -4022,7 +4019,7 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f -doThrust src/Dodge/Projectile/Update.hs 75;" f +doThrust src/Dodge/Projectile/Update.hs 74;" f doTimeScroll src/Dodge/Update.hs 205;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 101;" f @@ -4229,7 +4226,7 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 195;" f expireAndDamageFL src/Dodge/Flame.hs 47;" f -explodeShell src/Dodge/Projectile/Update.hs 158;" f +explodeShell src/Dodge/Projectile/Update.hs 157;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f @@ -4439,11 +4436,11 @@ handleResizeEvent src/Dodge/Event.hs 53;" f handleTextInput src/Dodge/Event/Input.hs 18;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f hardQuit src/Dodge/Concurrent.hs 33;" f -hasButtonLOS src/Dodge/Base/Collide.hs 212;" f +hasButtonLOS src/Dodge/Base/Collide.hs 207;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 47;" f hasFrontArmour src/Dodge/Creature/Test.hs 110;" f -hasLOS src/Dodge/Base/Collide.hs 205;" f -hasLOSIndirect src/Dodge/Base/Collide.hs 220;" f +hasLOS src/Dodge/Base/Collide.hs 200;" f +hasLOSIndirect src/Dodge/Base/Collide.hs 215;" f hat src/Dodge/Item/Equipment.hs 134;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 140;" f @@ -4597,7 +4594,7 @@ isUnusedLnkType src/Dodge/PlacementSpot.hs 186;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f isValidCommand src/Dodge/Debug/Terminal.hs 128;" f isVowel src/StringHelp.hs 8;" f -isWalkable src/Dodge/Base/Collide.hs 227;" f +isWalkable src/Dodge/Base/Collide.hs 222;" f isoMatrix src/MatrixHelper.hs 30;" f isotriBWH src/Geometry/Polygon.hs 20;" f itDim src/Dodge/Item/InvSize.hs 20;" f @@ -4820,7 +4817,7 @@ makeShaderUsingVAO src/Shader/Compile.hs 146;" f makeShaderUsingVBO src/Shader/Compile.hs 69;" f makeShaderVBO src/Shader/Compile.hs 32;" f makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f -makeShrapnelAt src/Dodge/Payload.hs 24;" f +makeShrapnelAt src/Dodge/Payload.hs 23;" f makeSourcedShader src/Shader/Compile.hs 167;" f makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f @@ -5110,7 +5107,7 @@ pipe src/Dodge/Item/Craftable.hs 32;" 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 116;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 115;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f @@ -5357,7 +5354,7 @@ rectXY src/Geometry/Polygon.hs 35;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f red src/Color.hs 14;" f reduceLocLDT src/Dodge/DoubleTree.hs 256;" f -reduceSpinBy src/Dodge/Projectile/Update.hs 143;" f +reduceSpinBy src/Dodge/Projectile/Update.hs 142;" f reflDirWall src/Dodge/Base/Wall.hs 16;" f reflVelWall src/Dodge/Base/Wall.hs 24;" f reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f @@ -5550,7 +5547,7 @@ selSecSelCol src/Dodge/Render/HUD.hs 492;" f selSecSelSize src/Dodge/SelectionSections.hs 180;" f selSecYint src/Dodge/SelectionSections.hs 189;" f selectCreatureDebugItem src/Dodge/Debug.hs 55;" f -selectUse src/Dodge/SelectUse.hs 10;" f +selectUse src/Dodge/SelectUse.hs 11;" f selectedItemScroll src/Dodge/Update/Scroll.hs 60;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f @@ -5626,8 +5623,7 @@ shardShape src/Dodge/Block/Debris.hs 181;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" 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 +shellCollisionCheck src/Dodge/Projectile/Update.hs 50;" f shellMag src/Dodge/Item/Ammo.hs 61;" f shellModule src/Dodge/Item/Scope.hs 42;" f shellShape src/Dodge/Projectile/Draw.hs 27;" f @@ -5692,7 +5688,7 @@ simpleDamFL src/Dodge/Flame.hs 40;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 352;" f -singleAmmo src/Dodge/Default/Item.hs 38;" f +singleAmmo src/Dodge/Default/Item.hs 37;" f singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f singleDT src/Dodge/DoubleTree.hs 9;" f singleLDT src/Dodge/DoubleTree.hs 12;" f @@ -5930,7 +5926,7 @@ toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f toggleCommand src/Dodge/Terminal.hs 196;" f -toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 49;" f +toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 56;" f toggleJust src/MaybeHelp.hs 41;" f toggleMap src/Dodge/Update/Input/InGame.hs 552;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 565;" f @@ -6015,7 +6011,7 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f -trySpinByCID src/Dodge/Projectile/Update.hs 98;" f +trySpinByCID src/Dodge/Projectile/Update.hs 97;" f trySynthBullet src/Dodge/Creature/State.hs 204;" f tryUseParent src/Dodge/Creature/State.hs 197;" f turnTo src/Dodge/Movement/Turn.hs 4;" f @@ -6038,7 +6034,7 @@ unfoldrMID src/MonadHelp.hs 33;" f unitVectorAtAngle src/Geometry/Vector.hs 100;" f unlockInv src/Dodge/Inventory/Lock.hs 12;" f unpause src/Dodge/Menu.hs 192;" f -unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 52;" f +unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 55;" f unsafeBlinker src/Dodge/Item/Held/Utility.hs 67;" f unsafeBlinker src/Dodge/Item/Weapon/Utility.hs 27;" f unsafeSwapKeys src/IntMapHelp.hs 74;" f @@ -6193,9 +6189,10 @@ useGasParams src/Dodge/HeldUse.hs 505;" f useHotkey src/Dodge/Creature/YourControl.hs 54;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLoadedAmmo src/Dodge/HeldUse.hs 289;" f +useLocation src/Dodge/Creature/Impulse/UseItem.hs 49;" f useMagShield src/Dodge/Euse.hs 46;" f useNormalCamera src/Dodge/Camera.hs 6;" f -usePayload src/Dodge/Payload.hs 18;" f +usePayload src/Dodge/Payload.hs 17;" f useRewindGun src/Dodge/HeldUse.hs 665;" f useRewindGun src/Dodge/Luse.hs 40;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f