diff --git a/src/Dodge/Bullet.hs b/src/Dodge/Bullet.hs index d8a6e8677..cc03bc1ad 100644 --- a/src/Dodge/Bullet.hs +++ b/src/Dodge/Bullet.hs @@ -32,6 +32,7 @@ updateBullet w bu return $ partspawn p p = _buPos bu +-- do we want this to drain energy from the deflection source? applyMagnetsToBul :: Bullet -> World -> Bullet applyMagnetsToBul bu = foldl' (flip doMagnetBuBu) bu . _oldMagnets . _lWorld . _cWorld diff --git a/src/Dodge/Data/Item/HeldUse.hs b/src/Dodge/Data/Item/HeldUse.hs index e604f281c..a5d60a3c5 100644 --- a/src/Dodge/Data/Item/HeldUse.hs +++ b/src/Dodge/Data/Item/HeldUse.hs @@ -6,6 +6,7 @@ module Dodge.Data.Item.HeldUse where --import Dodge.Data.Item.Use.Consumption.Ammo +import Dodge.Data.Magnet import Data.Aeson import Data.Aeson.TH import Control.Lens @@ -17,19 +18,11 @@ data Cuse data Euse = EDoNothing - | EMagShield + | EMagShield MagnetBuBu | EWristShield | EHeadLamp deriving (Eq, Ord, Show, Read) --Generic, Flat) ---data Luse --- = LDoNothing --- | LRewind --- | LTimePause --- | LTimeScroll --- deriving (Eq, Ord, Show, Read) --Generic, Flat) - makeLenses ''Euse deriveJSON defaultOptions ''Cuse deriveJSON defaultOptions ''Euse ---deriveJSON defaultOptions ''Luse diff --git a/src/Dodge/Euse.hs b/src/Dodge/Euse.hs index 14197bdb1..6191d2e56 100644 --- a/src/Dodge/Euse.hs +++ b/src/Dodge/Euse.hs @@ -35,21 +35,22 @@ useE :: LocationLDT ItemLink ComposedItem -> Creature -> World -> World useE loc cr = case eo of Nothing -> id Just EDoNothing -> id - Just EMagShield -> useMagShield itm cr + Just (EMagShield mt) -> useMagShield mt itm cr Just EWristShield -> setWristShieldPos itm cr Just EHeadLamp -> createHeadLamp itm cr where itm = loc ^. locLDT . ldtValue . _1 eo = itm ^? itUse . uequipEffect . eeUse -useMagShield :: Item -> Creature -> World -> World -useMagShield _ cr w = w & cWorld . lWorld . magnets .:~ themagnet +-- this should probably drain energy +useMagShield :: MagnetBuBu -> Item -> Creature -> World -> World +useMagShield mt _ cr w = w & cWorld . lWorld . magnets .:~ themagnet where themagnet = Magnet { _mgPos = _crPos cr --, _mgField = MagnetBuBuCurveAroundField 50 200 - , _mgField = MagnetDeflect + , _mgField = mt } onEquipWristShield :: Item -> Creature -> World -> World diff --git a/src/Dodge/Item/Equipment.hs b/src/Dodge/Item/Equipment.hs index 9350aaae0..97b130364 100644 --- a/src/Dodge/Item/Equipment.hs +++ b/src/Dodge/Item/Equipment.hs @@ -17,6 +17,7 @@ module Dodge.Item.Equipment ( pulseChecker, ) where +import Dodge.Data.Magnet import Dodge.Item.Weapon.Bullet import Geometry.Data import Dodge.Data.Item @@ -27,7 +28,7 @@ magShield :: Item magShield = defaultEquipment & itParams .~ MagShieldParams Nothing - & itUse . uequipEffect . eeUse .~ EMagShield + & itUse . uequipEffect . eeUse .~ EMagShield MagnetRepulse & itUse . uequipEffect . eeType .~ GoesOnWrist & itType .~ EQUIP MAGSHIELD diff --git a/tags b/tags index 13d5fed21..eb76bb342 100644 --- a/tags +++ b/tags @@ -245,10 +245,10 @@ ButtonSimpleSwith src/Dodge/Data/Button.hs 40;" C ButtonState src/Dodge/Data/Button.hs 63;" t CAMERA src/Dodge/Data/Item/Combine.hs 52;" C CAN src/Dodge/Data/Item/Combine.hs 33;" C -CDoNothing src/Dodge/Data/Item/HeldUse.hs 14;" C +CDoNothing src/Dodge/Data/Item/HeldUse.hs 15;" C CHARTREUSE src/Color/Data.hs 25;" C CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 82;" C -CHeal src/Dodge/Data/Item/HeldUse.hs 15;" 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 @@ -434,7 +434,7 @@ 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 13;" 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 154;" C @@ -594,14 +594,14 @@ DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Wall/Dust.hs 1;" m EBO src/Shader/Data.hs 88;" t -EDoNothing src/Dodge/Data/Item/HeldUse.hs 19;" C -EHeadLamp src/Dodge/Data/Item/HeldUse.hs 22;" C +EDoNothing src/Dodge/Data/Item/HeldUse.hs 20;" 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 134;" C -EMagShield src/Dodge/Data/Item/HeldUse.hs 20;" 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 21;" 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 87;" C Ears src/Dodge/Data/Creature/Perception.hs 47;" C @@ -646,7 +646,7 @@ EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 32;" 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 18;" 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 @@ -1093,13 +1093,15 @@ MachinePart src/Dodge/Data/Wall.hs 51;" C MachineSound src/Dodge/Data/SoundOrigin.hs 21;" C MachineType src/Dodge/Data/Machine.hs 49;" t MagShieldParams src/Dodge/Data/Item/Params.hs 15;" C -Magnet src/Dodge/Data/Magnet.hs 21;" t +Magnet src/Dodge/Data/Magnet.hs 23;" t Magnet src/Dodge/Data/Magnet.hs 6;" m Magnet src/Dodge/Magnet.hs 1;" m MagnetAlign src/Dodge/Data/Magnet.hs 17;" C +MagnetAttract src/Dodge/Data/Magnet.hs 19;" C MagnetBuBu src/Dodge/Data/Magnet.hs 16;" t MagnetBuBu src/Dodge/MagnetBuBu.hs 1;" m MagnetDeflect src/Dodge/Data/Magnet.hs 18;" C +MagnetRepulse src/Dodge/Data/Magnet.hs 20;" C MagnetTrajectory src/Dodge/Data/Bullet.hs 53;" C MagnetTrajectoryType src/Dodge/Data/Bullet.hs 60;" C MagnetUpdate src/Dodge/Data/Magnet.hs 13;" t @@ -2596,7 +2598,6 @@ _impulseUseTarget src/Dodge/Data/ActionPlan.hs 53;" f _impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f _input src/Dodge/Data/World.hs 44;" f -_instantBullets src/Dodge/Data/LWorld.hs 105;" f _intelligence src/Dodge/Data/Creature/Misc.hs 23;" f _ipPlacement src/Dodge/Data/GenWorld.hs 132;" f _ipPlacementID src/Dodge/Data/GenWorld.hs 133;" f @@ -2724,8 +2725,8 @@ _mdTimer src/Dodge/Data/Modification.hs 19;" f _mdUpdate src/Dodge/Data/Modification.hs 18;" f _mdUpdate src/Dodge/Data/Modification.hs 27;" f _meleeTarget src/Dodge/Data/ActionPlan.hs 187;" f -_mgField src/Dodge/Data/Magnet.hs 23;" f -_mgPos src/Dodge/Data/Magnet.hs 22;" f +_mgField src/Dodge/Data/Magnet.hs 25;" f +_mgPos src/Dodge/Data/Magnet.hs 24;" f _moEff src/Dodge/Data/Universe.hs 101;" f _moEff1 src/Dodge/Data/Universe.hs 105;" f _moEff2 src/Dodge/Data/Universe.hs 106;" f @@ -3331,7 +3332,7 @@ alteRifle src/Dodge/Item/Held/Cane.hs 65;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 112;" f amr src/Dodge/Item/Held/Rod.hs 44;" f analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f -analyserByDoor src/Dodge/Room/LasTurret.hs 75;" f +analyserByDoor src/Dodge/Room/LasTurret.hs 76;" f andOrRegex src/Dodge/DisplayInventory.hs 81;" f angleBetween src/Geometry.hs 159;" f angleVV src/Geometry/Vector.hs 57;" f @@ -3484,7 +3485,7 @@ boosterGun src/Dodge/Item/Equipment/Booster.hs 9;" f bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossRoom src/Dodge/Room/Boss.hs 60;" f bounceBall src/Dodge/Base/Collide.hs 77;" f -bounceDir src/Dodge/Bullet.hs 105;" f +bounceDir src/Dodge/Bullet.hs 111;" f bouncePoint src/Dodge/Base/Collide.hs 87;" f boundPoints src/Bound.hs 10;" f boundedGrid src/Grid.hs 19;" f @@ -3523,7 +3524,7 @@ cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f cardinalVectors src/Dodge/FloorItem.hs 43;" f cartePosToScreen src/Dodge/Base/Coordinate.hs 37;" f -cenLasTur src/Dodge/Room/LasTurret.hs 23;" f +cenLasTur src/Dodge/Room/LasTurret.hs 24;" f centerText src/Picture/Base.hs 184;" f centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f centerVaultRoom src/Dodge/Room/Procedural.hs 289;" f @@ -3546,7 +3547,7 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 43;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 105;" f checkConnection src/Dodge/Inventory/Swap.hs 85;" f checkDeath src/Dodge/Creature/State.hs 78;" f -checkEndGame src/Dodge/Update.hs 702;" f +checkEndGame src/Dodge/Update.hs 703;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3573,7 +3574,7 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -clClSpringVel src/Dodge/Update.hs 755;" f +clClSpringVel src/Dodge/Update.hs 756;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f @@ -3598,7 +3599,7 @@ closestCreatureID src/Dodge/Debug.hs 92;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 725;" f +cloudEffect src/Dodge/Update.hs 726;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -3670,7 +3671,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCamouflage src/Dodge/Creature/Picture.hs 31;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 773;" f +crCrSpring src/Dodge/Update.hs 774;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 26;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3691,7 +3692,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f -crSpring src/Dodge/Update.hs 768;" f +crSpring src/Dodge/Update.hs 769;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f @@ -3711,7 +3712,7 @@ createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla.hs 81;" f createNewArc src/Dodge/Tesla/Arc.hs 90;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 599;" f +createProjectile src/Dodge/HeldUse.hs 600;" f createShell src/Dodge/Projectile/Create.hs 19;" f createShieldWall src/Dodge/Euse.hs 106;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f @@ -3739,7 +3740,7 @@ crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalWallDamage src/Dodge/Wall/DamageEffect.hs 79;" f cubeShape src/Dodge/Block/Debris.hs 196;" f cullPoint src/Dodge/Render/ShapePicture.hs 79;" f -cullPretty src/AesonHelp.hs 13;" f +cullPretty src/AesonHelp.hs 14;" f curveAroundField src/Dodge/Magnet.hs 18;" f curveLeftField src/Dodge/Magnet.hs 13;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f @@ -3775,7 +3776,7 @@ damageHP src/Dodge/Creature/Damage.hs 65;" f damageMaterial src/Dodge/Material/Damage.hs 7;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f damageStone src/Dodge/Material/Damage.hs 20;" f -damageThingHit src/Dodge/Bullet.hs 180;" f +damageThingHit src/Dodge/Bullet.hs 186;" f damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f damageWall src/Dodge/Wall/Damage.hs 15;" f damageWallEffect src/Dodge/Wall/DamageEffect.hs 11;" f @@ -3896,7 +3897,7 @@ deleteWallFromZones src/Dodge/Wall/Zone.hs 23;" f deleteWallID src/Dodge/Wall/Delete.hs 13;" f deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f denormalEdges src/Polyhedra.hs 136;" f -destroyAt src/Dodge/Bullet.hs 204;" f +destroyAt src/Dodge/Bullet.hs 210;" f destroyBlock src/Dodge/Block.hs 56;" f destroyDoor src/Dodge/Block.hs 85;" f destroyInvItem src/Dodge/Inventory.hs 42;" f @@ -3913,7 +3914,7 @@ detector src/Dodge/Item/Held/Utility.hs 41;" f detectorColor src/Dodge/Item/Draw/SPic.hs 430;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 179;" f -determineProjectileTracking src/Dodge/HeldUse.hs 588;" f +determineProjectileTracking src/Dodge/HeldUse.hs 589;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 53;" f diffAngles src/Geometry.hs 210;" f @@ -3971,7 +3972,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 529;" f +doGenFloat src/Dodge/HeldUse.hs 530;" f doHeldUseEffect src/Dodge/HeldUse.hs 98;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f @@ -4215,7 +4216,7 @@ expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f -expireAndDamage src/Dodge/Bullet.hs 187;" f +expireAndDamage src/Dodge/Bullet.hs 193;" f expireAndDamageFL src/Dodge/Flame.hs 47;" f explodeShell src/Dodge/Projectile/Update.hs 154;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f @@ -4328,7 +4329,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 526;" f +gasCreate src/Dodge/HeldUse.hs 527;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -4361,8 +4362,7 @@ getLinksOfType src/Dodge/RoomLink.hs 39;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMenuMouseContext src/Dodge/Update.hs 376;" f getNodePos src/Dodge/Path.hs 31;" f -getPretty src/AesonHelp.hs 7;" f -getPrettyShort src/AesonHelp.hs 10;" f +getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f getRootItemBounds src/Dodge/Render/HUD.hs 93;" f getSensor src/Dodge/Terminal.hs 189;" f @@ -4442,8 +4442,8 @@ headMap src/Dodge/DoubleTree.hs 170;" f heal src/Dodge/Item/Consumable.hs 17;" f heal25 src/Dodge/Item/Consumable.hs 14;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 366;" f -healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 72;" f -healthTest src/Dodge/Room/LasTurret.hs 93;" f +healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 73;" f +healthTest src/Dodge/Room/LasTurret.hs 94;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldEffect src/Dodge/HeldUse.hs 37;" f heldEffectMuzzles src/Dodge/HeldUse.hs 87;" f @@ -4462,7 +4462,7 @@ highBar src/Dodge/Room/Foreground.hs 89;" f highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f highMesh src/Dodge/Room/Foreground.hs 25;" f hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f -hitEffFromBul src/Dodge/Bullet.hs 150;" f +hitEffFromBul src/Dodge/Bullet.hs 156;" f hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 394;" f holdForm src/Dodge/Creature/Boid.hs 136;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f @@ -4637,8 +4637,8 @@ jumpLegs src/Dodge/Item/Equipment.hs 155;" f justify src/Justify.hs 9;" f k src/ShortShow.hs 34;" f keyCard src/Dodge/Item/Held/Utility.hs 30;" f -keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 69;" f -keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 57;" f +keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 70;" f +keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 58;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyPic src/Dodge/Item/Draw/SPic.hs 436;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f @@ -4650,13 +4650,13 @@ lamp src/Dodge/Creature/Lamp.hs 22;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f 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 +lasCenSensEdge src/Dodge/Room/LasTurret.hs 113;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 390;" f lasRayAt src/Dodge/HeldUse.hs 385;" 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 +lasSensorTurretTest src/Dodge/Room/LasTurret.hs 106;" f +lasTunnel src/Dodge/Room/LasTurret.hs 125;" f +lasTunnelRunPast src/Dodge/Room/LasTurret.hs 166;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f laser src/Dodge/Item/Held/BatteryGuns.hs 48;" f laserLinkTest src/Dodge/Item/Grammar.hs 126;" f @@ -4683,8 +4683,8 @@ leftRightCombine src/Dodge/Item/Grammar.hs 179;" f legsSPic src/Dodge/Item/Draw/SPic.hs 454;" f liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f light src/Color.hs 104;" f -lightSensByDoor src/Dodge/Room/LasTurret.hs 44;" f -lightSensInsideDoor src/Dodge/Room/LasTurret.hs 34;" f +lightSensByDoor src/Dodge/Room/LasTurret.hs 45;" f +lightSensInsideDoor src/Dodge/Room/LasTurret.hs 35;" f lightSensor src/Dodge/Placement/Instance/Sensor.hs 52;" f lightsToRender src/Dodge/Render/Lights.hs 14;" f lightx4 src/Color.hs 145;" f @@ -4786,14 +4786,14 @@ makeDefaultCorpse src/Dodge/Corpse/Make.hs 14;" f makeDoorDebris src/Dodge/Block/Debris.hs 18;" f makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 73;" f -makeFlak src/Dodge/Bullet.hs 136;" f +makeFlak src/Dodge/Bullet.hs 142;" f makeFlame src/Dodge/Flame.hs 131;" f makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 56;" f makeFlamelet src/Dodge/EnergyBall.hs 15;" f makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f makeFlashBall src/Dodge/EnergyBall.hs 73;" f makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f -makeFragBullets src/Dodge/Bullet.hs 121;" f +makeFragBullets src/Dodge/Bullet.hs 127;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f @@ -4828,7 +4828,7 @@ makeTileFromPoly src/Tile.hs 34;" f makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 687;" f +markWallSeen src/Dodge/Update.hs 688;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 49;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4853,11 +4853,11 @@ 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 -mcShootAuto src/Dodge/HeldUse.hs 561;" f -mcShootLaser src/Dodge/HeldUse.hs 553;" f +mcShootAuto src/Dodge/HeldUse.hs 562;" f +mcShootLaser src/Dodge/HeldUse.hs 554;" f mcTriggerVal src/Dodge/Machine/Update.hs 93;" f mcTypeUpdate src/Dodge/Machine/Update.hs 27;" f -mcUseHeld src/Dodge/HeldUse.hs 496;" f +mcUseHeld src/Dodge/HeldUse.hs 497;" f mcUseItem src/Dodge/Machine/Update.hs 79;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 79;" f @@ -4927,13 +4927,13 @@ mouseActionsCr src/Dodge/Creature/YourControl.hs 164;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f mouseCursorType src/Dodge/Render/Picture.hs 80;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f -moveBullet src/Dodge/Bullet.hs 196;" f +moveBullet src/Dodge/Bullet.hs 202;" f moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveHammerUp src/Dodge/Hammer.hs 5;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 53;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f moveOldHotkey src/Dodge/Hotkey.hs 31;" f -movePenBullet src/Dodge/Bullet.hs 214;" f +movePenBullet src/Dodge/Bullet.hs 220;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveShockwave src/Dodge/Shockwave/Update.hs 17;" f moveToSideFirstOutLink src/Dodge/Room/Warning.hs 56;" f @@ -4955,7 +4955,7 @@ muzFlareAt src/Dodge/HeldUse.hs 244;" 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 -mvGust src/Dodge/Update.hs 716;" f +mvGust src/Dodge/Update.hs 717;" f mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f @@ -5071,7 +5071,7 @@ pauseSound src/Dodge/SoundLogic.hs 41;" f pauseTime src/Dodge/Update.hs 189;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f -penThing src/Dodge/Bullet.hs 226;" f +penThing src/Dodge/Bullet.hs 232;" f perMat src/MatrixHelper.hs 49;" f perceptionUpdate src/Dodge/Creature/Perception.hs 22;" f performAction src/Dodge/Creature/Action.hs 96;" f @@ -5220,7 +5220,7 @@ powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f ppDraw src/Dodge/Render/ShapePicture.hs 117;" f -ppEvents src/Dodge/Update.hs 679;" f +ppEvents src/Dodge/Update.hs 680;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5229,6 +5229,7 @@ prependTwo src/Geometry.hs 179;" f pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 174;" f prettyDT src/Dodge/DoubleTree.hs 179;" f prettyLDT src/Dodge/DoubleTree.hs 183;" f +prettyShort src/AesonHelp.hs 11;" f primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 436;" f printColumnTitles src/Dodge/Tree/Shift.hs 142;" f printColumns src/Dodge/Tree/Shift.hs 132;" f @@ -5556,7 +5557,7 @@ setClusterID src/Dodge/Combine/Graph.hs 115;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f setFallback src/Dodge/PlacementSpot.hs 127;" f -setFromToDams src/Dodge/Bullet.hs 175;" f +setFromToDams src/Dodge/Bullet.hs 181;" f setHotkey src/Dodge/Hotkey.hs 37;" f setInLinks src/Dodge/RoomLink.hs 51;" f setInLinksByType src/Dodge/RoomLink.hs 54;" f @@ -5646,7 +5647,7 @@ shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootLaser src/Dodge/HeldUse.hs 365;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f -shootTeslaArc src/Dodge/HeldUse.hs 576;" f +shootTeslaArc src/Dodge/HeldUse.hs 577;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTractorBeam src/Dodge/HeldUse.hs 344;" f shootersRoom src/Dodge/Room/Room.hs 315;" f @@ -5673,7 +5674,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 129;" f -simpleCrSprings src/Dodge/Update.hs 764;" f +simpleCrSprings src/Dodge/Update.hs 765;" f simpleDamFL src/Dodge/Flame.hs 40;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -6045,42 +6046,41 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 455;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 206;" f -updateBulVel src/Dodge/Bullet.hs 54;" f +updateBulVel src/Dodge/Bullet.hs 60;" f updateBullet src/Dodge/Bullet.hs 22;" f updateBullets src/Dodge/Update.hs 545;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 112;" f -updateCloud src/Dodge/Update.hs 730;" f -updateClouds src/Dodge/Update.hs 574;" f +updateCloud src/Dodge/Update.hs 731;" f +updateClouds src/Dodge/Update.hs 575;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 41;" f updateCombineSections src/Dodge/DisplayInventory.hs 48;" f updateCreature src/Dodge/Creature/Update.hs 13;" f updateCreatureGroups src/Dodge/Update.hs 517;" f updateCreatureSoundPositions src/Dodge/Update.hs 493;" f updateDebugMessageOffset src/Dodge/Update.hs 91;" f -updateDelayedEvents src/Dodge/Update.hs 793;" f +updateDelayedEvents src/Dodge/Update.hs 794;" f updateDisplaySections src/Dodge/DisplayInventory.hs 130;" f updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortions src/Dodge/Update.hs 538;" f updateEnergyBall src/Dodge/EnergyBall.hs 45;" f -updateEnergyBalls src/Dodge/Update.hs 562;" f +updateEnergyBalls src/Dodge/Update.hs 563;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 482;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 70;" f -updateFlames src/Dodge/Update.hs 559;" f +updateFlames src/Dodge/Update.hs 560;" f 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 713;" f +updateGusts src/Dodge/Update.hs 714;" f updateHeldRootItem src/Dodge/Creature/State.hs 260;" f updateHumanoid src/Dodge/Humanoid.hs 13;" f updateIMl src/Dodge/Update.hs 507;" f updateIMl' src/Dodge/Update.hs 512;" f updateInGameCamera src/Dodge/Update/Camera.hs 71;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 399;" f -updateInstantBullets src/Dodge/Update.hs 651;" f updateInv src/Dodge/Creature/State.hs 162;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 89;" f updateItemTargeting src/Dodge/Creature/State.hs 377;" f @@ -6105,7 +6105,7 @@ updateObjCatMaybes src/Dodge/Update.hs 529;" f updateObjMapMaybe src/Dodge/Update.hs 522;" f updatePastWorlds src/Dodge/Update.hs 424;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 571;" f +updatePosEvents src/Dodge/Update.hs 572;" f updatePreload src/Preload/Update.hs 20;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 356;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 359;" f @@ -6116,7 +6116,7 @@ updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f updateRadarBlips src/Dodge/Update.hs 541;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 565;" f +updateRadarSweeps src/Dodge/Update.hs 566;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6125,20 +6125,20 @@ updateScopeZoom' src/Dodge/Update/Scroll.hs 81;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 301;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 274;" f -updateSeenWalls src/Dodge/Update.hs 682;" f +updateSeenWalls src/Dodge/Update.hs 683;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 556;" f +updateShockwaves src/Dodge/Update.hs 557;" f updateSingleNodes src/TreeHelp.hs 97;" f updateSound src/Sound.hs 71;" f updateSounds src/Sound.hs 66;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 568;" f +updateSparks src/Dodge/Update.hs 569;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla.hs 23;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f -updateTeslaArcs src/Dodge/Update.hs 550;" f +updateTeslaArcs src/Dodge/Update.hs 551;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 553;" f +updateTractorBeams src/Dodge/Update.hs 554;" f updateTurret src/Dodge/Machine/Update.hs 49;" f updateUniverse src/Dodge/Update.hs 70;" f updateUniverseFirst src/Dodge/Update.hs 82;" f @@ -6172,27 +6172,27 @@ upperPrismPolyTS src/Shape.hs 119;" f upperRounded src/Shape.hs 184;" f useBreakL src/Dodge/Item/Grammar.hs 27;" f useBreakListsLinkTest src/Dodge/Item/Grammar.hs 35;" f -useBulletPayload src/Dodge/Bullet.hs 110;" f +useBulletPayload src/Dodge/Bullet.hs 116;" 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 501;" f +useGasParams src/Dodge/HeldUse.hs 502;" f useHotkey src/Dodge/Creature/YourControl.hs 54;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLoadedAmmo src/Dodge/HeldUse.hs 288;" f useMagShield src/Dodge/Euse.hs 45;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f -useRewindGun src/Dodge/HeldUse.hs 660;" f +useRewindGun src/Dodge/HeldUse.hs 661;" f useRewindGun src/Dodge/Luse.hs 40;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f useSelectedItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f -useStopWatch src/Dodge/HeldUse.hs 641;" f +useStopWatch src/Dodge/HeldUse.hs 642;" f useStopWatch src/Dodge/Luse.hs 21;" f useTimeCheck src/Dodge/HeldUse.hs 62;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f -useTimeScrollGun src/Dodge/HeldUse.hs 649;" f +useTimeScrollGun src/Dodge/HeldUse.hs 650;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUpdate src/Dodge/Creature/State.hs 433;" f