This commit is contained in:
2024-12-27 22:32:56 +00:00
parent 3b19e7e530
commit 9168acf12e
5 changed files with 123 additions and 107 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ data Projectile
= Shell
{ _prjPos :: Point2
, _prjVel :: Point2
, _prjAcc :: Point2
-- , _prjAcc :: Point2
, _prjDir :: Float
, _prjSpin :: Float
, _prjDraw :: ProjectileDraw
+1 -1
View File
@@ -36,7 +36,7 @@ createShell homing mdetonator mscreen smokestatus pjtype payload muz cr w = w
, _prjVel = rotateV dir (V2 speed 0) + cr ^. crPos - cr ^. crOldPos
, _prjDraw = homingDrawType homing
, _prjID = i
, _prjAcc = rotateV dir (V2 3 0)
-- , _prjAcc = rotateV dir (V2 3 0)
, _prjDir = dir
, _prjSpin = 0
, _prjPayload = payload
+1 -1
View File
@@ -22,7 +22,7 @@ drawShell pj =
noPic
. translateSHz (_prjZ pj)
. uncurryV translateSHxy (_prjPos pj)
$ rotateSH (argV $ _prjAcc pj) shellShape
$ rotateSH (_prjDir pj) shellShape
shellShape :: Shape
shellShape = colorSH black $ upperPrismPoly Small Typical 4 $ map toV2 [(-6, 4), (-6, -4), (6, -4), (8, 0), (6, 4)]
+58 -45
View File
@@ -3,10 +3,9 @@ module Dodge.Projectile.Update (
updateProjectile,
) where
import Data.List (delete)
import LensHelp
import Control.Monad
import Data.Foldable
import Data.List (delete)
import Data.Maybe
import Dodge.Base
import Dodge.Data.World
@@ -18,6 +17,7 @@ import Dodge.SoundLogic
import Dodge.WorldEvent.Cloud
import Geometry
import qualified IntMapHelp as IM
import LensHelp
import NewInt
import RandomHelp
@@ -26,8 +26,12 @@ updateProjectile pj w = foldl' (\w' pu -> upProjectile pu pj w') w (_prjUpdates
upProjectile :: ProjectileUpdate -> Projectile -> World -> World
upProjectile pu pj = case pu of
CollisionEffectPU mcontrolid mdetonatorid mscreenid -> shellCollisionCheck
mcontrolid mdetonatorid mscreenid pj
CollisionEffectPU mcontrolid mdetonatorid mscreenid ->
shellCollisionCheck
mcontrolid
mdetonatorid
mscreenid
pj
TimePU -> decTimMvVel pj
ThrustPU st et smoke
| act st et -> doThrust pj smoke
@@ -50,21 +54,25 @@ upProjectile pu pj = case pu of
applyGravityPU :: Projectile -> World -> World
applyGravityPU pj w
| newz <= 0 && abs (pj ^. prjZVel) < 1 = w
& topj . prjVel %~ decvel
& topj . prjSpin %~ decspin
| newz < 0 = w & topj . prjZ .~ 0
& topj . prjZVel %~ bouncez
& topj . prjVel %~ decvel
& topj . prjSpin %~ decspin
& soundStart (ShellSound (pj ^. prjID)) (pj ^. prjPos) click1S Nothing
| otherwise = w & topj . prjZ .~ newz
& topj . prjZVel -~ 0.5
| newz <= 0 && abs (pj ^. prjZVel) < 1 =
w
& topj . prjVel %~ decvel
& topj . prjSpin %~ decspin
| newz < 0 =
w & topj . prjZ .~ 0
& topj . prjZVel %~ bouncez
& topj . prjVel %~ decvel
& topj . prjSpin %~ decspin
& soundStart (ShellSound (pj ^. prjID)) (pj ^. prjPos) click1S Nothing
| otherwise =
w & topj . prjZ .~ newz
& topj . prjZVel -~ 0.5
where
topj = cWorld . lWorld . projectiles . ix (pj ^. prjID)
bouncez z | z < -1 = -0.5 * z
bouncez z
| z < -1 = -0.5 * z
| otherwise = 0
decvel v
decvel v
| magV v > 1 = rotateV (5 * pj ^. prjSpin) $ 0.8 * v
| otherwise = 0
decspin x
@@ -73,13 +81,16 @@ applyGravityPU pj w
newz = pj ^. prjZ + pj ^. prjZVel
--shellCollisionCheck :: (Projectile -> World -> World) -> Projectile -> World -> World
shellCollisionCheck :: Maybe (NewInt ItmInt)
-> Maybe (NewInt ItmInt)
-> Maybe (NewInt ItmInt)
-> Projectile -> World -> World
shellCollisionCheck ::
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Projectile ->
World ->
World
shellCollisionCheck controlid detid screenid pj w
-- | time > 330 && circOnSomeWall oldPos 4 w = g
-- | time <= 330 && anythingHitCirc 2 oldPos newPos w = g
-- | time > 330 && circOnSomeWall oldPos 4 w = g
-- | time <= 330 && anythingHitCirc 2 oldPos newPos w = g
| anythingHitCirc 2 oldPos newPos w = g
| time <= 0 = g
| otherwise = w
@@ -114,10 +125,11 @@ doThrust pj smoke w =
(addZ 20 (oldPos +.+ r1 +.+ 30 *.* normalizeV (oldPos -.- newPos)))
where
lifetime = fst . randomR lt $ _randGen w
lt | smoke = (50, 200)
| otherwise = (300,500)
trailfadetime = fst . randomR (100,300) $ _randGen w
accel = _prjAcc pj
lt
| smoke = (50, 200)
| otherwise = (300, 500)
trailfadetime = fst . randomR (100, 300) $ _randGen w
accel = rotateV (pj ^. prjDir) (V2 3 0)
i = _prjID pj
oldPos = _prjPos pj
vel = _prjVel pj
@@ -146,20 +158,18 @@ trySpinByCID cid i pj w = w & cWorld . lWorld . projectiles . ix pjid . prjSpin
-- note this only allows YOU to remotely track projectiles
pjRemoteSetDirection :: ProjectileHoming -> Projectile -> World -> World
pjRemoteSetDirection ph pj w = case ph of
NoHoming -> w
HomeUsingRemoteScreen screenid ->
let newdir
| w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . imSelectedItem
== w ^? cWorld . lWorld . itemLocations . ix (_unNInt screenid) . ilInvID =
(w ^. wCam . camRot) + argV (_mousePos (_input w))
| otherwise = _prjDir pj
in w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjAcc
.~ magV (_prjAcc pj) *.* unitVectorAtAngle newdir
HomeUsingTargeting itid -> fromMaybe w $ do
tp <- w ^? pointerToItemID itid . itTargeting . itTgPos . _Just
return $
w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjAcc
%~ vecTurnTo 0.2 (_prjPos pj) tp
HomeUsingRemoteScreen screenid
| lw ^? creatures . ix 0 . crManipulation . manObject . imSelectedItem
== lw ^? itemLocations . ix (_unNInt screenid) . ilInvID ->
w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjDir
.~ (w ^. wCam . camRot) + argV (w ^. input . mousePos)
HomeUsingTargeting itid
| Just tp <- w ^? pointerToItemID itid . itTargeting . itTgPos . _Just ->
w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjDir
%~ turnTo 0.2 (_prjPos pj) tp
_ -> w
where
lw = w ^. cWorld . lWorld
--pjRemoteSetDirection mscreenid pj w = fromMaybe w $ do
-- screenid <- fmap _unNInt mscreenid
@@ -179,7 +189,7 @@ decTimMvVel pj =
cWorld . lWorld . projectiles . ix pjid
%~ ( (prjTimer -~ 1)
. (prjPos %~ (+.+ vel))
. (prjAcc %~ rotateV rot)
-- . (prjAcc %~ rotateV rot)
. (prjDir +~ rot)
)
where
@@ -187,10 +197,13 @@ decTimMvVel pj =
vel = _prjVel pj
pjid = _prjID pj
explodeShell :: Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Projectile -> World -> World
explodeShell ::
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Projectile ->
World ->
World
explodeShell controlid mdetid screenid pj w =
w
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [DestroyPU screenid 30]
+62 -59
View File
@@ -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 43;" t
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 44;" 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 40;" C
ApplyGravityPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 41;" 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 46;" C
BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 47;" 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 45;" C
BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" 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 57;" C
ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 58;" 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,7 @@ 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 36;" C
CollisionEffectPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" 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 +413,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 60;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 60;" C
CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 61;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 61;" 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 +493,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 54;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 55;" 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
@@ -587,7 +587,7 @@ DrawRemoteShell src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" C
DrawShell src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" 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 48;" C
DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" 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
@@ -617,7 +617,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 47;" C
ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" 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
@@ -658,7 +658,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 51;" C
ExplosivePutty src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" 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
@@ -726,7 +726,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 54;" t
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 55;" 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
@@ -750,10 +750,10 @@ 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 49;" C
GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 50;" C
GasCloud src/Dodge/Data/Cloud.hs 31;" C
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 60;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 57;" t
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 61;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 58;" 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
@@ -790,6 +790,7 @@ 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 15;" C
Grid src/Grid.hs 1;" m
Gust src/Dodge/Data/Gust.hs 13;" t
Gust src/Dodge/Data/Gust.hs 6;" m
@@ -1000,7 +1001,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 44;" C
LauncherAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" C
LauncherCrit src/Dodge/Creature/LauncherCrit.hs 1;" m
LaundrySS src/Dodge/Data/Scenario.hs 115;" C
Layer src/Picture/Data.hs 22;" t
@@ -1467,15 +1468,16 @@ 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 50;" C
PrintMaterial src/Dodge/Data/Item/Use/Consumption/Ammo.hs 51;" C
Prison src/Dodge/Data/Scenario.hs 65;" C
Procedural src/Dodge/Room/Procedural.hs 2;" m
Projectile src/Dodge/Data/Projectile.hs 14;" t
Projectile src/Dodge/Data/Projectile.hs 19;" t
Projectile src/Dodge/Data/Projectile.hs 6;" m
Projectile src/Dodge/Projectile.hs 1;" m
ProjectileDraw src/Dodge/Data/Item/Use/Consumption/Ammo.hs 20;" t
ProjectileHoming src/Dodge/Data/Item/Use/Consumption/Ammo.hs 23;" t
ProjectileParams src/Dodge/Data/Item/Use.hs 114;" C
ProjectileType src/Dodge/Data/Projectile.hs 14;" t
ProjectileUpdate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" t
Prop src/Dodge/Data/Prop.hs 18;" t
Prop src/Dodge/Data/Prop.hs 6;" m
@@ -1612,6 +1614,7 @@ 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 16;" C
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
@@ -1721,7 +1724,7 @@ ShapePicture src/ShapePicture.hs 1;" m
ShapeProp src/Dodge/Data/Prop.hs 33;" C
ShapeType src/Shape/Data.hs 16;" t
Shatter src/Dodge/Item/Weapon/Shatter.hs 1;" m
Shell src/Dodge/Data/Projectile.hs 15;" C
Shell src/Dodge/Data/Projectile.hs 20;" C
ShellSound src/Dodge/Data/SoundOrigin.hs 26;" C
ShieldGroup src/Dodge/Data/Creature/State.hs 52;" C
Shift src/Dodge/Placement/Shift.hs 1;" m
@@ -1938,7 +1941,7 @@ 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 35;" C
TimePU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C
Tiny src/Shape/Data.hs 32;" C
TmId src/Dodge/Data/Terminal.hs 60;" C
TmTm src/Dodge/Data/Terminal.hs 59;" t
@@ -2816,18 +2819,18 @@ _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
_pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" f
_pjuControlID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" f
_pjuControlID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" f
_pjuControllerID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f
_pjuDetonatorID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" f
_pjuDetonatorID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" f
_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" f
_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" f
_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" f
_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" f
_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" f
_pjuSmokeless src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" f
_pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" f
_pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" f
_pjuTime src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" f
_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" f
_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" 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
@@ -2868,18 +2871,19 @@ _preloadData src/Dodge/Data/Universe.hs 32;" f
_pressPlates src/Dodge/Data/LWorld.hs 134;" f
_pressedKeys src/Dodge/Data/Input.hs 45;" f
_previousArcEffect src/Dodge/Data/Item/Params.hs 26;" f
_prjAcc src/Dodge/Data/Projectile.hs 18;" f
_prjDir src/Dodge/Data/Projectile.hs 19;" f
_prjDraw src/Dodge/Data/Projectile.hs 21;" f
_prjID src/Dodge/Data/Projectile.hs 22;" f
_prjPayload src/Dodge/Data/Projectile.hs 23;" f
_prjPos src/Dodge/Data/Projectile.hs 16;" f
_prjSpin src/Dodge/Data/Projectile.hs 20;" f
_prjTimer src/Dodge/Data/Projectile.hs 24;" f
_prjUpdates src/Dodge/Data/Projectile.hs 27;" f
_prjVel src/Dodge/Data/Projectile.hs 17;" f
_prjZ src/Dodge/Data/Projectile.hs 25;" f
_prjZVel src/Dodge/Data/Projectile.hs 26;" f
_prjAcc src/Dodge/Data/Projectile.hs 23;" f
_prjDir src/Dodge/Data/Projectile.hs 24;" f
_prjDraw src/Dodge/Data/Projectile.hs 26;" f
_prjID src/Dodge/Data/Projectile.hs 27;" f
_prjPayload src/Dodge/Data/Projectile.hs 28;" f
_prjPos src/Dodge/Data/Projectile.hs 21;" f
_prjSpin src/Dodge/Data/Projectile.hs 25;" f
_prjTimer src/Dodge/Data/Projectile.hs 29;" f
_prjType src/Dodge/Data/Projectile.hs 33;" f
_prjUpdates src/Dodge/Data/Projectile.hs 32;" f
_prjVel src/Dodge/Data/Projectile.hs 22;" f
_prjZ src/Dodge/Data/Projectile.hs 30;" f
_prjZVel src/Dodge/Data/Projectile.hs 31;" f
_projectiles src/Dodge/Data/LWorld.hs 104;" f
_props src/Dodge/Data/LWorld.hs 103;" f
_proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f
@@ -3288,6 +3292,7 @@ aSound src/Dodge/SoundLogic.hs 68;" f
aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 48;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 50;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 24;" f
addArmour src/Dodge/Creature.hs 83;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
@@ -3362,7 +3367,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 50;" f
applyGravityPU src/Dodge/Projectile/Update.hs 51;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f
applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 141;" f
@@ -3724,8 +3729,6 @@ createArc src/Dodge/Tesla/Arc.hs 81;" f
createBarrelSpark src/Dodge/Spark.hs 44;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGProjectile src/Dodge/HeldUse.hs 642;" f
createGShell src/Dodge/Projectile/Create.hs 73;" f
createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 132;" f
createItemYou src/Dodge/Inventory/Add.hs 95;" f
@@ -3734,7 +3737,7 @@ 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 609;" f
createShell src/Dodge/Projectile/Create.hs 23;" f
createShell src/Dodge/Projectile/Create.hs 22;" f
createShieldWall src/Dodge/Euse.hs 107;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f
@@ -3827,7 +3830,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 176;" f
decTimMvVel src/Dodge/Projectile/Update.hs 177;" f
decodedtmap src/Dodge/Terminal.hs 205;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f
@@ -3930,7 +3933,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 91;" f
destroyProjectile src/Dodge/Projectile/Update.hs 92;" 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
@@ -4044,7 +4047,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 103;" f
doThrust src/Dodge/Projectile/Update.hs 104;" f
doTimeScroll src/Dodge/Update.hs 205;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 101;" f
@@ -4251,7 +4254,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 188;" f
explodeShell src/Dodge/Projectile/Update.hs 190;" 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
@@ -4500,7 +4503,7 @@ hitEffFromBul src/Dodge/Bullet.hs 158;" 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
homingDrawType src/Dodge/Projectile/Create.hs 16;" f
homingDrawType src/Dodge/Projectile/Create.hs 15;" f
homingModule src/Dodge/Item/Scope.hs 36;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 63;" f
@@ -5133,7 +5136,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 146;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 147;" 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
@@ -5382,7 +5385,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 173;" f
reduceSpinBy src/Dodge/Projectile/Update.hs 174;" 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
@@ -5398,7 +5401,7 @@ reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f
reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 440;" f
rememberSounds src/Dodge/Creature/Perception.hs 177;" f
remoteDetonate src/Dodge/Creature/Impulse/UseItem.hs 50;" f
remoteDetonate src/Dodge/Creature/Impulse/UseItem.hs 57;" f
remoteDetonator src/Dodge/Item/Scope.hs 63;" f
remoteScreen src/Dodge/Item/Scope.hs 59;" f
remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f
@@ -5654,7 +5657,7 @@ shardShape src/Dodge/Block/Debris.hs 181;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 284;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 75;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 76;" f
shellMag src/Dodge/Item/Ammo.hs 61;" f
shellModule src/Dodge/Item/Scope.hs 45;" f
shellShape src/Dodge/Projectile/Draw.hs 27;" f
@@ -5958,7 +5961,7 @@ toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f
toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 63;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 70;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 556;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 569;" f
@@ -6043,7 +6046,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 128;" f
trySpinByCID src/Dodge/Projectile/Update.hs 129;" 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 +6081,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 26;" f
upProjectile src/Dodge/Projectile/Update.hs 27;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla.hs 91;" f
updateArc src/Dodge/Tesla/Arc.hs 100;" f
@@ -6150,7 +6153,7 @@ updatePosEvents src/Dodge/Update.hs 573;" f
updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 365;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 368;" f
updateProjectile src/Dodge/Projectile/Update.hs 23;" f
updateProjectile src/Dodge/Projectile/Update.hs 24;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 22;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f
@@ -6221,20 +6224,20 @@ useGasParams src/Dodge/HeldUse.hs 506;" f
useHotkey src/Dodge/Creature/YourControl.hs 54;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 289;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 54;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 61;" f
useMagShield src/Dodge/Euse.hs 46;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 17;" f
useRewindGun src/Dodge/HeldUse.hs 708;" f
useRewindGun src/Dodge/HeldUse.hs 677;" 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 689;" f
useSelectedItem src/Dodge/Creature/Impulse/UseItem.hs 21;" f
useStopWatch src/Dodge/HeldUse.hs 658;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/HeldUse.hs 63;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 697;" f
useTimeScrollGun src/Dodge/HeldUse.hs 666;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
useUpdate src/Dodge/Creature/State.hs 433;" f