diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index c2c66cb6d..b5859fe44 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -7,6 +7,7 @@ module Dodge.HeldUse ( gadgetEffect, heldEffectNoHammerCheck, mcUseHeld, + heldEffectMuzzles, ) where import Color @@ -101,12 +102,12 @@ hammerCheck f pt it cr id | otherwise = f it cr where - g x = (x, WdWdFromItCrixWdWd (upitm x) (_crID cr) ItCrWdItemHeldEffectNoHammer) - upitm x = - it -- & ldtValue . itUse . heldParams . weaponRepeat .~ [] - & ldtValue . itUse . heldFrame .~ x +-- g x = (x, WdWdFromItCrixWdWd (upitm x) (_crID cr) ItCrWdItemHeldEffectNoHammer) +-- upitm x = +-- it -- & ldtValue . itUse . heldParams . weaponRepeat .~ [] +-- & ldtValue . itUse . heldFrame .~ x ---g x = (x, WdWdBurstFireRepeats (_crID cr) (it ^?! ldtValue . itLocation . ilInvID)) + g x = (x, WdWdBurstFireRepeats (_crID cr) (it ^?! ldtValue . itLocation . ilInvID)) -- | Applies a world effect after an item use cooldown check. useTimeCheck :: ChainEffect diff --git a/src/Dodge/WorldEffect.hs b/src/Dodge/WorldEffect.hs index 1aaf6b403..deacb8c2d 100644 --- a/src/Dodge/WorldEffect.hs +++ b/src/Dodge/WorldEffect.hs @@ -46,10 +46,11 @@ doWdWd we = case we of . (cWorld . lWorld . worldEvents .:~ MakeTempLight x (t-1)) UseInvItem invid pt -> \w -> fromMaybe w (useItem invid pt w) WdWdBurstFireRepeats cid invid -> \w -> fromMaybe w $ do +-- undefined cr <- w ^? cWorld . lWorld . creatures . ix cid itree <- bimap _iatType (^. _1) <$> allInvLocs (cr ^. crInv) ^? ix invid . _2 . locLDT - return $ heldEffectNoHammerCheck itree cr w + return $ heldEffectMuzzles itree cr w doItCrWdWd :: ItCrWdWd -> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World doItCrWdWd icww = case icww of diff --git a/tags b/tags index d3ff05a81..da40dbe2a 100644 --- a/tags +++ b/tags @@ -540,7 +540,7 @@ Door src/Dodge/Room/Door.hs 2;" m DoorClosed src/Dodge/Data/Door.hs 23;" C DoorHalfway src/Dodge/Data/Door.hs 23;" C DoorInt src/Dodge/Data/Door.hs 23;" C -DoorMechanism src/Dodge/Data/WorldEffect.hs 72;" C +DoorMechanism src/Dodge/Data/WorldEffect.hs 73;" C DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C DoorOpen src/Dodge/Data/Door.hs 23;" C DoorPane src/Dodge/LevelGen/DoorPane.hs 1;" m @@ -552,10 +552,10 @@ DoubleTree src/Dodge/Data/DoubleTree.hs 30;" t DoubleTree src/Dodge/Data/DoubleTree.hs 6;" m DoubleTree src/Dodge/DoubleTree.hs 1;" m DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 15;" t -DrWdId src/Dodge/Data/WorldEffect.hs 69;" C -DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 70;" C -DrWdMechanismStepwise src/Dodge/Data/WorldEffect.hs 71;" C -DrWdWd src/Dodge/Data/WorldEffect.hs 68;" t +DrWdId src/Dodge/Data/WorldEffect.hs 70;" C +DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 71;" C +DrWdMechanismStepwise src/Dodge/Data/WorldEffect.hs 72;" C +DrWdWd src/Dodge/Data/WorldEffect.hs 69;" t DrWdWd src/Dodge/DrWdWd.hs 1;" m Draw src/Dodge/Beam/Draw.hs 1;" m Draw src/Dodge/Block/Draw.hs 1;" m @@ -1157,11 +1157,11 @@ McSensor src/Dodge/Data/Machine.hs 52;" C McStatic src/Dodge/Data/Machine.hs 50;" C McTerminal src/Dodge/Data/Machine.hs 51;" C McTurret src/Dodge/Data/Machine.hs 53;" C -MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 50;" C -MdSetLSCol src/Dodge/Data/WorldEffect.hs 49;" C -MdTrigIf src/Dodge/Data/WorldEffect.hs 48;" C -MdWdId src/Dodge/Data/WorldEffect.hs 47;" C -MdWdWd src/Dodge/Data/WorldEffect.hs 46;" t +MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 51;" C +MdSetLSCol src/Dodge/Data/WorldEffect.hs 50;" C +MdTrigIf src/Dodge/Data/WorldEffect.hs 49;" C +MdWdId src/Dodge/Data/WorldEffect.hs 48;" C +MdWdWd src/Dodge/Data/WorldEffect.hs 47;" t MedBaySS src/Dodge/Data/Scenario.hs 100;" C Medium src/Shape/Data.hs 30;" C Melee src/Dodge/Data/ActionPlan.hs 41;" C @@ -1982,13 +1982,13 @@ TmTm src/Dodge/TmTm.hs 1;" m TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 62;" C TmTmSetPartialCommand src/Dodge/Data/Terminal.hs 64;" C TmTmSetStatus src/Dodge/Data/Terminal.hs 63;" C -TmWdId src/Dodge/Data/WorldEffect.hs 76;" C -TmWdWd src/Dodge/Data/WorldEffect.hs 75;" t +TmWdId src/Dodge/Data/WorldEffect.hs 77;" C +TmWdWd src/Dodge/Data/WorldEffect.hs 76;" t TmWdWd src/Dodge/TmWdWd.hs 1;" m -TmWdWdDisconnectTerminal src/Dodge/Data/WorldEffect.hs 77;" C -TmWdWdDoDeathTriggers src/Dodge/Data/WorldEffect.hs 80;" C -TmWdWdTermSound src/Dodge/Data/WorldEffect.hs 79;" C -TmWdWdfromWdWd src/Dodge/Data/WorldEffect.hs 78;" C +TmWdWdDisconnectTerminal src/Dodge/Data/WorldEffect.hs 78;" C +TmWdWdDoDeathTriggers src/Dodge/Data/WorldEffect.hs 81;" C +TmWdWdTermSound src/Dodge/Data/WorldEffect.hs 80;" C +TmWdWdfromWdWd src/Dodge/Data/WorldEffect.hs 79;" C ToContinueStart src/Sound/Data.hs 27;" C ToPlaySound src/Sound/Data.hs 35;" t ToStart src/Sound/Data.hs 26;" C @@ -2155,13 +2155,13 @@ WarningCry src/Dodge/Data/ActionPlan.hs 185;" C WasLeftForward src/Dodge/Data/Creature/Stance.hs 34;" C WasRightForward src/Dodge/Data/Creature/Stance.hs 35;" C WatchAndWait src/Dodge/Data/ActionPlan.hs 183;" C -WdBl src/Dodge/Data/WorldEffect.hs 53;" t -WdBlBtNotOff src/Dodge/Data/WorldEffect.hs 60;" C -WdBlBtOn src/Dodge/Data/WorldEffect.hs 59;" C -WdBlConst src/Dodge/Data/WorldEffect.hs 56;" C -WdBlCrFilterNearPoint src/Dodge/Data/WorldEffect.hs 58;" C -WdBlDoorMoving src/Dodge/Data/WorldEffect.hs 55;" C -WdBlNegate src/Dodge/Data/WorldEffect.hs 57;" C +WdBl src/Dodge/Data/WorldEffect.hs 54;" t +WdBlBtNotOff src/Dodge/Data/WorldEffect.hs 61;" C +WdBlBtOn src/Dodge/Data/WorldEffect.hs 60;" C +WdBlConst src/Dodge/Data/WorldEffect.hs 57;" C +WdBlCrFilterNearPoint src/Dodge/Data/WorldEffect.hs 59;" C +WdBlDoorMoving src/Dodge/Data/WorldEffect.hs 56;" C +WdBlNegate src/Dodge/Data/WorldEffect.hs 58;" C WdCrBl src/Dodge/Data/CreatureEffect.hs 31;" t WdCrBlfromCrBl src/Dodge/Data/CreatureEffect.hs 33;" C WdCrCr src/Dodge/Data/CreatureEffect.hs 11;" t @@ -2169,18 +2169,19 @@ WdCrLOSTarget src/Dodge/Data/CreatureEffect.hs 35;" C WdCrNegate src/Dodge/Data/CreatureEffect.hs 34;" C WdCrSafeDistFromTarget src/Dodge/Data/CreatureEffect.hs 36;" C WdCrTrue src/Dodge/Data/CreatureEffect.hs 32;" C -WdP2 src/Dodge/Data/WorldEffect.hs 41;" t +WdP2 src/Dodge/Data/WorldEffect.hs 42;" t WdP2 src/Dodge/WdP2.hs 1;" m -WdP2Const src/Dodge/Data/WorldEffect.hs 42;" C -WdP2f src/Dodge/Data/WorldEffect.hs 63;" t +WdP2Const src/Dodge/Data/WorldEffect.hs 43;" C +WdP2f src/Dodge/Data/WorldEffect.hs 64;" t WdP2f src/Dodge/WdP2f.hs 2;" m -WdP2f0 src/Dodge/Data/WorldEffect.hs 64;" C -WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 65;" C -WdTrig src/Dodge/Data/WorldEffect.hs 54;" C +WdP2f0 src/Dodge/Data/WorldEffect.hs 65;" C +WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 66;" C +WdTrig src/Dodge/Data/WorldEffect.hs 55;" C WdWd src/Dodge/Data/WorldEffect.hs 24;" t +WdWdBurstFireRepeats src/Dodge/Data/WorldEffect.hs 38;" C WdWdFromItCrixWdWd src/Dodge/Data/WorldEffect.hs 35;" C WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 34;" C -WdYouPos src/Dodge/Data/WorldEffect.hs 43;" C +WdYouPos src/Dodge/Data/WorldEffect.hs 44;" C Weapon src/Dodge/Item/Weapon.hs 2;" m WeaponScopeLink src/Dodge/Data/ComposedItem.hs 23;" C WeaponScopeSF src/Dodge/Data/ComposedItem.hs 46;" C @@ -3321,7 +3322,7 @@ aSound src/Dodge/SoundLogic.hs 74;" f aStance src/Dodge/Item/AimStance.hs 12;" f aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f -accessTerminal src/Dodge/WorldEffect.hs 53;" f +accessTerminal src/Dodge/WorldEffect.hs 60;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 86;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 83;" f @@ -3393,24 +3394,24 @@ 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 246;" f -applyCME src/Dodge/HeldUse.hs 174;" f +applyCME src/Dodge/HeldUse.hs 181;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyEventIO src/Loop.hs 89;" f applyGravityPU src/Dodge/Projectile/Update.hs 56;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f -applyInvLock src/Dodge/HeldUse.hs 233;" f +applyInvLock src/Dodge/HeldUse.hs 240;" f applyMagnetsToBul src/Dodge/Bullet.hs 28;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyPastDamages src/Dodge/Creature/State.hs 142;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 111;" f -applyRecoil src/Dodge/HeldUse.hs 265;" f +applyRecoil src/Dodge/HeldUse.hs 272;" f applyResFactor src/Dodge/Data/Config.hs 110;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f -applySidePush src/Dodge/HeldUse.hs 364;" f -applySoundCME src/Dodge/HeldUse.hs 255;" f +applySidePush src/Dodge/HeldUse.hs 371;" f +applySoundCME src/Dodge/HeldUse.hs 262;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f @@ -3418,7 +3419,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 375;" f +applyTorqueCME src/Dodge/HeldUse.hs 382;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arHUD src/Dodge/Item/Scope.hs 135;" f @@ -3501,7 +3502,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 21;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 524;" f +basicMuzFlare src/Dodge/HeldUse.hs 526;" f basicTerminal src/Dodge/Terminal.hs 35;" f battery src/Dodge/Item/Ammo.hs 87;" f batteryPack src/Dodge/Item/Equipment.hs 55;" f @@ -3510,7 +3511,7 @@ beltMag src/Dodge/Item/Ammo.hs 47;" f bfsNodePoints src/Dodge/Path.hs 58;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 216;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 112;" f -bgunSound src/Dodge/HeldUse.hs 318;" f +bgunSound src/Dodge/HeldUse.hs 325;" f bindFBO src/Render.hs 244;" f bingate src/Dodge/Item/Scope.hs 110;" f black src/Color.hs 27;" f @@ -3538,7 +3539,7 @@ blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 366;" f blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f blowTorch src/Dodge/Item/Held/SprayGuns.hs 43;" f blue src/Color.hs 16;" f -blunderbuss src/Dodge/Item/Held/Cone.hs 24;" f +blunderbuss src/Dodge/Item/Held/Cone.hs 21;" 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 @@ -3772,14 +3773,14 @@ createItemYou src/Dodge/Inventory/Add.hs 95;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 90;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 1113;" f -createProjectileR src/Dodge/HeldUse.hs 1078;" f +createProjectile src/Dodge/HeldUse.hs 1075;" f +createProjectileR src/Dodge/HeldUse.hs 1040;" f createShell src/Dodge/Projectile/Create.hs 22;" f createShieldWall src/Dodge/Euse.hs 107;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 10;" f -creatureShootLaser src/Dodge/HeldUse.hs 640;" f +creatureShootLaser src/Dodge/HeldUse.hs 642;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f @@ -3971,7 +3972,7 @@ detector src/Dodge/Item/Held/Utility.hs 35;" f detectorColor src/Dodge/Item/Draw/SPic.hs 445;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 221;" f -determineProjectileTracking src/Dodge/HeldUse.hs 1061;" f +determineProjectileTracking src/Dodge/HeldUse.hs 1023;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 54;" f diffAngles src/Geometry.hs 204;" f @@ -4021,8 +4022,8 @@ doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f doDamage src/Dodge/Creature/State.hs 136;" f doDamagesFL src/Dodge/Flame.hs 57;" f -doDeathToggle src/Dodge/WorldEffect.hs 92;" f -doDeathTriggers src/Dodge/WorldEffect.hs 87;" f +doDeathToggle src/Dodge/WorldEffect.hs 99;" f +doDeathTriggers src/Dodge/WorldEffect.hs 94;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f @@ -4036,15 +4037,15 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" 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 1000;" f +doGenFloat src/Dodge/HeldUse.hs 983;" f doGravityPU src/Dodge/Projectile/Update.hs 50;" f -doHeldUseEffect src/Dodge/HeldUse.hs 141;" f +doHeldUseEffect src/Dodge/HeldUse.hs 148;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doIntImp src/Dodge/CreatureEffect.hs 24;" f doInvEffect src/Dodge/ItEffect.hs 16;" f -doItCrWdWd src/Dodge/WorldEffect.hs 48;" f +doItCrWdWd src/Dodge/WorldEffect.hs 55;" f doItemTimeScroll src/Dodge/Update.hs 195;" f doItmCrWdWd src/Dodge/Euse.hs 27;" f doLoop src/Loop.hs 60;" f @@ -4074,7 +4075,7 @@ doSectionSize src/Dodge/DisplayInventory.hs 217;" f doSideEffects appDodge/Main.hs 120;" f doStep src/Dodge/ArcStep.hs 9;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f -doTerminalBootProgram src/Dodge/WorldEffect.hs 95;" f +doTerminalBootProgram src/Dodge/WorldEffect.hs 102;" f doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f @@ -4082,13 +4083,13 @@ doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 149;" f doTimeScroll src/Dodge/Update.hs 200;" f doTmTm src/Dodge/TmTm.hs 6;" f -doTmWdWd src/Dodge/WorldEffect.hs 100;" f +doTmWdWd src/Dodge/WorldEffect.hs 107;" f doWallRotate src/Dodge/Update/Camera.hs 211;" f doWdBl src/Dodge/WorldBool.hs 10;" f 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 28;" f +doWdWd src/Dodge/WorldEffect.hs 29;" f doWorldEvents src/Dodge/Update.hs 425;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f @@ -4231,7 +4232,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f dropByState src/Dodge/Creature/State.hs 130;" f dropExcept src/Dodge/Creature/Action.hs 167;" f -dropInventoryPath src/Dodge/HeldUse.hs 1191;" f +dropInventoryPath src/Dodge/HeldUse.hs 1153;" f dropItem src/Dodge/Creature/Action.hs 173;" f dropper src/Dodge/Item/Scope.hs 76;" f drumMag src/Dodge/Item/Ammo.hs 42;" f @@ -4335,7 +4336,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flamerPic src/Dodge/Item/Draw/SPic.hs 379;" f -flareCircleAt src/Dodge/HeldUse.hs 505;" f +flareCircleAt src/Dodge/HeldUse.hs 507;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 50;" f flatLookupItems src/Dodge/Combine.hs 38;" f flatShield src/Dodge/Item/Held/Utility.hs 18;" f @@ -4404,7 +4405,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameplayMenu src/Dodge/Menu.hs 134;" f gameplayMenuOptions src/Dodge/Menu.hs 137;" f -gasType src/Dodge/HeldUse.hs 956;" f +gasType src/Dodge/HeldUse.hs 939;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4419,10 +4420,10 @@ getAimZoom src/Dodge/Update/Camera.hs 134;" f getAmmoLinks src/Dodge/Item/Grammar.hs 137;" f getArguments src/Dodge/Update/Scroll.hs 176;" f getArguments' src/Dodge/Update/Scroll.hs 164;" f -getAttachedSFLink src/Dodge/HeldUse.hs 575;" f +getAttachedSFLink src/Dodge/HeldUse.hs 577;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 116;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f -getBulletType src/Dodge/HeldUse.hs 708;" f +getBulletType src/Dodge/HeldUse.hs 700;" f getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f getCommands src/Dodge/Terminal.hs 117;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f @@ -4432,17 +4433,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 15;" f getDamageCoding src/Dodge/Terminal.hs 177;" f getDistortions src/Dodge/Render.hs 383;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 45;" f -getGrenadeHitEffect src/Dodge/HeldUse.hs 1106;" f +getGrenadeHitEffect src/Dodge/HeldUse.hs 1068;" f getInventoryPath src/Dodge/Inventory/Path.hs 8;" f getItemValue src/Dodge/Inventory/SelectionList.hs 141;" f -getLaserColor src/Dodge/HeldUse.hs 521;" f -getLaserDamage src/Dodge/HeldUse.hs 518;" f -getLaserPhaseV src/Dodge/HeldUse.hs 515;" f +getLaserColor src/Dodge/HeldUse.hs 523;" f +getLaserDamage src/Dodge/HeldUse.hs 520;" f +getLaserPhaseV src/Dodge/HeldUse.hs 517;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 385;" f getNodePos src/Dodge/Path.hs 31;" f -getPJStabiliser src/Dodge/HeldUse.hs 1098;" f +getPJStabiliser src/Dodge/HeldUse.hs 1060;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f getRootItemBounds src/Dodge/Render/HUD.hs 94;" f @@ -4476,7 +4477,7 @@ goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 136;" f grahamEliminate src/Geometry/Polygon.hs 125;" f grahamScan src/Geometry/Polygon.hs 116;" f -grapeCannon src/Dodge/Item/Held/Cone.hs 30;" f +grapeCannon src/Dodge/Item/Held/Cone.hs 27;" f graphToEdges src/Dodge/Graph.hs 35;" f graphToIncidence src/Dodge/Graph.hs 40;" f graphicsMenu src/Dodge/Menu.hs 165;" f @@ -4532,21 +4533,21 @@ heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldAimStance src/Dodge/Item/AimStance.hs 17;" f heldAimZoom src/Dodge/Update/Camera.hs 139;" f heldEffect src/Dodge/HeldUse.hs 63;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 131;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 136;" f heldEffectNoHammerCheck src/Dodge/HeldUse.hs 71;" f heldHandlePos src/Dodge/Item/HeldOffset.hs 94;" f heldInfo src/Dodge/Item/Info.hs 88;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 175;" f -heldItemInvLock src/Dodge/HeldUse.hs 248;" f -heldItemMuzVel src/Dodge/HeldUse.hs 838;" f +heldItemInvLock src/Dodge/HeldUse.hs 255;" f +heldItemMuzVel src/Dodge/HeldUse.hs 827;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 71;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 28;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 33;" f -heldItemRifling src/Dodge/HeldUse.hs 882;" f +heldItemRifling src/Dodge/HeldUse.hs 871;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 220;" f heldItemWeight src/Dodge/Creature/Statistics.hs 41;" f heldPositionInfo src/Dodge/Item/Info.hs 237;" f -heldTorqueAmount src/Dodge/HeldUse.hs 396;" f +heldTorqueAmount src/Dodge/HeldUse.hs 398;" f heldTriggerType src/Dodge/BaseTriggerType.hs 17;" f helpCommand src/Dodge/Terminal.hs 66;" f helpPoly3D src/Polyhedra.hs 125;" f @@ -4663,7 +4664,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 531;" f +isAmmoIntLink src/Dodge/HeldUse.hs 533;" f isAnimate src/Dodge/Creature/Test.hs 140;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 74;" f @@ -4697,7 +4698,7 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f itemBulkiness src/Dodge/Creature/YourControl.hs 170;" f itemCombinations src/Dodge/Combine/Combinations.hs 55;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f -itemDetectorEffect src/Dodge/HeldUse.hs 581;" f +itemDetectorEffect src/Dodge/HeldUse.hs 583;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 47;" f itemEquipPict src/Dodge/Item/Draw.hs 16;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 82;" f @@ -4709,8 +4710,8 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemInfo src/Dodge/Item/Info.hs 18;" f itemInternalValue src/Dodge/Item/Display.hs 32;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f -itemInvLock src/Dodge/HeldUse.hs 243;" f -itemRandomOffset src/Dodge/HeldUse.hs 774;" f +itemInvLock src/Dodge/HeldUse.hs 250;" f +itemRandomOffset src/Dodge/HeldUse.hs 764;" 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 @@ -4718,7 +4719,7 @@ itemScan src/Dodge/Item/Scope.hs 63;" f itemScroll src/Dodge/Update/Scroll.hs 50;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 118;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 145;" f -itemSidePush src/Dodge/HeldUse.hs 189;" f +itemSidePush src/Dodge/HeldUse.hs 196;" f itemString src/Dodge/Item/Display.hs 53;" f itemToBreakLists src/Dodge/Item/Grammar.hs 63;" f itemToFunction src/Dodge/Item/Grammar.hs 143;" f @@ -4798,7 +4799,7 @@ lineCol src/Picture/Base.hs 230;" f lineGeom src/Dodge/Base.hs 32;" f lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f lineOrth src/Dodge/Creature/Boid.hs 125;" f -lineOutputTerminal src/Dodge/WorldEffect.hs 75;" f +lineOutputTerminal src/Dodge/WorldEffect.hs 82;" f lineSplit src/Justify.hs 26;" f lineThick src/Picture/Base.hs 234;" f lineUp src/Dodge/Creature/Boid.hs 147;" f @@ -4819,7 +4820,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 393;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 27;" f -loadMuzzle src/Dodge/HeldUse.hs 441;" f +loadMuzzle src/Dodge/HeldUse.hs 443;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4874,8 +4875,8 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 69;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 819;" f -makeBullet' src/Dodge/HeldUse.hs 760;" f +makeBullet src/Dodge/HeldUse.hs 808;" f +makeBullet' src/Dodge/HeldUse.hs 750;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -4901,7 +4902,7 @@ makeFragBullets src/Dodge/Bullet.hs 122;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 34;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 463;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 465;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f @@ -4957,11 +4958,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 124;" f mcSPic src/Dodge/Render/ShapePicture.hs 120;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 87;" f mcSensorUpdate src/Dodge/Machine/Update.hs 119;" f -mcShootAuto src/Dodge/HeldUse.hs 1032;" f -mcShootLaser src/Dodge/HeldUse.hs 1024;" f +mcShootAuto src/Dodge/HeldUse.hs 994;" f +mcShootLaser src/Dodge/HeldUse.hs 987;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f -mcUseHeld src/Dodge/HeldUse.hs 926;" f +mcUseHeld src/Dodge/HeldUse.hs 915;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 76;" f @@ -5054,7 +5055,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 491;" f +muzFlareAt src/Dodge/HeldUse.hs 493;" 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 @@ -5443,7 +5444,7 @@ randsOnCirc src/RandomHelp.hs 127;" f randsSpread src/RandomHelp.hs 120;" f ratIntersectLineLine src/Geometry/Intersect.hs 195;" f readSaveSlot src/Dodge/Save.hs 45;" f -recoilAmount src/Dodge/HeldUse.hs 270;" f +recoilAmount src/Dodge/HeldUse.hs 277;" f rectNSWE src/Geometry/Polygon.hs 13;" f rectVV src/Geometry/Polygon.hs 38;" f rectWH src/Geometry/Polygon.hs 17;" f @@ -5470,7 +5471,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteDetonator src/Dodge/Item/Scope.hs 145;" f remoteScreen src/Dodge/Item/Scope.hs 140;" f removeAimPosture src/Dodge/Creature/YourControl.hs 145;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 695;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 687;" f removeDot src/ShortShow.hs 29;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeShieldWall src/Dodge/Euse.hs 125;" f @@ -5749,14 +5750,14 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f shineTargetLaser src/Dodge/Creature/State.hs 308;" f shineTorch src/Dodge/Creature/State.hs 350;" f -shootBullet src/Dodge/HeldUse.hs 750;" f +shootBullet src/Dodge/HeldUse.hs 740;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f -shootLaser src/Dodge/HeldUse.hs 664;" f +shootLaser src/Dodge/HeldUse.hs 666;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 1049;" f +shootTeslaArc src/Dodge/HeldUse.hs 1011;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 617;" f +shootTractorBeam src/Dodge/HeldUse.hs 619;" 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 @@ -6052,12 +6053,12 @@ topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 62;" f torch src/Dodge/Item/Held/Utility.hs 27;" f torchShape src/Dodge/Item/Draw/SPic.hs 264;" f -torqueAmount src/Dodge/HeldUse.hs 391;" f -torqueCr src/Dodge/WorldEffect.hs 68;" f +torqueAmount src/Dodge/HeldUse.hs 393;" f +torqueCr src/Dodge/WorldEffect.hs 75;" 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 629;" f +tractorBeamAt src/Dodge/HeldUse.hs 631;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 429;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -6298,26 +6299,26 @@ useBulletPayload src/Dodge/Bullet.hs 111;" 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 931;" f +useGasParams src/Dodge/HeldUse.hs 920;" f useHotkey src/Dodge/Creature/YourControl.hs 68;" f -useInventoryPath src/Dodge/HeldUse.hs 1216;" f +useInventoryPath src/Dodge/HeldUse.hs 1178;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 535;" f +useLoadedAmmo src/Dodge/HeldUse.hs 537;" f useLocation src/Dodge/Creature/Impulse/UseItem.hs 66;" f useMagShield src/Dodge/Euse.hs 46;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f -useRewindGun src/Dodge/HeldUse.hs 1182;" f +useRewindGun src/Dodge/HeldUse.hs 1144;" f useRewindGun src/Dodge/Luse.hs 40;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f -useStopWatch src/Dodge/HeldUse.hs 1163;" f +useStopWatch src/Dodge/HeldUse.hs 1125;" f useStopWatch src/Dodge/Luse.hs 21;" f -useTimeCheck src/Dodge/HeldUse.hs 107;" f +useTimeCheck src/Dodge/HeldUse.hs 112;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f -useTimeScrollGun src/Dodge/HeldUse.hs 1171;" f +useTimeScrollGun src/Dodge/HeldUse.hs 1133;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f @@ -6352,7 +6353,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f volleyGun src/Dodge/Item/Held/Cane.hs 28;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 340;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f -walkNozzle src/Dodge/HeldUse.hs 596;" f +walkNozzle src/Dodge/HeldUse.hs 598;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 98;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 51;" f