diff --git a/src/Dodge/Data/Item/Use/Consumption/Ammo.hs b/src/Dodge/Data/Item/Use/Consumption/Ammo.hs index 0b5ea6f9f..334d63763 100644 --- a/src/Dodge/Data/Item/Use/Consumption/Ammo.hs +++ b/src/Dodge/Data/Item/Use/Consumption/Ammo.hs @@ -1,5 +1,5 @@ -{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} +{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} @@ -9,8 +9,6 @@ module Dodge.Data.Item.Use.Consumption.Ammo ( module Dodge.Data.Payload, ) where -import Dodge.Data.Item.Location -import NewInt import Control.Lens import Data.Aeson import Data.Aeson.TH @@ -22,9 +20,6 @@ data ProjectileUpdate | StartSpinPU {_pjuTime :: Int, _pjuCID :: Int, _pjuSpinAmound :: Int} | RemoteDirectionPU {_pjuStart :: Int, _pjuEnd :: Int} | ReduceSpinPU {_pjuReduceSpin :: Float} --- | DestroyPU {_pjuScreenID :: Maybe (NewInt ItmInt) --- ,_pjuTimer :: Int} --- | TimePU | ApplyGravityPU deriving (Show, Eq, Ord, Read) --Generic, Flat) diff --git a/src/Dodge/Projectile/Update.hs b/src/Dodge/Projectile/Update.hs index 0d414b33b..9dee12289 100644 --- a/src/Dodge/Projectile/Update.hs +++ b/src/Dodge/Projectile/Update.hs @@ -25,8 +25,6 @@ updateProjectile :: Projectile -> World -> World updateProjectile pj w = decTimMvVel pj . shellCollisionCheck - (pj ^. pjDetonatorID) - (pj ^. pjScreenID) pj $ foldl' (flip $ upProjectile pj) w (_pjUpdates pj) @@ -82,12 +80,10 @@ applyGravityPU pj w -- consider using thingHit, pushing any hit creature back shellCollisionCheck :: - Maybe (NewInt ItmInt) -> - Maybe (NewInt ItmInt) -> Projectile -> World -> World -shellCollisionCheck detid screenid pj w +shellCollisionCheck pj w | RetiredProjectile <- pj ^. pjType , time <= -30 = destroyProjectile (pj ^. pjScreenID) (_pjID pj) w @@ -96,7 +92,7 @@ shellCollisionCheck detid screenid pj w | time <= 0 = g | otherwise = w where - g = explodeShell detid screenid pj w + g = explodeShell pj w time = _pjTimer pj oldPos = _pjPos pj @@ -184,20 +180,18 @@ decTimMvVel pj = ) explodeShell :: - Maybe (NewInt ItmInt) -> - Maybe (NewInt ItmInt) -> Projectile -> World -> World -explodeShell mdetid screenid pj w = +explodeShell pj w = w --- & cWorld . lWorld . projectiles . ix pjid . pjUpdates .~ [DestroyPU screenid 30] + & cWorld . lWorld . projectiles . ix pjid . pjUpdates .~ [] & cWorld . lWorld . projectiles . ix pjid . pjType .~ RetiredProjectile & usePayload (_pjPayload pj) (_pjPos pj) (_pjVel pj) & stopSoundFrom (ShellSound pjid) & updatedetonator where updatedetonator = fromMaybe id $ do - detid <- mdetid + detid <- pj ^. pjDetonatorID return $ pointerToItemID detid . itUse . uaParams . apProjectiles %~ delete pjid pjid = pj ^. pjID diff --git a/tags b/tags index dc5ada6e7..0d7fcf731 100644 --- a/tags +++ b/tags @@ -70,13 +70,13 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 49;" C AmmoPerShot src/Dodge/Data/Item/Use.hs 162;" t AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 48;" C -AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" t +AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" t AnRoom src/Dodge/Annotation/Data.hs 18;" C AnTree src/Dodge/Annotation/Data.hs 19;" C Analyser src/Dodge/Placement/Instance/Analyser.hs 1;" m Annotation src/Dodge/Annotation/Data.hs 14;" t Annotation src/Dodge/Annotation.hs 3;" m -ApplyGravityPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C +ApplyGravityPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C ArbitraryAction src/Dodge/Data/ActionPlan.hs 166;" C ArbitraryImpulse src/Dodge/Data/ActionPlan.hs 47;" C ArbitraryImpulseEffect src/Dodge/Data/ActionPlan.hs 48;" C @@ -161,7 +161,7 @@ BeamShooterParams src/Dodge/Data/Item/Use.hs 93;" C BeamSimple src/Dodge/Data/Beam.hs 50;" C BeamType src/Dodge/Data/Beam.hs 46;" t BecomePowerful src/Dodge/Data/Scenario.hs 9;" C -BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C +BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" C Bezier src/Geometry/Bezier.hs 1;" m BezierTrajectory src/Dodge/Data/Bullet.hs 51;" C BezierTrajectoryType src/Dodge/Data/Bullet.hs 58;" C @@ -221,7 +221,7 @@ Bullet src/Dodge/Data/Bullet.hs 17;" t Bullet src/Dodge/Bullet.hs 1;" m Bullet src/Dodge/Data/Bullet.hs 6;" m Bullet src/Dodge/Item/Weapon/Bullet.hs 1;" m -BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" C +BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C BulletEffect src/Dodge/Data/Bullet.hs 35;" t BulletGun src/Dodge/Item/Held/BulletGun.hs 1;" m BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t @@ -295,7 +295,7 @@ ChaseCritters src/Dodge/Data/Creature/State.hs 38;" C Check src/Framebuffer/Check.hs 1;" m CheckConsistency src/Dodge/Room/CheckConsistency.hs 1;" m CheckSlots src/Dodge/Inventory/CheckSlots.hs 1;" m -ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" C +ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 62;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 61;" C ChooseTarget src/Dodge/Creature/ChooseTarget.hs 1;" m @@ -319,7 +319,6 @@ ClusterLink src/Dodge/Data/RoomCluster.hs 14;" t ClusterStatus src/Dodge/Data/RoomCluster.hs 9;" t Cognizant src/Dodge/Data/Creature/Perception.hs 67;" C Collide src/Dodge/Base/Collide.hs 14;" m -CollisionEffectPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C Collision_test src/Dodge/Data/Config.hs 84;" C Color src/Color/Data.hs 33;" t Color src/Color.hs 1;" m @@ -413,8 +412,8 @@ Craftable src/Dodge/Item/Craftable.hs 1;" m Create src/Dodge/Projectile/Create.hs 1;" m Create src/Dodge/Prop/Create.hs 1;" m Create src/Dodge/Wall/Create.hs 1;" m -CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" C -CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" C +CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C +CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C CreateShieldWall src/Dodge/Data/Item/Effect.hs 22;" C Creature src/Dodge/Data/Creature.hs 36;" t Creature src/Dodge/Creature.hs 1;" m @@ -493,7 +492,7 @@ DefaultArcStep src/Dodge/Data/ArcStep.hs 23;" C DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C -DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" C +DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C DefaultHeldParams src/Dodge/Data/Item/Use.hs 80;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C @@ -504,7 +503,6 @@ Destroy src/Dodge/Machine/Destroy.hs 1;" m 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 25;" C Detector src/Dodge/Data/Item/Combine.hs 165;" t Dirt src/Dodge/Data/Material.hs 11;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t @@ -583,7 +581,7 @@ DrawForceField src/Dodge/Data/Wall.hs 45;" C DrawNoButton src/Dodge/Data/Button.hs 19;" C DrawnWall src/Dodge/Data/Wall.hs 41;" C Drone src/Dodge/Item/Weapon/Drone.hs 1;" m -DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 40;" C +DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C DropAll src/Dodge/Data/Creature/State.hs 24;" C DropAmount src/Dodge/Data/Creature/State.hs 25;" C DropItem src/Dodge/Data/ActionPlan.hs 39;" C @@ -613,7 +611,7 @@ EffectWhileAttached src/Dodge/Data/Item/Effect.hs 25;" C EffectWhileRoot src/Dodge/Data/Item/Effect.hs 24;" C EighthRes src/Dodge/Data/Config.hs 97;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C -ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C +ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" C Electronics src/Dodge/Data/Material.hs 11;" C EllShad src/Picture/Data.hs 39;" C Enable_debug src/Dodge/Data/Config.hs 68;" C @@ -654,7 +652,7 @@ Explosion src/Dodge/Data/SoundOrigin.hs 37;" C Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m ExplosionPayload src/Dodge/Data/Payload.hs 11;" C ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 87;" C -ExplosivePutty src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" C +ExplosivePutty src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" m ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m Eyes src/Dodge/Data/Creature/Perception.hs 41;" C @@ -722,7 +720,7 @@ FootForward src/Dodge/Data/Creature/Stance.hs 31;" t FootstepSound src/Dodge/Data/SoundOrigin.hs 29;" C ForceField src/Dodge/ForceField.hs 1;" m ForceField src/Dodge/Wall/ForceField.hs 1;" m -ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" t +ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" t Foreground src/Dodge/Room/Foreground.hs 1;" m ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 6;" m @@ -735,24 +733,23 @@ FullSize src/Dodge/Data/Item/Params.hs 31;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C FunctionChangeLink src/Dodge/Data/ComposedItem.hs 29;" C FunctionChangeSF src/Dodge/Data/ComposedItem.hs 51;" C +GBounce src/Dodge/Data/Projectile.hs 52;" C GEqC src/SameConstr.hs 20;" c -GHitBounce src/Dodge/Data/Projectile.hs 50;" C -GHitDetonate src/Dodge/Data/Projectile.hs 49;" C -GHitStick src/Dodge/Data/Projectile.hs 51;" C GLASSSHARD src/Dodge/Data/Item/Combine.hs 38;" C GLAUNCHER src/Dodge/Data/Item/Combine.hs 154;" C GLHelp src/GLHelp.hs 1;" m GRAPECANNON src/Dodge/Data/Item/Combine.hs 131;" C GREEN src/Color/Data.hs 16;" C +GStick src/Dodge/Data/Projectile.hs 53;" C GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 36;" C GameOverOptions src/Dodge/Data/Universe.hs 70;" C GameRoom src/Dodge/GameRoom.hs 15;" t GameRoom src/Dodge/GameRoom.hs 8;" m Gas src/Dodge/Gas.hs 1;" m -GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 41;" C +GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C -GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" t -GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" t +GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" t +GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" t GasParams src/Dodge/Data/Item/Use.hs 115;" C GasSprayParams src/Dodge/Data/Item/Use.hs 81;" C GenCr src/Dodge/Data/Creature/State.hs 31;" C @@ -789,8 +786,8 @@ Graph src/Dodge/Combine/Graph.hs 3;" m Graph src/Dodge/Graph.hs 2;" m GraphHelp src/GraphHelp.hs 1;" m GraphVizHelp src/GraphVizHelp.hs 2;" m -Grenade src/Dodge/Data/Projectile.hs 33;" C -GrenadeHitEffect src/Dodge/Data/Projectile.hs 48;" t +Grenade src/Dodge/Data/Projectile.hs 35;" C +GrenadeHitEffect src/Dodge/Data/Projectile.hs 51;" t Grid src/Grid.hs 1;" m Gust src/Dodge/Data/Gust.hs 13;" t Gust src/Dodge/Data/Gust.hs 6;" m @@ -832,8 +829,8 @@ HeldUse src/Dodge/HeldUse.hs 4;" m HeldUseEffect src/Dodge/Data/Item/Use.hs 51;" t HelpNum src/HelpNum.hs 1;" m HiddenGoal src/Dodge/Data/Scenario.hs 14;" C -HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 44;" C -HomeUsingTargeting src/Dodge/Data/Projectile.hs 45;" C +HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 47;" C +HomeUsingTargeting src/Dodge/Data/Projectile.hs 48;" C Hospital src/Dodge/Data/Scenario.hs 69;" C Hotkey src/Dodge/Data/Equipment/Misc.hs 32;" t Hotkey src/Dodge/Hotkey.hs 1;" m @@ -1001,7 +998,7 @@ LaserStart src/Dodge/Data/Laser.hs 21;" t LaserType src/Dodge/Data/Laser.hs 16;" t Launcher src/Dodge/Item/Held/Launcher.hs 1;" m LauncherAI src/Dodge/Data/Creature/Misc.hs 54;" C -LauncherAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C +LauncherAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C LauncherCrit src/Dodge/Creature/LauncherCrit.hs 1;" m LaundrySS src/Dodge/Data/Scenario.hs 115;" C Layer src/Picture/Data.hs 22;" t @@ -1252,7 +1249,7 @@ NoFaction src/Dodge/Data/Creature/State.hs 40;" C NoFlare src/Dodge/Data/Item/Use.hs 131;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C NoHeldUseEffect src/Dodge/Data/Item/Use.hs 52;" C -NoHoming src/Dodge/Data/Projectile.hs 43;" C +NoHoming src/Dodge/Data/Projectile.hs 46;" C NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C NoItTargeting src/Dodge/Data/Item.hs 55;" C @@ -1468,14 +1465,14 @@ PressPlateId src/Dodge/Data/PressPlate.hs 15;" C PressType src/Dodge/Data/Input.hs 13;" t PreviousArcEffect src/Dodge/Data/Item/Params.hs 34;" t PrimitiveMode src/Shader/Data.hs 99;" t -PrintMaterial src/Dodge/Data/Item/Use/Consumption/Ammo.hs 42;" C +PrintMaterial src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C Prison src/Dodge/Data/Scenario.hs 65;" C Procedural src/Dodge/Room/Procedural.hs 2;" m Projectile src/Dodge/Data/Projectile.hs 16;" t Projectile src/Dodge/Data/Projectile.hs 6;" m Projectile src/Dodge/Projectile.hs 1;" m ProjectileParams src/Dodge/Data/Item/Use.hs 114;" C -ProjectileType src/Dodge/Data/Projectile.hs 32;" t +ProjectileType src/Dodge/Data/Projectile.hs 34;" t ProjectileUpdate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" t Prop src/Dodge/Data/Prop.hs 18;" t Prop src/Dodge/Data/Prop.hs 6;" m @@ -1578,7 +1575,7 @@ ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m RecRoomSS src/Dodge/Data/Scenario.hs 103;" C RectRoomType src/Dodge/Data/Room.hs 32;" C ReduceSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" C -ReducedRocketSmoke src/Dodge/Data/Projectile.hs 55;" C +ReducedRocketSmoke src/Dodge/Data/Projectile.hs 57;" C ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C Religion src/Dodge/Data/Scenario.hs 47;" C Reload src/Dodge/Data/ActionPlan.hs 190;" C @@ -1604,6 +1601,7 @@ ResFactor src/Dodge/Data/Config.hs 97;" t ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C RetailFacility src/Dodge/Data/Scenario.hs 67;" C +RetiredProjectile src/Dodge/Data/Projectile.hs 42;" C Revenge src/Dodge/Data/Scenario.hs 6;" C RewindLeftClick src/Dodge/Data/World.hs 73;" C RezBaySS src/Dodge/Data/Scenario.hs 105;" C @@ -1613,9 +1611,9 @@ RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 6;" m RightForward src/Dodge/Data/Creature/Stance.hs 33;" C RightwardLDT src/Dodge/Data/DoubleTree.hs 58;" C RoadBlock src/Dodge/Room/RoadBlock.hs 2;" m -Rocket src/Dodge/Data/Projectile.hs 36;" C -RocketHoming src/Dodge/Data/Projectile.hs 42;" t -RocketSmoke src/Dodge/Data/Projectile.hs 54;" t +Rocket src/Dodge/Data/Projectile.hs 38;" C +RocketHoming src/Dodge/Data/Projectile.hs 45;" t +RocketSmoke src/Dodge/Data/Projectile.hs 56;" t Rod src/Dodge/Item/Held/Rod.hs 1;" m Room src/Dodge/Data/GenWorld.hs 94;" t Room src/Dodge/Data/Room.hs 4;" m @@ -1942,7 +1940,6 @@ Tile src/Dodge/Tile.hs 1;" m Tile src/Tile.hs 2;" m Tiled src/Data/Tile.hs 13;" C TimeFlowStatus src/Dodge/Data/World.hs 58;" t -TimePU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 27;" C Tiny src/Shape/Data.hs 32;" C TmId src/Dodge/Data/Terminal.hs 60;" C TmTm src/Dodge/Data/Terminal.hs 59;" t @@ -2246,6 +2243,7 @@ _bmType src/Dodge/Data/Beam.hs 29;" f _boffEff src/Dodge/Data/Button.hs 42;" f _bonEff src/Dodge/Data/Button.hs 41;" f _boostPropIX src/Dodge/Data/Item/Params.hs 29;" f +_bounceTolerance src/Dodge/Data/Projectile.hs 52;" f _bpEff src/Dodge/Data/Button.hs 28;" f _bpEvent src/Dodge/Data/Button.hs 26;" f _bpSound src/Dodge/Data/Button.hs 27;" f @@ -2544,7 +2542,7 @@ _getSoundID src/Sound/Data.hs 32;" f _gfConstant src/Dodge/Data/GenFloat.hs 11;" f _gfMax src/Dodge/Data/GenFloat.hs 12;" f _gfMin src/Dodge/Data/GenFloat.hs 12;" f -_gnHitEffect src/Dodge/Data/Projectile.hs 34;" f +_gnHitEffect src/Dodge/Data/Projectile.hs 36;" f _grBound src/Dodge/GameRoom.hs 18;" f _grDir src/Dodge/GameRoom.hs 20;" f _grLinkDirs src/Dodge/GameRoom.hs 21;" f @@ -2814,16 +2812,18 @@ _peZoning src/Dodge/Data/World.hs 53;" f _penEnd src/Dodge/Data/PathGraph.hs 35;" f _penPathEdge src/Dodge/Data/PathGraph.hs 36;" f _penStart src/Dodge/Data/PathGraph.hs 34;" f -_phRemoteID src/Dodge/Data/Projectile.hs 44;" f -_phTargetingID src/Dodge/Data/Projectile.hs 45;" f +_phRemoteID src/Dodge/Data/Projectile.hs 47;" f +_phTargetingID src/Dodge/Data/Projectile.hs 48;" f _pickUpLevel src/Dodge/Layout/Generate.hs 14;" f _pickUps src/Dodge/Layout/Generate.hs 15;" f _pictureShaders src/Data/Preload/Render.hs 28;" f _piercedPoints src/Dodge/Data/Creature/State.hs 30;" f +_pjDetonatorID src/Dodge/Data/Projectile.hs 29;" f _pjDir src/Dodge/Data/Projectile.hs 20;" f _pjID src/Dodge/Data/Projectile.hs 22;" f _pjPayload src/Dodge/Data/Projectile.hs 23;" f _pjPos src/Dodge/Data/Projectile.hs 18;" f +_pjScreenID src/Dodge/Data/Projectile.hs 30;" f _pjSpin src/Dodge/Data/Projectile.hs 21;" f _pjTimer src/Dodge/Data/Projectile.hs 24;" f _pjType src/Dodge/Data/Projectile.hs 28;" f @@ -2832,15 +2832,11 @@ _pjVel src/Dodge/Data/Projectile.hs 19;" f _pjZ src/Dodge/Data/Projectile.hs 25;" f _pjZVel src/Dodge/Data/Projectile.hs 26;" f _pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f -_pjuDetonatorID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f _pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" f _pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" f -_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" f -_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" f _pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f _pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" f _pjuTime src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f -_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f _plIDCont src/Dodge/Data/GenWorld.hs 81;" f _plMID src/Dodge/Data/GenWorld.hs 80;" f _plOrder src/Dodge/Data/GenWorld.hs 77;" f @@ -2937,8 +2933,8 @@ _reverseAmount src/Dodge/Data/World.hs 64;" f _reverseAmount src/Dodge/Data/World.hs 70;" f _reverseAmount src/Dodge/Data/World.hs 74;" f _rifling src/Dodge/Data/Item/Use.hs 99;" f -_rkHoming src/Dodge/Data/Projectile.hs 37;" f -_rkSmoke src/Dodge/Data/Projectile.hs 38;" f +_rkHoming src/Dodge/Data/Projectile.hs 39;" f +_rkSmoke src/Dodge/Data/Projectile.hs 40;" f _rlDir src/Dodge/Data/Room.hs 26;" f _rlPos src/Dodge/Data/Room.hs 25;" f _rlType src/Dodge/Data/Room.hs 24;" f @@ -3366,7 +3362,7 @@ applyCME src/Dodge/HeldUse.hs 126;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyEventIO src/Loop.hs 89;" f -applyGravityPU src/Dodge/Projectile/Update.hs 54;" f +applyGravityPU src/Dodge/Projectile/Update.hs 55;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f applyInvLock src/Dodge/HeldUse.hs 141;" f @@ -3830,7 +3826,7 @@ debugMenuOptions src/Dodge/Menu.hs 119;" f debugOn src/Dodge/Data/Config.hs 151;" f debugSelectCreatureList src/Dodge/Debug.hs 86;" f debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f -decTimMvVel src/Dodge/Projectile/Update.hs 173;" f +decTimMvVel src/Dodge/Projectile/Update.hs 178;" f decodedtmap src/Dodge/Terminal.hs 205;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f @@ -3933,7 +3929,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMcType src/Dodge/Machine/Destroy.hs 21;" f destroyMount src/Dodge/Block.hs 104;" f destroyMounts src/Dodge/Block.hs 101;" f -destroyProjectile src/Dodge/Projectile/Update.hs 98;" f +destroyProjectile src/Dodge/Projectile/Update.hs 103;" f detV src/Geometry/Vector.hs 93;" f detector src/Dodge/Item/Held/Utility.hs 41;" f detectorColor src/Dodge/Item/Draw/SPic.hs 434;" f @@ -4047,7 +4043,7 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f doTestDrawing src/Dodge/Render.hs 42;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f -doThrust src/Dodge/Projectile/Update.hs 110;" f +doThrust src/Dodge/Projectile/Update.hs 115;" f doTimeScroll src/Dodge/Update.hs 205;" f doTmTm src/Dodge/TmTm.hs 6;" f doTmWdWd src/Dodge/WorldEffect.hs 101;" f @@ -4150,12 +4146,12 @@ drawPathEdge src/Dodge/Debug/Picture.hs 246;" f drawPathing src/Dodge/Debug/Picture.hs 416;" f drawPlus src/Dodge/Render/Picture.hs 134;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f -drawProjectile src/Dodge/Projectile/Draw.hs 14;" f +drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f drawProp' src/Dodge/Prop/Draw.hs 12;" f drawRBOptions src/Dodge/Render/HUD.hs 237;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f -drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f +drawRemoteShell src/Dodge/Projectile/Draw.hs 37;" f drawReturn src/Dodge/Render/Picture.hs 123;" f drawRootCursor src/Dodge/Render/HUD.hs 70;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 31;" f @@ -4168,7 +4164,7 @@ drawSensor src/Dodge/Machine/Draw.hs 24;" f drawShader src/Shader.hs 27;" f drawShaderLay src/Shader.hs 16;" f drawShadowsByImportance src/Dodge/Shadows.hs 8;" f -drawShell src/Dodge/Projectile/Draw.hs 23;" f +drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 16;" f @@ -4254,7 +4250,7 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 195;" f expireAndDamageFL src/Dodge/Flame.hs 47;" f -explodeShell src/Dodge/Projectile/Update.hs 181;" f +explodeShell src/Dodge/Projectile/Update.hs 186;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f @@ -5135,7 +5131,7 @@ pipe src/Dodge/Item/Craftable.hs 32;" f pistol src/Dodge/Item/Held/Stick.hs 42;" f pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f pistolerRoom src/Dodge/Room/Room.hs 321;" f -pjRemoteSetDirection src/Dodge/Projectile/Update.hs 155;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 160;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f @@ -5384,7 +5380,7 @@ rectXY src/Geometry/Polygon.hs 35;" f rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f red src/Color.hs 14;" f reduceLocLDT src/Dodge/DoubleTree.hs 256;" f -reduceSpinBy src/Dodge/Projectile/Update.hs 170;" f +reduceSpinBy src/Dodge/Projectile/Update.hs 175;" f reflDirWall src/Dodge/Base/Wall.hs 16;" f reflVelWall src/Dodge/Base/Wall.hs 24;" f reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f @@ -5654,10 +5650,10 @@ shardShape src/Dodge/Block/Debris.hs 181;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 284;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f -shellCollisionCheck src/Dodge/Projectile/Update.hs 83;" f +shellCollisionCheck src/Dodge/Projectile/Update.hs 84;" f shellMag src/Dodge/Item/Ammo.hs 61;" f shellModule src/Dodge/Item/Scope.hs 45;" f -shellShape src/Dodge/Projectile/Draw.hs 35;" f +shellShape src/Dodge/Projectile/Draw.hs 34;" f shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f shieldWall src/Dodge/Euse.hs 87;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f @@ -6043,7 +6039,7 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f -trySpinByCID src/Dodge/Projectile/Update.hs 137;" f +trySpinByCID src/Dodge/Projectile/Update.hs 142;" f trySynthBullet src/Dodge/Creature/State.hs 204;" f tryUseParent src/Dodge/Creature/State.hs 197;" f turnTo src/Dodge/Movement/Turn.hs 4;" f @@ -6078,7 +6074,7 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f upHammer src/Dodge/Default.hs 76;" f -upProjectile src/Dodge/Projectile/Update.hs 27;" f +upProjectile src/Dodge/Projectile/Update.hs 33;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla.hs 91;" f updateArc src/Dodge/Tesla/Arc.hs 100;" f