diff --git a/src/Dodge/Creature.hs b/src/Dodge/Creature.hs index 261fd4d25..9d3ffd89e 100644 --- a/src/Dodge/Creature.hs +++ b/src/Dodge/Creature.hs @@ -116,11 +116,9 @@ startInventory = IM.fromList $ zip [0 ..] startInvList inventoryX :: Char -> [Item] inventoryX c = case c of 'A' -> - [ clickDetector x | x <- [minBound .. maxBound] - ] <> [pulseChecker,battery] <> fold - [ makeTypeCraftNum 1 TRANSFORMER - , makeTypeCraftNum 2 CAN - , makeTypeCraftNum 2 PIPE + [ flameThrower + , fuelPack + , chemFuelPouch ] 'B' -> [ wristArmour diff --git a/src/Dodge/Data/Item.hs b/src/Dodge/Data/Item.hs index f419f9e05..5ac3068aa 100644 --- a/src/Dodge/Data/Item.hs +++ b/src/Dodge/Data/Item.hs @@ -26,10 +26,21 @@ import Dodge.Data.Item.Scope import Dodge.Data.Item.Use import NewInt -data ItID = ItID deriving (Eq, Ord, Show, Read) +data ItID = ItID + deriving (Eq, Ord, Show, Read) + +data Consumables + = NoConsumables + | AmmoMag + { _magLoadStatus :: ReloadStatus + , _magParams :: AmmoParams + , _magType :: AmmoType + } + deriving (Eq, Show, Read) data Item = Item { _itUse :: ItemUse + , _itConsumables :: Consumables , _itType :: ItemType , _itID :: NewInt ItmInt , _itLocation :: ItemLocation @@ -47,7 +58,9 @@ data ItemTargeting = NoItTargeting } makeLenses ''ItemTargeting +makeLenses ''Consumables makeLenses ''Item +deriveJSON defaultOptions ''Consumables deriveJSON defaultOptions ''ItemTargeting deriveJSON defaultOptions ''ItID deriveJSON defaultOptions ''Item diff --git a/src/Dodge/Default/Item.hs b/src/Dodge/Default/Item.hs index eb423cacb..813af884c 100644 --- a/src/Dodge/Default/Item.hs +++ b/src/Dodge/Default/Item.hs @@ -8,15 +8,17 @@ module Dodge.Default.Item ( module Dodge.Default.Item.Use, ) where -import qualified Data.IntMap.Strict as IM import Control.Lens +import qualified Data.IntMap.Strict as IM import Dodge.Data.Item import Dodge.Default.Item.Use import Geometry.Data defaultHeldItem :: Item -defaultHeldItem = Item +defaultHeldItem = + Item { _itType = HELD PISTOL + , _itConsumables = NoConsumables , _itEffect = defaultItEffect , _itID = 0 -- should this return an error ? const $ error "itID not correctly initialised" ? , _itTargeting = NoItTargeting @@ -36,7 +38,8 @@ singleAmmo :: a -> IM.IntMap a singleAmmo x = IM.insert 0 x mempty defaultBulletWeapon :: Item -defaultBulletWeapon = defaultHeldItem +defaultBulletWeapon = + defaultHeldItem & itAmmoSlots .~ singleAmmo BulletAmmo & itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0 PistolFlare MuzzleShootBullet (UseExactly 1)] diff --git a/tags b/tags index 205a7992b..7d8137c8f 100644 --- a/tags +++ b/tags @@ -21,7 +21,7 @@ <$> src/Dodge/Data/Terminal.hs 131;" o AIUNIT src/Dodge/Data/Item/Combine.hs 52;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C -AMR src/Dodge/Data/Item/Combine.hs 146;" C +AMR src/Dodge/Data/Item/Combine.hs 145;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 46;" C APInt src/Dodge/Data/Item/Use.hs 77;" C APItEffect src/Dodge/Data/Item/Use.hs 75;" C @@ -30,10 +30,9 @@ APNothing src/Dodge/Data/Item/Use.hs 78;" C AQUAMARINE src/Color/Data.hs 24;" C ATTACH src/Dodge/Data/Item/Combine.hs 21;" C AUGMENTEDHUD src/Dodge/Data/Item/Combine.hs 83;" C -AUTOAMR src/Dodge/Data/Item/Combine.hs 147;" C -AUTODETECTOR src/Dodge/Data/Item/Combine.hs 116;" C -AUTOPISTOL src/Dodge/Data/Item/Combine.hs 134;" C -AUTORIFLE src/Dodge/Data/Item/Combine.hs 142;" C +AUTOAMR src/Dodge/Data/Item/Combine.hs 146;" C +AUTOPISTOL src/Dodge/Data/Item/Combine.hs 133;" C +AUTORIFLE src/Dodge/Data/Item/Combine.hs 141;" C AZURE src/Color/Data.hs 23;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 27;" C Action src/Dodge/Data/ActionPlan.hs 78;" t @@ -110,27 +109,27 @@ AuxAddition src/Shader/AuxAddition.hs 1;" m Avatar src/Dodge/Data/Creature/Misc.hs 70;" C Awareness src/Dodge/Data/Creature/Perception.hs 65;" t Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m -BANGCONE src/Dodge/Data/Item/Combine.hs 136;" C -BANGROD src/Dodge/Data/Item/Combine.hs 144;" C -BANGSTICK src/Dodge/Data/Item/Combine.hs 131;" C +BANGCONE src/Dodge/Data/Item/Combine.hs 135;" C +BANGROD src/Dodge/Data/Item/Combine.hs 143;" C +BANGSTICK src/Dodge/Data/Item/Combine.hs 130;" C BATTERY src/Dodge/Data/Item/Combine.hs 91;" C BATTERYPACK src/Dodge/Data/Item/Combine.hs 115;" C BELTMAG src/Dodge/Data/Item/Combine.hs 89;" C BLACK src/Color/Data.hs 28;" C -BLINKER src/Dodge/Data/Item/Combine.hs 125;" C -BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 126;" C -BLOWTORCH src/Dodge/Data/Item/Combine.hs 153;" C +BLINKER src/Dodge/Data/Item/Combine.hs 124;" C +BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 125;" C +BLOWTORCH src/Dodge/Data/Item/Combine.hs 152;" C BLUE src/Color/Data.hs 17;" C -BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 137;" C +BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 136;" C BLUNT src/Dodge/Data/Damage/Type.hs 13;" C -BOOSTER src/Dodge/Data/Item/Combine.hs 121;" C +BOOSTER src/Dodge/Data/Item/Combine.hs 120;" C BQuad src/Geometry/Bezier.hs 9;" t BRAINHAT src/Dodge/Data/Item/Combine.hs 106;" C BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 114;" C BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 113;" C BULLETMOD src/Dodge/Data/Item/Combine.hs 24;" C BULLETSYNTH src/Dodge/Data/Item/Combine.hs 80;" C -BURSTRIFLE src/Dodge/Data/Item/Combine.hs 143;" C +BURSTRIFLE src/Dodge/Data/Item/Combine.hs 142;" C BackdropCursor src/Dodge/Data/SelectionList.hs 21;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C Ball src/Dodge/Tesla/Ball.hs 1;" m @@ -244,16 +243,16 @@ ButtonSimpleSwith src/Dodge/Data/Button.hs 40;" C ButtonState src/Dodge/Data/Button.hs 63;" t CAMERA src/Dodge/Data/Item/Combine.hs 53;" C CAN src/Dodge/Data/Item/Combine.hs 34;" C -CDoNothing src/Dodge/Data/Item/HeldUse.hs 16;" C +CDoNothing src/Dodge/Data/Item/HeldUse.hs 15;" C CHARTREUSE src/Color/Data.hs 25;" C CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 92;" C -CHeal src/Dodge/Data/Item/HeldUse.hs 17;" C +CHeal src/Dodge/Data/Item/HeldUse.hs 16;" C CIRCLE src/Dodge/Data/GenParams.hs 20;" C CME src/Dodge/Data/MuzzleEffect.hs 11;" C CONCUSSIVE src/Dodge/Data/Damage/Type.hs 22;" C CONSUMABLE src/Dodge/Data/Item/Combine.hs 19;" C CRAFT src/Dodge/Data/Item/Combine.hs 20;" C -CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 171;" C +CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 170;" C CREATURESENSOR src/Dodge/Data/Item/Combine.hs 63;" C CRUSHING src/Dodge/Data/Damage/Type.hs 16;" C CUTTING src/Dodge/Data/Damage/Type.hs 14;" C @@ -435,12 +434,12 @@ Crystal src/Dodge/Data/Material.hs 11;" C Cull_more_lights src/Dodge/Data/Config.hs 78;" C CumulativeMuzzleEffect src/Dodge/Data/MuzzleEffect.hs 11;" t CursorDisplay src/Dodge/Data/SelectionList.hs 19;" t -Cuse src/Dodge/Data/Item/HeldUse.hs 15;" t +Cuse src/Dodge/Data/Item/HeldUse.hs 14;" t Cuse src/Dodge/Cuse.hs 1;" m Cylinder src/Shape/Data.hs 19;" C -DETECTOR src/Dodge/Data/Item/Combine.hs 166;" C +DETECTOR src/Dodge/Data/Item/Combine.hs 165;" C DPoint2 src/Geometry/Data.hs 34;" t -DRONELAUNCHER src/Dodge/Data/Item/Combine.hs 161;" C +DRONELAUNCHER src/Dodge/Data/Item/Combine.hs 160;" C DRUMMAG src/Dodge/Data/Item/Combine.hs 88;" C DS src/DoubleStack.hs 3;" t DT src/Dodge/Data/DoubleTree.hs 29;" C @@ -506,7 +505,7 @@ DestroyBeing src/Dodge/Data/Scenario.hs 8;" C DestroyBullet src/Dodge/Data/Bullet.hs 36;" C DestroyItem src/Dodge/Data/Scenario.hs 7;" C DestroyPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" C -Detector src/Dodge/Data/Item/Combine.hs 169;" t +Detector src/Dodge/Data/Item/Combine.hs 168;" t Dirt src/Dodge/Data/Material.hs 11;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t Display src/Dodge/Item/Display.hs 1;" m @@ -595,20 +594,19 @@ DropSpecific src/Dodge/Data/Creature/State.hs 26;" 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 31;" C +EAmmoSource src/Dodge/Data/Item/HeldUse.hs 29;" C EBO src/Shader/Data.hs 88;" t -EBatterySource src/Dodge/Data/Item/HeldUse.hs 30;" C -ECamouflage src/Dodge/Data/Item/HeldUse.hs 26;" C -EDetector src/Dodge/Data/Item/HeldUse.hs 22;" C -EDoNothing src/Dodge/Data/Item/HeldUse.hs 21;" C -EFuelSource src/Dodge/Data/Item/HeldUse.hs 29;" C -EHeadLamp src/Dodge/Data/Item/HeldUse.hs 25;" C +EBatterySource src/Dodge/Data/Item/HeldUse.hs 28;" C +ECamouflage src/Dodge/Data/Item/HeldUse.hs 24;" C +EDoNothing src/Dodge/Data/Item/HeldUse.hs 20;" C +EFuelSource src/Dodge/Data/Item/HeldUse.hs 27;" C +EHeadLamp src/Dodge/Data/Item/HeldUse.hs 23;" C ELECTRICAL src/Dodge/Data/Damage/Type.hs 20;" C -ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 145;" C -EMagShield src/Dodge/Data/Item/HeldUse.hs 23;" C +ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 144;" C +EMagShield src/Dodge/Data/Item/HeldUse.hs 21;" C ENTERREMENT src/Dodge/Data/Damage/Type.hs 24;" C EQUIP src/Dodge/Data/Item/Combine.hs 18;" C -EWristShield src/Dodge/Data/Item/HeldUse.hs 24;" C +EWristShield src/Dodge/Data/Item/HeldUse.hs 22;" C EXPLOSIVE src/Dodge/Data/Damage/Type.hs 21;" C EXPLOSIVES src/Dodge/Data/Item/Combine.hs 97;" C Ears src/Dodge/Data/Creature/Perception.hs 47;" C @@ -634,8 +632,8 @@ EnergyBall src/Dodge/EnergyBall.hs 1;" m EnergyBallType src/Dodge/Data/Bullet.hs 31;" t EnergyGeneratorSS src/Dodge/Data/Scenario.hs 109;" C EngineSS src/Dodge/Data/Scenario.hs 88;" C -EoffWristShield src/Dodge/Data/Item/HeldUse.hs 28;" C -EonWristShield src/Dodge/Data/Item/HeldUse.hs 27;" C +EoffWristShield src/Dodge/Data/Item/HeldUse.hs 26;" C +EonWristShield src/Dodge/Data/Item/HeldUse.hs 25;" 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 @@ -653,7 +651,7 @@ EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 31;" 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 20;" t +Euse src/Dodge/Data/Item/HeldUse.hs 19;" t Euse src/Dodge/Euse.hs 1;" m Event src/Dodge/Button/Event.hs 1;" m Event src/Dodge/Event.hs 14;" m @@ -669,13 +667,13 @@ Eyes src/Dodge/Data/Creature/Perception.hs 41;" C FBO src/Shader/Data.hs 57;" t FLAKCRAFT src/Dodge/Data/Item/Combine.hs 70;" C FLAMESHIELD src/Dodge/Data/Item/Combine.hs 102;" C -FLAMESPITTER src/Dodge/Data/Item/Combine.hs 149;" C -FLAMETHROWER src/Dodge/Data/Item/Combine.hs 150;" C -FLAMETORRENT src/Dodge/Data/Item/Combine.hs 151;" C -FLAMEWALL src/Dodge/Data/Item/Combine.hs 152;" C +FLAMESPITTER src/Dodge/Data/Item/Combine.hs 148;" C +FLAMETHROWER src/Dodge/Data/Item/Combine.hs 149;" C +FLAMETORRENT src/Dodge/Data/Item/Combine.hs 150;" C +FLAMEWALL src/Dodge/Data/Item/Combine.hs 151;" C FLAMING src/Dodge/Data/Damage/Type.hs 18;" C FLASHMODULE src/Dodge/Data/Item/Combine.hs 68;" C -FLATSHIELD src/Dodge/Data/Item/Combine.hs 164;" C +FLATSHIELD src/Dodge/Data/Item/Combine.hs 163;" C FRAGCRAFT src/Dodge/Data/Item/Combine.hs 71;" C FRAGMODULE src/Dodge/Data/Item/Combine.hs 67;" C FRONTARMOUR src/Dodge/Data/Item/Combine.hs 103;" C @@ -751,7 +749,7 @@ GASINJECTOR src/Dodge/Data/Item/Combine.hs 69;" C GEqC src/SameConstr.hs 20;" c GLASSSHARD src/Dodge/Data/Item/Combine.hs 38;" C GLHelp src/GLHelp.hs 1;" m -GRAPECANNON src/Dodge/Data/Item/Combine.hs 138;" C +GRAPECANNON src/Dodge/Data/Item/Combine.hs 137;" C GRAVITYMODULE src/Dodge/Data/Item/Combine.hs 75;" C GREEN src/Color/Data.hs 16;" C GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 32;" C @@ -830,7 +828,7 @@ HasHammer src/Dodge/Data/Hammer.hs 14;" C HeavySmokeFlare src/Dodge/Data/Item/Use.hs 135;" 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 130;" t +HeldItemType src/Dodge/Data/Item/Combine.hs 129;" t HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m HeldParams src/Dodge/Data/Item/Use.hs 81;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 30;" C @@ -864,7 +862,7 @@ ILink src/Dodge/Data/ComposedItem.hs 49;" C IMSS src/Dodge/Data/SelectionList.hs 36;" t INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 105;" C IRONBAR src/Dodge/Data/Item/Combine.hs 57;" C -ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 170;" C +ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 169;" C ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 34;" t Important src/Shape/Data.hs 35;" C @@ -959,14 +957,14 @@ JoinClust src/Dodge/Combine/Graph.hs 21;" C Just' src/MaybeHelp.hs 13;" C JustStartedPlaying src/Sound/Data.hs 25;" C Justify src/Justify.hs 1;" m -KEYCARD src/Dodge/Data/Item/Combine.hs 165;" C +KEYCARD src/Dodge/Data/Item/Combine.hs 164;" C Kill src/Dodge/Data/ActionPlan.hs 198;" C -LASER src/Dodge/Data/Item/Combine.hs 156;" C +LASER src/Dodge/Data/Item/Combine.hs 155;" C LASERING src/Dodge/Data/Damage/Type.hs 19;" C -LAUNCHER src/Dodge/Data/Item/Combine.hs 158;" C -LAUNCHERX src/Dodge/Data/Item/Combine.hs 159;" C -LBlink src/Dodge/Data/Item/HeldUse.hs 43;" C -LBoost src/Dodge/Data/Item/HeldUse.hs 45;" C +LAUNCHER src/Dodge/Data/Item/Combine.hs 157;" C +LAUNCHERX src/Dodge/Data/Item/Combine.hs 158;" C +LBlink src/Dodge/Data/Item/HeldUse.hs 41;" C +LBoost src/Dodge/Data/Item/HeldUse.hs 43;" C LDT src/Dodge/Data/DoubleTree.hs 39;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C LDTComb src/Dodge/Item/Grammar.hs 141;" t @@ -974,19 +972,19 @@ 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 39;" C +LDoNothing src/Dodge/Data/Item/HeldUse.hs 37;" C LED src/Dodge/Data/Item/Combine.hs 55;" C LEFT src/Dodge/Data/Item/Combine.hs 17;" C LHS src/Geometry/LHS.hs 1;" m LIGHTER src/Dodge/Data/Item/Combine.hs 44;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 58;" C -LRewind src/Dodge/Data/Item/HeldUse.hs 40;" C +LRewind src/Dodge/Data/Item/HeldUse.hs 38;" C LS src/Dodge/Data/LightSource.hs 23;" C LSParam src/Dodge/Data/LightSource.hs 16;" t LTest src/Dodge/Data/ComposedItem.hs 54;" C -LTimePause src/Dodge/Data/Item/HeldUse.hs 41;" C -LTimeScroll src/Dodge/Data/Item/HeldUse.hs 42;" C -LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 44;" C +LTimePause src/Dodge/Data/Item/HeldUse.hs 39;" C +LTimeScroll src/Dodge/Data/Item/HeldUse.hs 40;" C +LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 42;" C LUpdate src/Dodge/Data/ComposedItem.hs 59;" C LWorld src/Dodge/Data/LWorld.hs 96;" t LWorld src/Dodge/Data/LWorld.hs 6;" m @@ -1022,7 +1020,7 @@ LeadTarget src/Dodge/Data/ActionPlan.hs 149;" C Left src/Dodge/Item/Left.hs 1;" m LeftConsumption src/Dodge/Data/Item/Use/Consumption.hs 26;" t LeftForward src/Dodge/Data/Creature/Stance.hs 32;" C -LeftItemType src/Dodge/Data/Item/Combine.hs 120;" t +LeftItemType src/Dodge/Data/Item/Combine.hs 119;" t LeftwardLDT src/Dodge/Data/DoubleTree.hs 45;" C LensHelp src/LensHelp.hs 1;" m Lethargic src/Dodge/Data/Creature/Perception.hs 55;" C @@ -1080,9 +1078,9 @@ Lorem src/Lorem.hs 1;" m LtAutoAI src/Dodge/Data/Creature/Misc.hs 53;" C LtAutoCrit src/Dodge/Creature/LtAutoCrit.hs 1;" m Lure src/Dodge/Data/ActionPlan.hs 179;" C -Luse src/Dodge/Data/Item/HeldUse.hs 38;" t +Luse src/Dodge/Data/Item/HeldUse.hs 36;" t Luse src/Dodge/Luse.hs 2;" m -MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 133;" C +MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 132;" C MAGENTA src/Color/Data.hs 20;" C MAGNET src/Dodge/Data/Item/Combine.hs 45;" C MAGSHIELD src/Dodge/Data/Item/Combine.hs 101;" C @@ -1094,7 +1092,7 @@ MEDKIT src/Dodge/Data/Item/Combine.hs 96;" C MICROCHIP src/Dodge/Data/Item/Combine.hs 49;" C MICROPHONE src/Dodge/Data/Item/Combine.hs 61;" C MINIDISPLAY src/Dodge/Data/Item/Combine.hs 54;" C -MINIGUNX src/Dodge/Data/Item/Combine.hs 139;" C +MINIGUNX src/Dodge/Data/Item/Combine.hs 138;" C MODBlockedString src/Dodge/Data/Universe.hs 96;" C MODString src/Dodge/Data/Universe.hs 95;" C MODStringOption src/Dodge/Data/Universe.hs 97;" C @@ -1368,12 +1366,12 @@ P2ImpNo src/Dodge/Data/CreatureEffect.hs 28;" C P2NoAction src/Dodge/Data/CreatureEffect.hs 53;" C PIERCING src/Dodge/Data/Damage/Type.hs 12;" C PIPE src/Dodge/Data/Item/Combine.hs 28;" C -PISTOL src/Dodge/Data/Item/Combine.hs 132;" C +PISTOL src/Dodge/Data/Item/Combine.hs 131;" C PLANK src/Dodge/Data/Item/Combine.hs 37;" C PLATE src/Dodge/Data/Item/Combine.hs 47;" C PLUS src/Dodge/Data/GenParams.hs 20;" C POISONDAM src/Dodge/Data/Damage/Type.hs 23;" C -POISONSPRAYER src/Dodge/Data/Item/Combine.hs 160;" C +POISONSPRAYER src/Dodge/Data/Item/Combine.hs 159;" C PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 66;" C POWERLEGS src/Dodge/Data/Item/Combine.hs 109;" C PPLevelReset src/Dodge/Data/PressPlate.hs 16;" C @@ -1542,9 +1540,9 @@ RAM src/Dodge/Data/Item/Combine.hs 51;" C RBList src/Dodge/Inventory/RBList.hs 1;" m RED src/Color/Data.hs 15;" C REMOTESCREEN src/Dodge/Data/Item/Combine.hs 81;" C -REWINDWATCH src/Dodge/Data/Item/Combine.hs 123;" C +REWINDWATCH src/Dodge/Data/Item/Combine.hs 122;" C RGBA src/Color/Data.hs 31;" t -RIFLE src/Dodge/Data/Item/Combine.hs 141;" C +RIFLE src/Dodge/Data/Item/Combine.hs 140;" C ROSE src/Color/Data.hs 21;" C RPLinkStatus src/Dodge/Data/Room.hs 55;" t RProps src/Dodge/Layout/Generate.hs 13;" C @@ -1633,17 +1631,17 @@ RoundedFaces src/Shape/Data.hs 18;" C RunPast src/Dodge/Room/RunPast.hs 1;" m RunningSideEffect src/Dodge/Data/Universe.hs 65;" C SCRAPMETAL src/Dodge/Data/Item/Combine.hs 39;" C -SCROLLWATCH src/Dodge/Data/Item/Combine.hs 124;" C -SHATTERGUN src/Dodge/Data/Item/Combine.hs 162;" C +SCROLLWATCH src/Dodge/Data/Item/Combine.hs 123;" C +SHATTERGUN src/Dodge/Data/Item/Combine.hs 161;" C SHATTERING src/Dodge/Data/Damage/Type.hs 17;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 90;" C SIZEMODULE src/Dodge/Data/Item/Combine.hs 74;" C -SMG src/Dodge/Data/Item/Combine.hs 135;" C -SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 148;" C +SMG src/Dodge/Data/Item/Combine.hs 134;" C +SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 147;" C SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 59;" C -SPARKGUN src/Dodge/Data/Item/Combine.hs 154;" C +SPARKGUN src/Dodge/Data/Item/Combine.hs 153;" C SPARKING src/Dodge/Data/Damage/Type.hs 15;" C -SPAWNER src/Dodge/Data/Item/Combine.hs 127;" C +SPAWNER src/Dodge/Data/Item/Combine.hs 126;" C SPEEDLEGS src/Dodge/Data/Item/Combine.hs 110;" C SPRING src/Dodge/Data/Item/Combine.hs 31;" C SPic src/ShapePicture/Data.hs 7;" t @@ -1652,7 +1650,7 @@ SQUARE src/Dodge/Data/GenParams.hs 20;" C ST src/Dodge/Data/MetaTree.hs 18;" C ST src/Dodge/Tree/Compose/Data.hs 12;" C STEELDRUM src/Dodge/Data/Item/Combine.hs 36;" C -STOPWATCH src/Dodge/Data/Item/Combine.hs 122;" C +STOPWATCH src/Dodge/Data/Item/Combine.hs 121;" C SameConstr src/SameConstr.hs 5;" m Save src/Dodge/Save.hs 1;" m SaveSlot src/Dodge/Data/SaveSlot.hs 9;" t @@ -1836,15 +1834,15 @@ 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 TELEPORTMODULE src/Dodge/Data/Item/Combine.hs 72;" C -TESLAGUN src/Dodge/Data/Item/Combine.hs 155;" C +TESLAGUN src/Dodge/Data/Item/Combine.hs 154;" C THERMOMETER src/Dodge/Data/Item/Combine.hs 62;" C THREELINES src/Dodge/Data/GenParams.hs 20;" C TIMEMODULE src/Dodge/Data/Item/Combine.hs 73;" C TIN src/Dodge/Data/Item/Combine.hs 35;" C TINMAG src/Dodge/Data/Item/Combine.hs 87;" C TO src/Shader/Data.hs 59;" t -TORCH src/Dodge/Data/Item/Combine.hs 163;" C -TRACTORGUN src/Dodge/Data/Item/Combine.hs 157;" C +TORCH src/Dodge/Data/Item/Combine.hs 162;" C +TRACTORGUN src/Dodge/Data/Item/Combine.hs 156;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 42;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 48;" C TSbackspace src/Dodge/Data/Input.hs 62;" C @@ -2041,7 +2039,7 @@ VAO src/Shader/Data.hs 64;" t VBO src/Shader/Data.hs 81;" t VF src/Polyhedra/Data.hs 21;" t VIOLET src/Color/Data.hs 22;" C -VOLLEYGUN src/Dodge/Data/Item/Combine.hs 140;" C +VOLLEYGUN src/Dodge/Data/Item/Combine.hs 139;" C Vector src/Geometry/Vector.hs 3;" m Vector3D src/Geometry/Vector3D.hs 2;" m VertexAttribute src/Shader/Data.hs 68;" t @@ -2056,12 +2054,12 @@ Vision src/Dodge/Data/Creature/Perception.hs 41;" t Vocalization src/Dodge/Data/Creature/Misc.hs 27;" t Vocalization src/Dodge/Creature/Vocalization.hs 1;" m Volition src/Dodge/Creature/Volition.hs 2;" m -WALLDETECTOR src/Dodge/Data/Item/Combine.hs 172;" C +WALLDETECTOR src/Dodge/Data/Item/Combine.hs 171;" C WASD src/Dodge/WASD.hs 1;" m WHITE src/Color/Data.hs 27;" C WIRE src/Dodge/Data/Item/Combine.hs 64;" C WRISTARMOUR src/Dodge/Data/Item/Combine.hs 104;" C -WRIST_ECG src/Dodge/Data/Item/Combine.hs 117;" C +WRIST_ECG src/Dodge/Data/Item/Combine.hs 116;" C WaitThen src/Dodge/Data/ActionPlan.hs 103;" C WalkCycle src/Dodge/Creature/State/WalkCycle.hs 1;" m Walking src/Dodge/Data/Creature/Stance.hs 21;" C @@ -2498,15 +2496,14 @@ _emoMenuOption src/Dodge/Data/Universe.hs 73;" f _energyBalls src/Dodge/Data/LWorld.hs 107;" f _eparamID src/Dodge/Data/Item/Use/Equipment.hs 30;" f _eparamInt src/Dodge/Data/Item/Use/Equipment.hs 31;" f -_euseAmmoAmount src/Dodge/Data/Item/HeldUse.hs 32;" f -_euseAmmoLink src/Dodge/Data/Item/HeldUse.hs 34;" f -_euseAmmoMax src/Dodge/Data/Item/HeldUse.hs 33;" f -_euseBatteryAmount src/Dodge/Data/Item/HeldUse.hs 30;" f -_euseBatteryMax src/Dodge/Data/Item/HeldUse.hs 30;" f -_euseCamouflageStatus src/Dodge/Data/Item/HeldUse.hs 26;" f -_euseDetector src/Dodge/Data/Item/HeldUse.hs 22;" f -_euseFuelAmount src/Dodge/Data/Item/HeldUse.hs 29;" f -_euseFuelMax src/Dodge/Data/Item/HeldUse.hs 29;" f +_euseAmmoAmount src/Dodge/Data/Item/HeldUse.hs 30;" f +_euseAmmoLink src/Dodge/Data/Item/HeldUse.hs 32;" f +_euseAmmoMax src/Dodge/Data/Item/HeldUse.hs 31;" f +_euseBatteryAmount src/Dodge/Data/Item/HeldUse.hs 28;" f +_euseBatteryMax src/Dodge/Data/Item/HeldUse.hs 28;" f +_euseCamouflageStatus src/Dodge/Data/Item/HeldUse.hs 24;" f +_euseFuelAmount src/Dodge/Data/Item/HeldUse.hs 27;" f +_euseFuelMax src/Dodge/Data/Item/HeldUse.hs 27;" 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 @@ -3278,9 +3275,9 @@ _wpMaxCharge src/Dodge/Data/Item/Use/Consumption.hs 34;" f _wsBlock src/Dodge/Data/Wall.hs 52;" f _wsDoor src/Dodge/Data/Wall.hs 50;" f _wsMachine src/Dodge/Data/Wall.hs 51;" f -_xNum src/Dodge/Data/Item/Combine.hs 131;" f -_xNum src/Dodge/Data/Item/Combine.hs 138;" f -_xNum src/Dodge/Data/Item/Combine.hs 159;" f +_xNum src/Dodge/Data/Item/Combine.hs 130;" f +_xNum src/Dodge/Data/Item/Combine.hs 137;" f +_xNum src/Dodge/Data/Item/Combine.hs 158;" f aDroneWithItemParams src/Dodge/Item/Weapon/Drone.hs 30;" f aFlame src/Dodge/Gas.hs 18;" f aFlameParticle src/Dodge/Flame.hs 21;" f @@ -3335,7 +3332,7 @@ advanceScrollAmount src/Dodge/Update.hs 409;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f aimDelaySweep src/Dodge/Render/Picture.hs 239;" f -aimStanceInfo src/Dodge/Item/Info.hs 212;" f +aimStanceInfo src/Dodge/Item/Info.hs 211;" f aimTurn src/Dodge/Creature/YourControl.hs 142;" f aimingWeaponHandlePos src/Dodge/Item/HeldOffset.hs 69;" f aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 63;" f @@ -3362,23 +3359,23 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 243;" f -applyCME src/Dodge/HeldUse.hs 64;" f +applyCME src/Dodge/HeldUse.hs 68;" 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 79;" f +applyInvLock src/Dodge/HeldUse.hs 83;" f applyMagnetsToBul src/Dodge/Bullet.hs 36;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f -applyPastDamages src/Dodge/Creature/State.hs 132;" f +applyPastDamages src/Dodge/Creature/State.hs 133;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 98;" f +applyRecoil src/Dodge/HeldUse.hs 102;" f applyResFactor src/Dodge/Data/Config.hs 108;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 79;" f -applySidePush src/Dodge/HeldUse.hs 105;" f -applySoundCME src/Dodge/HeldUse.hs 89;" f +applySidePush src/Dodge/HeldUse.hs 109;" f +applySoundCME src/Dodge/HeldUse.hs 93;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 40;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f @@ -3386,7 +3383,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 116;" f +applyTorqueCME src/Dodge/HeldUse.hs 120;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -3436,28 +3433,28 @@ azure src/Color.hs 22;" f bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToLine src/Geometry/Bezier.hs 30;" f backpackCombinations src/Dodge/Combine/Combinations.hs 25;" f -backpackShape src/Dodge/Item/Draw/SPic.hs 96;" f +backpackShape src/Dodge/Item/Draw/SPic.hs 95;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f -bangConeShape src/Dodge/Item/Draw/SPic.hs 237;" f +bangConeShape src/Dodge/Item/Draw/SPic.hs 236;" f bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 382;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 496;" f bangStick src/Dodge/Item/Held/Stick.hs 17;" f barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f -baseAMRShape src/Dodge/Item/Draw/SPic.hs 347;" f +baseAMRShape src/Dodge/Item/Draw/SPic.hs 346;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f -baseCaneShape src/Dodge/Item/Draw/SPic.hs 257;" f +baseCaneShape src/Dodge/Item/Draw/SPic.hs 256;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 45;" f basePCI src/Dodge/Item/Grammar.hs 107;" f -baseRifleShape src/Dodge/Item/Draw/SPic.hs 260;" f -baseRodShape src/Dodge/Item/Draw/SPic.hs 344;" f -baseSMGShape src/Dodge/Item/Draw/SPic.hs 327;" f +baseRifleShape src/Dodge/Item/Draw/SPic.hs 259;" f +baseRodShape src/Dodge/Item/Draw/SPic.hs 343;" f +baseSMGShape src/Dodge/Item/Draw/SPic.hs 326;" f baseShoulder src/Dodge/Creature/Picture.hs 128;" f -baseStickShape src/Dodge/Item/Draw/SPic.hs 234;" f -baseStickShapeX src/Dodge/Item/Draw/SPic.hs 229;" f +baseStickShape src/Dodge/Item/Draw/SPic.hs 233;" f +baseStickShapeX src/Dodge/Item/Draw/SPic.hs 228;" f baseStickSpread src/Dodge/Item/Held/Stick.hs 28;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 37;" f @@ -3468,7 +3465,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 34;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 214;" f +basicMuzFlare src/Dodge/HeldUse.hs 218;" f basicTerminal src/Dodge/Terminal.hs 35;" f battery src/Dodge/Item/Ammo.hs 96;" f batteryPack src/Dodge/Item/Equipment.hs 57;" f @@ -3553,7 +3550,7 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 289;" f centroid src/Geometry/Polygon.hs 130;" f centroidNum src/Geometry/Polygon.hs 133;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f -chainLinkOrientation src/Dodge/Creature/State.hs 263;" f +chainLinkOrientation src/Dodge/Creature/State.hs 268;" f chainPairs src/Geometry.hs 363;" f changeSwapOther src/Dodge/Inventory.hs 150;" f changeSwapSel src/Dodge/Inventory.hs 142;" f @@ -3570,7 +3567,7 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 105;" f checkConnection src/Dodge/Inventory/Swap.hs 80;" f -checkDeath src/Dodge/Creature/State.hs 75;" f +checkDeath src/Dodge/Creature/State.hs 76;" f checkEndGame src/Dodge/Update.hs 693;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -3678,7 +3675,7 @@ connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f -consumableInfo src/Dodge/Item/Info.hs 132;" f +consumableInfo src/Dodge/Item/Info.hs 131;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f convexHull src/Geometry/Polygon.hs 104;" f convexHullSafe src/Geometry/Polygon.hs 111;" f @@ -3687,9 +3684,9 @@ copyItemToFloor src/Dodge/FloorItem.hs 18;" f copyItemToFloorID src/Dodge/FloorItem.hs 22;" f corDoor src/Dodge/Room/Room.hs 376;" f cornerList src/Preload/Render.hs 195;" f -corpseOrGib src/Dodge/Creature/State.hs 94;" f +corpseOrGib src/Dodge/Creature/State.hs 95;" f corridor src/Dodge/Room/Corridor.hs 17;" f -corridorBoss src/Dodge/LockAndKey.hs 134;" f +corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorN src/Dodge/Room/Corridor.hs 52;" f corridorWallN src/Dodge/Room/Corridor.hs 71;" f crAdd src/Dodge/Room/RezBox.hs 104;" f @@ -3719,25 +3716,25 @@ crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f crSpring src/Dodge/Update.hs 759;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f -crUpdate src/Dodge/Creature/State.hs 61;" f +crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f crZoneSize src/Dodge/Zoning/Creature.hs 39;" f -craftInfo src/Dodge/Item/Info.hs 137;" f +craftInfo src/Dodge/Item/Info.hs 136;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 434;" f createArc src/Dodge/Tesla/Arc.hs 67;" f createBarrelSpark src/Dodge/Spark.hs 44;" f createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 8;" f -createHeadLamp src/Dodge/Euse.hs 158;" f +createHeadLamp src/Dodge/Euse.hs 153;" f createItemYou src/Dodge/Inventory/Add.hs 94;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 518;" f +createProjectile src/Dodge/HeldUse.hs 525;" f createShell src/Dodge/Projectile/Create.hs 19;" f -createShieldWall src/Dodge/Euse.hs 133;" f +createShieldWall src/Dodge/Euse.hs 128;" 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 @@ -3844,7 +3841,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 462;" f dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 328;" f defDamageMaterial src/Dodge/Material/Damage.hs 17;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f -defSPic src/Dodge/Item/Draw/SPic.hs 243;" f +defSPic src/Dodge/Item/Draw/SPic.hs 242;" f defaultAimMvType src/Dodge/Default/Creature.hs 122;" f defaultAimParams src/Dodge/Default/Item/Use/AimParams.hs 9;" f defaultAimingCrit src/Dodge/Default/Creature.hs 131;" f @@ -3935,10 +3932,10 @@ destroyMount src/Dodge/Block.hs 104;" f destroyMounts src/Dodge/Block.hs 101;" f destroyProjectile src/Dodge/Projectile/Update.hs 63;" f detV src/Geometry/Vector.hs 93;" f -detectorColor src/Dodge/Item/Draw/SPic.hs 393;" f +detectorColor src/Dodge/Item/Draw/SPic.hs 392;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f -detectorInfo src/Dodge/Item/Info.hs 192;" f -determineProjectileTracking src/Dodge/HeldUse.hs 507;" f +detectorInfo src/Dodge/Item/Info.hs 191;" f +determineProjectileTracking src/Dodge/HeldUse.hs 514;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 53;" f diffAngles src/Geometry.hs 196;" f @@ -3957,7 +3954,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 225;" f displayIndents src/Dodge/DisplayInventory.hs 123;" f -displayPulse src/Dodge/Item/Display.hs 114;" f +displayPulse src/Dodge/Item/Display.hs 100;" f displaySectionsSizes src/Dodge/DisplayInventory.hs 118;" f displayTerminalLineString src/Dodge/Update.hs 438;" f dist src/Geometry/Vector.hs 179;" f @@ -3984,7 +3981,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f doCrWdAc src/Dodge/CreatureEffect.hs 77;" f doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f -doDamage src/Dodge/Creature/State.hs 126;" f +doDamage src/Dodge/Creature/State.hs 127;" f doDamagesFL src/Dodge/Flame.hs 57;" f doDeathToggle src/Dodge/WorldEffect.hs 87;" f doDeathTriggers src/Dodge/WorldEffect.hs 82;" f @@ -3993,7 +3990,7 @@ doDrag src/Dodge/Update/Input/InGame.hs 98;" f doDrawing src/Dodge/Render.hs 35;" f doDrawing' src/Dodge/Render.hs 46;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f -doGenFloat src/Dodge/HeldUse.hs 462;" f +doGenFloat src/Dodge/HeldUse.hs 469;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 26;" f @@ -4042,7 +4039,7 @@ doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 25;" f -doWeaponRepetitions src/Dodge/HeldUse.hs 55;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 59;" f doWorldEvents src/Dodge/Update.hs 420;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f @@ -4058,7 +4055,7 @@ doublePairSet src/Geometry.hs 153;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f doubleV2 src/Geometry.hs 156;" f drawAllShadows src/Dodge/Shadows.hs 5;" f -drawAugmentedHUD src/Dodge/Creature/State.hs 290;" f +drawAugmentedHUD src/Dodge/Creature/State.hs 295;" f drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 13;" f @@ -4178,7 +4175,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 329;" f drawZoneCol src/Dodge/Debug/Picture.hs 117;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f -dropByState src/Dodge/Creature/State.hs 120;" f +dropByState src/Dodge/Creature/State.hs 121;" f dropExcept src/Dodge/Creature/Action.hs 171;" f dropItem src/Dodge/Creature/Action.hs 177;" f drumMag src/Dodge/Item/Ammo.hs 48;" f @@ -4214,10 +4211,10 @@ equipAllocString src/Dodge/Render/HUD.hs 295;" f equipInfo src/Dodge/Item/Info.hs 104;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 66;" f equipPosition src/Dodge/Item/Draw.hs 30;" f -equipSiteInfo src/Dodge/Item/Info.hs 222;" f +equipSiteInfo src/Dodge/Item/Info.hs 221;" f equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f -equipmentEffects src/Dodge/Creature/State.hs 159;" f +equipmentEffects src/Dodge/Creature/State.hs 160;" f equipmentStrValue src/Dodge/Creature/Statistics.hs 22;" f errorAngleVV src/Geometry.hs 62;" f errorClosestPointOnLine src/Geometry.hs 74;" f @@ -4279,12 +4276,12 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 29;" f flameThrower src/Dodge/Item/Held/SprayGuns.hs 72;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 40;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 56;" f -flamerPic src/Dodge/Item/Draw/SPic.hs 330;" f -flareCircleAt src/Dodge/HeldUse.hs 195;" f +flamerPic src/Dodge/Item/Draw/SPic.hs 329;" f +flareCircleAt src/Dodge/HeldUse.hs 199;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 49;" f flatLookupItems src/Dodge/Combine.hs 38;" f flatShield src/Dodge/Item/Held/Utility.hs 9;" f -flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 380;" f +flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 379;" f fleeFrom src/Dodge/CreatureEffect.hs 120;" f fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f @@ -4305,7 +4302,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 408;" f -foldCr src/Dodge/Creature/State.hs 43;" f +foldCr src/Dodge/Creature/State.hs 44;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f followImpulse src/Dodge/Creature/Impulse.hs 37;" f @@ -4347,7 +4344,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameplayMenu src/Dodge/Menu.hs 131;" f gameplayMenuOptions src/Dodge/Menu.hs 134;" f -gasCreate src/Dodge/HeldUse.hs 459;" f +gasCreate src/Dodge/HeldUse.hs 466;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4362,8 +4359,8 @@ getAmmoLinks src/Dodge/Item/Grammar.hs 81;" f getArguments src/Dodge/Update/Scroll.hs 152;" f getArguments' src/Dodge/Update/Scroll.hs 140;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f -getBulletTrajectory src/Dodge/HeldUse.hs 364;" f -getBulletType src/Dodge/HeldUse.hs 338;" f +getBulletTrajectory src/Dodge/HeldUse.hs 371;" f +getBulletType src/Dodge/HeldUse.hs 345;" f getCommands src/Dodge/Terminal.hs 117;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f getCrDexterity src/Dodge/Creature/Statistics.hs 13;" f @@ -4372,9 +4369,9 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 16;" f getDamageCoding src/Dodge/Terminal.hs 177;" f getDistortions src/Dodge/Render.hs 383;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f -getLaserColor src/Dodge/HeldUse.hs 211;" f -getLaserDamage src/Dodge/HeldUse.hs 208;" f -getLaserPhaseV src/Dodge/HeldUse.hs 205;" f +getLaserColor src/Dodge/HeldUse.hs 215;" f +getLaserDamage src/Dodge/HeldUse.hs 212;" f +getLaserPhaseV src/Dodge/HeldUse.hs 209;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 367;" f @@ -4437,7 +4434,7 @@ 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/HeldUse.hs 37;" f +hammerCheck src/Dodge/HeldUse.hs 41;" f hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 151;" f handleEvent src/Dodge/Event.hs 27;" f handleHotkeys src/Dodge/Creature/YourControl.hs 40;" f @@ -4457,7 +4454,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 215;" f hat src/Dodge/Item/Equipment.hs 95;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 101;" f -headLampShape src/Dodge/Item/Draw/SPic.hs 383;" f +headLampShape src/Dodge/Item/Draw/SPic.hs 382;" f headMap src/Dodge/DoubleTree.hs 170;" f heal src/Dodge/Item/Consumable.hs 17;" f heal25 src/Dodge/Item/Consumable.hs 14;" f @@ -4466,14 +4463,15 @@ healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 72;" f healthTest src/Dodge/Room/LasTurret.hs 93;" f heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 37;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f -heldEffect src/Dodge/HeldUse.hs 34;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 44;" f +heldEffect src/Dodge/HeldUse.hs 35;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 48;" f +heldEffectNoHammerCheck src/Dodge/HeldUse.hs 38;" f heldInfo src/Dodge/Item/Info.hs 49;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 78;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 26;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 31;" f -heldItemSPic src/Dodge/Item/Draw/SPic.hs 175;" f -heldPositionInfo src/Dodge/Item/Info.hs 209;" f +heldItemSPic src/Dodge/Item/Draw/SPic.hs 174;" f +heldPositionInfo src/Dodge/Item/Info.hs 208;" f helpCommand src/Dodge/Terminal.hs 66;" f helpPoly3D src/Polyhedra.hs 125;" f heron src/Geometry.hs 221;" f @@ -4540,7 +4538,7 @@ insertWall src/Dodge/Placement/PlaceSpot/Block.hs 122;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f insertWithNewKeys src/IntMapHelp.hs 70;" f -internalCreatureUpdate src/Dodge/Creature/State.hs 110;" f +internalCreatureUpdate src/Dodge/Creature/State.hs 111;" f interpWith src/Dodge/Creature/Boid.hs 10;" f intersectCircSeg src/Geometry/Intersect.hs 303;" f intersectCircSegFirst src/Geometry/Intersect.hs 314;" f @@ -4565,14 +4563,14 @@ invCursorParams src/Dodge/ListDisplayParams.hs 36;" f invDP src/Dodge/ListDisplayParams.hs 30;" f invDimColor src/Dodge/DisplayInventory.hs 219;" f invHead src/Dodge/Render/HUD.hs 391;" f -invItemLocUpdate src/Dodge/Creature/State.hs 177;" f +invItemLocUpdate src/Dodge/Creature/State.hs 178;" f invLDT src/Dodge/Item/Grammar.hs 183;" f -invRootItemEffs src/Dodge/Creature/State.hs 170;" f +invRootItemEffs src/Dodge/Creature/State.hs 171;" f invRootMap src/Dodge/Item/Grammar.hs 192;" f invRootTrees src/Dodge/Item/Grammar.hs 213;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f -invSideEff src/Dodge/Creature/State.hs 164;" f +invSideEff src/Dodge/Creature/State.hs 165;" f invSize src/Dodge/Inventory/CheckSlots.hs 31;" f inventoryX src/Dodge/Creature.hs 116;" f inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f @@ -4585,13 +4583,13 @@ invertIntMap src/Multiset.hs 67;" f invertInventoryToMap src/Dodge/Combine.hs 56;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 222;" f +isAmmoIntLink src/Dodge/HeldUse.hs 226;" f isAnimate src/Dodge/Creature/Test.hs 136;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 90;" f isElectrical src/Dodge/Data/Damage.hs 42;" f -isFrictionless src/Dodge/Creature/State.hs 444;" f -isGas src/Dodge/Euse.hs 63;" f +isFrictionless src/Dodge/Creature/State.hs 449;" f +isGas src/Dodge/Euse.hs 58;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 169;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f isJust' src/MaybeHelp.hs 29;" f @@ -4620,7 +4618,7 @@ itemBaseName src/Dodge/Item/Display.hs 45;" f itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 54;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f -itemDetectorEffect src/Dodge/HeldUse.hs 247;" f +itemDetectorEffect src/Dodge/HeldUse.hs 251;" f itemDisplay src/Dodge/Item/Display.hs 16;" f itemDisplayPad src/Dodge/Item/Display.hs 29;" f itemEquipPict src/Dodge/Item/Draw.hs 17;" f @@ -4630,24 +4628,24 @@ itemFromBase src/Dodge/Item.hs 21;" f itemFromConsumableType src/Dodge/Item.hs 51;" f itemFromEquipType src/Dodge/Item.hs 56;" f itemFromHeldType src/Dodge/Item/Held.hs 25;" f -itemFromLeftType src/Dodge/Item.hs 77;" f +itemFromLeftType src/Dodge/Item.hs 76;" f itemInfo src/Dodge/Item/Info.hs 13;" f itemInvColor src/Dodge/Item/InventoryColor.hs 11;" f -itemNumberDisplay src/Dodge/Item/Display.hs 96;" f -itemRooms src/Dodge/LockAndKey.hs 40;" f +itemNumberDisplay src/Dodge/Item/Display.hs 82;" f +itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f itemString src/Dodge/Item/Display.hs 42;" f itemToBreakLists src/Dodge/Item/Grammar.hs 50;" f itemToFunction src/Dodge/Item/Grammar.hs 87;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f -itemUpdate src/Dodge/Creature/State.hs 416;" f +itemUpdate src/Dodge/Creature/State.hs 421;" f iterateUntil src/MonadHelp.hs 23;" f iterateWhile src/MonadHelp.hs 30;" f itmBaseInfo src/Dodge/Item/Info.hs 23;" f -itmEquipSiteInfo src/Dodge/Item/Info.hs 219;" f +itmEquipSiteInfo src/Dodge/Item/Info.hs 218;" f itmSpaceInfo src/Dodge/Item/Info.hs 18;" f -itmUsageInfo src/Dodge/Item/Info.hs 198;" f +itmUsageInfo src/Dodge/Item/Info.hs 197;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f joinItemsInList src/Dodge/Item/Grammar.hs 173;" f @@ -4663,8 +4661,8 @@ k src/ShortShow.hs 34;" f keyCard src/Dodge/Item/Held/Utility.hs 19;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 69;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 57;" f -keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f -keyPic src/Dodge/Item/Draw/SPic.hs 399;" f +keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f +keyPic src/Dodge/Item/Draw/SPic.hs 398;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 470;" f lConnect src/Dodge/Render/Connectors.hs 42;" f @@ -4676,8 +4674,8 @@ lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 58;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f -lasGunPic src/Dodge/Item/Draw/SPic.hs 353;" f -lasRayAt src/Dodge/HeldUse.hs 315;" f +lasGunPic src/Dodge/Item/Draw/SPic.hs 352;" f +lasRayAt src/Dodge/HeldUse.hs 322;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f lasTunnel src/Dodge/Room/LasTurret.hs 124;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f @@ -4688,7 +4686,7 @@ lastMap src/Dodge/DoubleTree.hs 174;" f latchkey src/Dodge/Item/Held/Utility.hs 22;" f launcher src/Dodge/Item/Held/Launcher.hs 12;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f -launcherPic src/Dodge/Item/Draw/SPic.hs 333;" f +launcherPic src/Dodge/Item/Draw/SPic.hs 332;" f launcherX src/Dodge/Item/Held/Launcher.hs 29;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 72;" f @@ -4704,10 +4702,10 @@ ldtToLoc src/Dodge/DoubleTree.hs 187;" f left src/DoubleStack.hs 16;" f leftInfo src/Dodge/Item/Info.hs 94;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 143;" f -leftItemSPic src/Dodge/Item/Draw/SPic.hs 99;" f +leftItemSPic src/Dodge/Item/Draw/SPic.hs 98;" f leftPad src/Padding.hs 14;" f leftRightCombine src/Dodge/Item/Grammar.hs 157;" f -legsSPic src/Dodge/Item/Draw/SPic.hs 417;" f +legsSPic src/Dodge/Item/Draw/SPic.hs 416;" f liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 44;" f @@ -4742,7 +4740,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 380;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f -loadMuzzle src/Dodge/HeldUse.hs 133;" f +loadMuzzle src/Dodge/HeldUse.hs 137;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4758,7 +4756,7 @@ locToTop src/Dodge/DoubleTree.hs 198;" f locUp src/Dodge/DoubleTree.hs 191;" f lockInv src/Dodge/Inventory/Lock.hs 6;" f lockInvFor src/Dodge/Item/Weapon/TriggerType.hs 50;" f -lockRoomKeyItems src/Dodge/LockAndKey.hs 26;" f +lockRoomKeyItems src/Dodge/LockAndKey.hs 25;" f lockRoomMultiItems src/Dodge/LockAndKey.hs 15;" f lockedStart src/Dodge/Room/RunPast.hs 34;" f logistic src/Dodge/Base.hs 90;" f @@ -4797,7 +4795,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 51;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 397;" f +makeBullet src/Dodge/HeldUse.hs 404;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -4823,7 +4821,7 @@ makeFragBullets src/Dodge/Bullet.hs 107;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 153;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 157;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f @@ -4868,7 +4866,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 583;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f -maybeWarmupStatus src/Dodge/Item/Display.hs 128;" f +maybeWarmupStatus src/Dodge/Item/Display.hs 115;" f mcApplyDamage src/Dodge/Machine/Update.hs 108;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f @@ -4878,10 +4876,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 124;" f mcSPic src/Dodge/Render/ShapePicture.hs 132;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 87;" f mcSensorUpdate src/Dodge/Machine/Update.hs 119;" f -mcShootLaser src/Dodge/HeldUse.hs 486;" f +mcShootLaser src/Dodge/HeldUse.hs 493;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f -mcUseHeld src/Dodge/HeldUse.hs 423;" f +mcUseHeld src/Dodge/HeldUse.hs 430;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 84;" f @@ -4921,8 +4919,8 @@ minOn src/FoldableHelp.hs 35;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 334;" f miniGunCrit src/Dodge/Creature.hs 62;" f miniGunX src/Dodge/Item/Held/Cane.hs 81;" f -miniGunXPict src/Dodge/Item/Draw/SPic.hs 308;" f -miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 303;" f +miniGunXPict src/Dodge/Item/Draw/SPic.hs 307;" f +miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 302;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f miniTree2 src/Dodge/Room/Room.hs 106;" f minimumOn src/FoldlHelp.hs 12;" f @@ -4974,7 +4972,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 181;" f +muzFlareAt src/Dodge/HeldUse.hs 185;" 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 @@ -5029,8 +5027,8 @@ numTraversable src/TreeHelp.hs 183;" f obstacleColor src/Dodge/Debug/Picture.hs 227;" f obstructPathsCrossing src/Dodge/Path.hs 138;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f -onEquipWristShield src/Dodge/Euse.hs 82;" f -onRemoveWristShield src/Dodge/Euse.hs 91;" f +onEquipWristShield src/Dodge/Euse.hs 77;" f +onRemoveWristShield src/Dodge/Euse.hs 86;" f onXY src/Geometry/Vector3D.hs 130;" f oneH src/Dodge/Creature/Test.hs 95;" f openCursorAt src/Dodge/Render/HUD/Carte.hs 54;" f @@ -5057,7 +5055,7 @@ orthogonalPointOnSeg src/Geometry/Intersect.hs 291;" f outLink src/Dodge/RoomLink.hs 105;" f outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f outwardIntegers src/Dodge/Base.hs 159;" f -overCID src/Dodge/Euse.hs 172;" f +overCID src/Dodge/Euse.hs 167;" f overCol src/Picture/Base.hs 308;" f overColObj src/Shape.hs 271;" f overColSH src/Shape.hs 239;" f @@ -5181,7 +5179,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 14;" f pointerYourRootItem src/Dodge/Item/Location.hs 31;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 25;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f -poisonSPic src/Dodge/Creature/State.hs 107;" f +poisonSPic src/Dodge/Creature/State.hs 108;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 516;" f pokeArrayOff src/Shader/Poke.hs 527;" f @@ -5381,11 +5379,11 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 440;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteScreen src/Dodge/Item/Scope.hs 50;" f remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 325;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 332;" f removeDot src/ShortShow.hs 30;" f removeHotkey src/Dodge/Hotkey.hs 41;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f -removeShieldWall src/Dodge/Euse.hs 151;" f +removeShieldWall src/Dodge/Euse.hs 146;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f renderDataResizeUpdate src/Preload/Update.hs 26;" f renderFlatLighting src/Render.hs 104;" f @@ -5515,7 +5513,7 @@ scaleSH src/Shape.hs 267;" f scalp src/Dodge/Creature/Picture.hs 93;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 68;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/State.hs 104;" f +scorchSPic src/Dodge/Creature/State.hs 105;" f screenBox src/Dodge/Base/Window.hs 53;" f screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f @@ -5591,7 +5589,7 @@ setOldPos src/Dodge/Update.hs 462;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f -setRBCreatureTargeting src/Dodge/Creature/State.hs 395;" f +setRBCreatureTargeting src/Dodge/Creature/State.hs 400;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 316;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 85;" f setShaderSource src/Shader/Compile.hs 290;" f @@ -5605,7 +5603,7 @@ setViewDistance src/Dodge/Update/Camera.hs 221;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 61;" f setViewport src/Dodge/Render.hs 388;" f setVol src/Dodge/Config/Update.hs 30;" f -setWristShieldPos src/Dodge/Euse.hs 99;" f +setWristShieldPos src/Dodge/Euse.hs 94;" f setupConLoop src/Loop.hs 102;" f setupConLoop' src/Loop.hs 192;" f setupEBO src/Shader/Compile.hs 188;" f @@ -5630,14 +5628,14 @@ shapeVerxAttributes src/Shape/Parameters.hs 13;" f shapeVerxSize src/Shape/Parameters.hs 10;" f shardShape src/Dodge/Block/Debris.hs 181;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f -shatterGunSPic src/Dodge/Item/Draw/SPic.hs 246;" f +shatterGunSPic src/Dodge/Item/Draw/SPic.hs 245;" 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 shellMag src/Dodge/Item/Ammo.hs 67;" f shellShape src/Dodge/Projectile/Draw.hs 27;" f shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f -shieldWall src/Dodge/Euse.hs 113;" f +shieldWall src/Dodge/Euse.hs 108;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 67;" f @@ -5658,17 +5656,17 @@ shiftRoomBy src/Dodge/Room/Link.hs 37;" f shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftedGrid src/Grid.hs 25;" f -shineTargetLaser src/Dodge/Creature/State.hs 295;" f -shineTorch src/Dodge/Creature/State.hs 337;" f -shootBullet src/Dodge/HeldUse.hs 384;" f +shineTargetLaser src/Dodge/Creature/State.hs 300;" f +shineTorch src/Dodge/Creature/State.hs 342;" f +shootBullet src/Dodge/HeldUse.hs 391;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootL src/Dodge/Item/Weapon/TriggerType.hs 165;" f -shootLaser src/Dodge/HeldUse.hs 295;" f +shootLaser src/Dodge/HeldUse.hs 302;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 495;" f +shootTeslaArc src/Dodge/HeldUse.hs 502;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 274;" f +shootTractorBeam src/Dodge/HeldUse.hs 281;" 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 @@ -5682,7 +5680,7 @@ shoulderSP src/Dodge/Creature/HandPos.hs 170;" f showAttachItem src/Dodge/Item/Display.hs 61;" f showAutoRechargeProgress src/Dodge/Item/Display.hs 75;" f showEquipItem src/Dodge/Item/Display.hs 70;" f -showEquipmentNumber src/Dodge/Item/Display.hs 119;" f +showEquipmentNumber src/Dodge/Item/Display.hs 106;" f showInt src/Dodge/Item/Info.hs 32;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f showManObj src/Dodge/TestString.hs 72;" f @@ -5728,7 +5726,7 @@ smg src/Dodge/Item/Held/Stick.hs 61;" f smokeCloudAt src/Dodge/WorldEvent/Cloud.hs 41;" f sndV2 src/Geometry/Data.hs 52;" f sniperRifle src/Dodge/Item/Held/Rod.hs 54;" f -someCrits src/Dodge/LockAndKey.hs 121;" f +someCrits src/Dodge/LockAndKey.hs 120;" f soundAngle src/Dodge/SoundLogic.hs 157;" f soundContinue src/Dodge/SoundLogic.hs 125;" f soundContinueVol src/Dodge/SoundLogic.hs 139;" f @@ -5797,7 +5795,7 @@ ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 98;" f stackPicturesAtOff src/Dodge/Render/List.hs 101;" f stackText src/Picture/Base.hs 188;" f -stackedInventory src/Dodge/Creature.hs 286;" f +stackedInventory src/Dodge/Creature.hs 279;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f startDrag src/Dodge/Update/Input/InGame.hs 256;" f @@ -5881,11 +5879,11 @@ terminalScreenGlow src/Dodge/Machine/Update.hs 34;" f terminalShape src/Dodge/Machine/Draw.hs 32;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 78;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f -teslaGunPic src/Dodge/Item/Draw/SPic.hs 350;" f +teslaGunPic src/Dodge/Item/Draw/SPic.hs 349;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f testEvent src/Dodge/Event/Test.hs 10;" f -testInventory src/Dodge/Creature.hs 262;" f +testInventory src/Dodge/Creature.hs 256;" f testStringInit src/Dodge/TestString.hs 26;" f text src/Picture/Base.hs 193;" f textGrad src/Picture/Text.hs 5;" f @@ -5949,14 +5947,14 @@ topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f topTestPart src/Dodge/TestString.hs 68;" f torch src/Dodge/Item/Held/Utility.hs 25;" f -torchShape src/Dodge/Item/Draw/SPic.hs 215;" f +torchShape src/Dodge/Item/Draw/SPic.hs 214;" f torqueCr src/Dodge/WorldEffect.hs 63;" f torso src/Dodge/Creature/Picture.hs 102;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 284;" f +tractorBeamAt src/Dodge/HeldUse.hs 291;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f -tractorGunPic src/Dodge/Item/Draw/SPic.hs 377;" f +tractorGunPic src/Dodge/Item/Draw/SPic.hs 376;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 124;" f @@ -6008,9 +6006,9 @@ truncFaces src/Polyhedra/Geodesic.hs 53;" f truncate src/Polyhedra/Geodesic.hs 38;" f trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 84;" f -tryAttachBulletBelt src/Dodge/Euse.hs 39;" f +tryAttachBulletBelt src/Dodge/Euse.hs 34;" f tryAttachItems src/Dodge/Item/Grammar.hs 21;" f -tryChargeBattery src/Dodge/Euse.hs 42;" f +tryChargeBattery src/Dodge/Euse.hs 37;" f tryCombine src/Dodge/Update/Input/InGame.hs 569;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 114;" f tryGetChannel src/Sound.hs 96;" f @@ -6023,10 +6021,10 @@ 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 -trySiphonFuel src/Dodge/Euse.hs 45;" f +trySiphonFuel src/Dodge/Euse.hs 40;" f trySpinByCID src/Dodge/Projectile/Update.hs 95;" f -trySynthBullet src/Dodge/Creature/State.hs 191;" f -tryUseParent src/Dodge/Creature/State.hs 188;" f +trySynthBullet src/Dodge/Creature/State.hs 196;" f +tryUseParent src/Dodge/Creature/State.hs 189;" f turnTo src/Dodge/Movement/Turn.hs 4;" f turnToAmount src/Dodge/Movement/Turn.hs 15;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 16;" f @@ -6060,8 +6058,8 @@ upHammer src/Dodge/Default.hs 75;" f upProjectile src/Dodge/Projectile/Update.hs 26;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f -updateAttachedItems src/Dodge/Creature/State.hs 253;" f -updateAutoRecharge src/Dodge/Creature/State.hs 427;" f +updateAttachedItems src/Dodge/Creature/State.hs 258;" f +updateAutoRecharge src/Dodge/Creature/State.hs 432;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 455;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f @@ -6095,17 +6093,17 @@ updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 346;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 339;" f updateGusts src/Dodge/Update.hs 704;" f -updateHeldRootItem src/Dodge/Creature/State.hs 247;" f +updateHeldRootItem src/Dodge/Creature/State.hs 252;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 498;" f updateIMl' src/Dodge/Update.hs 503;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 399;" f updateInstantBullets src/Dodge/Update.hs 642;" f -updateInv src/Dodge/Creature/State.hs 154;" f +updateInv src/Dodge/Creature/State.hs 155;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f -updateItemTargeting src/Dodge/Creature/State.hs 364;" f -updateItemWithOrientation src/Dodge/Creature/State.hs 273;" f +updateItemTargeting src/Dodge/Creature/State.hs 369;" f +updateItemWithOrientation src/Dodge/Creature/State.hs 278;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 393;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 381;" f updateLampoid src/Dodge/Lampoid.hs 12;" f @@ -6121,7 +6119,7 @@ updateMouseContextGame src/Dodge/Update.hs 315;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 87;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 79;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 142;" f -updateMovement src/Dodge/Creature/State.hs 434;" f +updateMovement src/Dodge/Creature/State.hs 439;" f updateObjCatMaybes src/Dodge/Update.hs 520;" f updateObjMapMaybe src/Dodge/Update.hs 513;" f updatePastWorlds src/Dodge/Update.hs 415;" f @@ -6195,16 +6193,16 @@ useBreakListsLinkTest src/Dodge/Item/Grammar.hs 35;" f useBulletPayload src/Dodge/Bullet.hs 96;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f -useE src/Dodge/Euse.hs 23;" f -useEquipment src/Dodge/Creature/State.hs 148;" f -useGasParams src/Dodge/HeldUse.hs 434;" f +useE src/Dodge/Euse.hs 20;" f +useEquipment src/Dodge/Creature/State.hs 149;" f +useGasParams src/Dodge/HeldUse.hs 441;" f useHotKey src/Dodge/Creature/YourControl.hs 47;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 116;" f useItemLeftClick src/Dodge/Creature/Impulse/UseItem.hs 92;" f useL src/Dodge/Luse.hs 11;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 226;" f -useMagShield src/Dodge/Euse.hs 68;" f +useLoadedAmmo src/Dodge/HeldUse.hs 230;" f +useMagShield src/Dodge/Euse.hs 63;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f useRewindGun src/Dodge/Luse.hs 39;" f @@ -6215,7 +6213,7 @@ useStopWatch src/Dodge/Luse.hs 21;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f -useUpdate src/Dodge/Creature/State.hs 419;" f +useUpdate src/Dodge/Creature/State.hs 424;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f v2z src/Geometry/Vector3D.hs 93;" f @@ -6245,9 +6243,9 @@ visibleWalls src/Dodge/Base/Collide.hs 123;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f volleyGun src/Dodge/Item/Held/Cane.hs 30;" f -volleyGunShape src/Dodge/Item/Draw/SPic.hs 291;" f +volleyGunShape src/Dodge/Item/Draw/SPic.hs 290;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f -walkNozzle src/Dodge/HeldUse.hs 252;" f +walkNozzle src/Dodge/HeldUse.hs 259;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/RadarSweep.hs 80;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 50;" f