This commit is contained in:
2024-09-27 23:10:01 +01:00
parent 6c3d0d5def
commit d1690ed3ac
10 changed files with 124 additions and 194 deletions
+8 -1
View File
@@ -1 +1,8 @@
All good (617 modules, at 21:51:38)
/home/justin/Haskell/loop/src/Dodge/Data/Item/Use/Consumption/Ammo.hs:53:27-44: error:
• Not in scope: type constructor or class ProjectileCreate
Perhaps you meant one of these:
ProjectileUpdate (line 21), ProjectileDraw (line 18)
• In the Template Haskell quotation ''ProjectileCreate
|
53 | deriveJSON defaultOptions ''ProjectileCreate
| ^^^^^^^^^^^^^^^^^^
+7 -16
View File
@@ -18,22 +18,14 @@ import Dodge.Data.Payload
data ProjectileDraw = DrawShell | DrawRemoteShell | DrawDrone | DrawBlankProjectile
deriving (Show, Eq, Ord, Enum, Bounded, Read) --Generic, Flat)
data ProjectileCreate = CreateShell | CreateTrackingShell
deriving (Show, Eq, Ord, Enum, Bounded, Read) --Generic, Flat)
data ProjectileUpdate
= PJThrust {_pjuStart :: Int, _pjuEnd :: Int}
| PJSpin {_pjuTime :: Int, _pjuCID :: Int, _pjuSpinAmound :: Int}
-- | PJTrack {_pjuStart :: Int, _pjuEnd :: Int, _pjuScreenID :: Int}
| PJRemoteSetDirection {_pjuStart :: Int, _pjuEnd :: Int, _pjuControllerID :: Maybe Int}
| PJReduceSpin {_pjuReduceSpin :: Float}
-- | PJRemoteDirection {_pjuStart :: Int, _pjuEnd :: Int, _pjuCID :: Int, _pjuITID :: Int}
-- | PJSetScope {_pjuITID :: Int}
| PJRetireRemote {_pjuScreenID :: Maybe Int, _pjuTimer :: Int, _pjuPJID :: Int}
| PJDecTimMvVel
-- | PJShellCollisionCheck
| PJRemoteShellCollisionCheck {_pjuScreenID :: Maybe Int}
-- | PJRemoteShellExplosion
= ThrustPU {_pjuStart :: Int, _pjuEnd :: Int}
| StartSpinPU {_pjuTime :: Int, _pjuCID :: Int, _pjuSpinAmound :: Int}
| RemoteDirectionPU {_pjuStart :: Int, _pjuEnd :: Int, _pjuControllerID :: Maybe Int}
| ReduceSpinPU {_pjuReduceSpin :: Float}
| DestroyPU {_pjuScreenID :: Maybe Int, _pjuTimer :: Int}
| TimePU
| CollisionEffectPU {_pjuScreenID :: Maybe Int}
deriving (Show, Eq, Ord, Read) --Generic, Flat)
data AmmoType
@@ -58,7 +50,6 @@ makeLenses ''ProjectileUpdate
makeLenses ''AmmoType
deriveJSON defaultOptions ''GasFuel
deriveJSON defaultOptions ''ProjectileDraw
deriveJSON defaultOptions ''ProjectileCreate
deriveJSON defaultOptions ''ProjectileUpdate
deriveJSON defaultOptions ''GasCreate
deriveJSON defaultOptions ''ForceFieldType
+1 -1
View File
@@ -506,7 +506,7 @@ createProjectile magtree muz itm cr = fromMaybe failsound $ do
let mscreen = lookup RemoteScreenLink (magtree ^. ldtLeft)
j <- ammoitem ^? itLocation . ilInvID
aparams <- ammoitem ^? itUse . amagParams
return $ fireTrackingShell (mscreen ^? _Just . ldtValue) aparams muz itm cr
return $ createShell (mscreen ^? _Just . ldtValue) aparams muz itm cr
. startthesound
. useammo j
where
-3
View File
@@ -8,7 +8,6 @@ module Dodge.Item.Weapon (
module Dodge.Item.Weapon.Radar,
module Dodge.Item.Weapon.Utility,
module Dodge.Item.Weapon.BatteryGuns,
module Dodge.Item.Weapon.Launcher,
module Dodge.Item.Weapon.Drone,
) where
@@ -16,9 +15,7 @@ import Dodge.Item.Weapon.BatteryGuns
import Dodge.Item.Weapon.Drone
import Dodge.Item.Weapon.ExtraEffect
import Dodge.Item.Weapon.Grenade
import Dodge.Item.Weapon.Launcher
import Dodge.Item.Weapon.Radar
--import Dodge.Item.Weapon.Remote
import Dodge.Item.Weapon.Spawn
import Dodge.Item.Weapon.TriggerType
import Dodge.Item.Weapon.Utility
-28
View File
@@ -1,28 +0,0 @@
module Dodge.Item.Weapon.Launcher (
explodeRemoteRocket,
) where
import Dodge.SoundLogic
import Control.Lens
import Dodge.Data.World
--import Dodge.Item.Location
import Dodge.Payload
explodeRemoteRocket ::
-- | Item id
Maybe Int ->
-- | Projectile id
Int ->
World ->
World
explodeRemoteRocket mitid pjid w =
w
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote mitid 30 pjid]
& cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile
-- & itPoint . itUse . heldUse .~ HeldDoNothing
-- & itPoint . itUse . heldMods .~ DoNothingMod
& usePayload (_prjPayload thepj) (_prjPos thepj)
& stopSoundFrom (ShellSound pjid)
where
-- itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid-- _itemLocations (_cWorld w) IM.! itid
thepj = w ^?! cWorld . lWorld . projectiles . ix pjid
+3 -3
View File
@@ -6,9 +6,9 @@ import qualified IntMapHelp as IM
import Control.Lens
updateLinearShockwave :: LinearShockwave -> World -> World
updateLinearShockwave lw w
| t < 1 = w & cWorld . lWorld . linearShockwaves %~ IM.delete lwid
| otherwise = w & cWorld . lWorld . linearShockwaves . ix lwid . lwTimer -~ 1
updateLinearShockwave lw
| t < 1 = cWorld . lWorld . linearShockwaves %~ IM.delete lwid
| otherwise = cWorld . lWorld . linearShockwaves . ix lwid . lwTimer -~ 1
where
lwid = _lwID lw
t = _lwTimer lw
+10 -10
View File
@@ -1,5 +1,5 @@
module Dodge.Projectile.Create (
fireTrackingShell,
createShell,
) where
import Data.Maybe
@@ -9,8 +9,8 @@ import qualified IntMapHelp as IM
import LensHelp
-- assumes the mscreen is in your inventory
fireTrackingShell :: Maybe Item -> AmmoParams -> Muzzle -> Item -> Creature -> World -> World
fireTrackingShell mscreen aparams muz it cr w = w
createShell :: Maybe Item -> AmmoParams -> Muzzle -> Item -> Creature -> World -> World
createShell mscreen aparams muz it cr w = w
& updatescreen
& cWorld . lWorld . projectiles . at i
?~ Shell
@@ -26,12 +26,12 @@ fireTrackingShell mscreen aparams muz it cr w = w
, _prjPayload = _ampPayload aparams
, _prjTimer = 350
, _prjUpdates =
[ PJRemoteShellCollisionCheck (mscreen ^? _Just . itID) --Just screenid)
, PJDecTimMvVel
, PJSpin 335 (_crID cr) (_shellSpinAmount params)
, PJRemoteSetDirection (350 - thrustdelay) 0 (mscreen ^? _Just . itID)
, PJThrust (350 - thrustdelay) 0
, PJReduceSpin (1 - fromIntegral (_shellSpinDrag params) * 2 / 200)
[ CollisionEffectPU (mscreen ^? _Just . itID) --Just screenid)
, TimePU
, StartSpinPU 335 (_crID cr) (_shellSpinAmount params)
, RemoteDirectionPU (350 - thrustdelay) 0 (mscreen ^? _Just . itID)
, ThrustPU (350 - thrustdelay) 0
, ReduceSpinPU (1 - fromIntegral (_shellSpinDrag params) * 2 / 200)
]
}
where
@@ -44,6 +44,6 @@ fireTrackingShell mscreen aparams muz it cr w = w
. itUse
. atLinkedProjectile
?~ i
i = IM.newKey $ w ^. cWorld . lWorld . projectiles -- _props (_cWorld w)
i = IM.newKey $ w ^. cWorld . lWorld . projectiles
dir = _crDir cr + _mzRot muz
pos = _crPos cr +.+ rotateV dir (_mzPos muz)
+51 -85
View File
@@ -3,80 +3,62 @@ module Dodge.Projectile.Update
( updateProjectile
) where
import Dodge.Payload
import Control.Lens
import Data.Maybe
import Dodge.Base
import Dodge.Data.World
import Dodge.EnergyBall
import Dodge.Item.Location
import Dodge.Item.Weapon.Launcher
import Dodge.SoundLogic
import Dodge.WorldEvent.Cloud
import Geometry
import qualified IntMapHelp as IM
import RandomHelp
import Data.Foldable
updateProjectile :: Projectile -> World -> World
updateProjectile pj w' = foldr (`upProjectile` pj) w' (_prjUpdates pj)
--updateProjectile pj = case pj of
-- Shell{} -> upsProjectile pj
--
--upsProjectile :: Projectile -> World -> World
--upsProjectile pj w' = foldr (`upProjectile` pj) w' (_prjUpdates pj)
updateProjectile pj w = foldl' (\w' pu -> upProjectile pu pj w') w (_prjUpdates pj)
upProjectile :: ProjectileUpdate -> Projectile -> World -> World
upProjectile pu pj = case pu of
CollisionEffectPU mscreenid -> shellCollisionEffect mscreenid pj
TimePU -> decTimMvVel pj
ThrustPU st et
| act st et -> doThrust pj
| otherwise -> id
StartSpinPU t cid spinamount
| time == t -> trySpinByCID cid spinamount pj
| otherwise -> id
RemoteDirectionPU st et mscreenid
| act st et -> pjRemoteSetDirection mscreenid pj
| otherwise -> id
ReduceSpinPU x -> reduceSpinBy x (_prjID pj)
DestroyPU mitid 0 -> destroyProjectile mitid (_prjID pj)
-- the following requires that this is at the top of the update list, which is
-- not ideal
DestroyPU _ _ -> cWorld . lWorld . projectiles . ix (_prjID pj) . prjUpdates . ix 0 . pjuTimer -~ 1
where
time = _prjTimer pj
act st et = time <= st && time >= et
shellCollisionEffect :: Maybe Int -> Projectile -> World -> World
shellCollisionEffect mscreenid = shellCollisionCheck
$ \pj -> explodeShell mscreenid (_prjID pj)
shellCollisionCheck :: (Projectile -> World -> World) -> Projectile -> World -> World
shellCollisionCheck doExplode pj w
| time > 330 && circOnSomeWall oldPos 4 w = doExplode pj w
| time <= 330 && anythingHitCirc 2 oldPos newPos w = doExplode pj w
| time <= 0 = doExplode pj w
shellCollisionCheck f pj w
| time > 330 && circOnSomeWall oldPos 4 w = f pj w
| time <= 330 && anythingHitCirc 2 oldPos newPos w = f pj w
| time <= 0 = f pj w
| otherwise = w
where
time = _prjTimer pj
oldPos = _prjPos pj
vel = _prjVel pj
newPos = oldPos +.+ vel
newPos = oldPos +.+ _prjVel pj
remoteShellCollisionCheck :: Maybe Int -> Projectile -> World -> World
remoteShellCollisionCheck mscreenid = shellCollisionCheck
$ \pj -> explodeRemoteRocket mscreenid (_prjID pj)
--plainShellCollisionCheck :: Proj -> World -> World
--plainShellCollisionCheck = shellCollisionCheck $ \pj ->
-- usePayload (_prjPayload pj) (_prjPos pj)
-- . stopSoundFrom (ShellSound (_prjID pj))
-- . (cWorld . lWorld . projectiles %~ IM.delete (_prjID pj))
upProjectile :: ProjectileUpdate -> Projectile -> World -> World
upProjectile pu pj = case pu of
PJRemoteShellCollisionCheck mscreenid -> remoteShellCollisionCheck mscreenid pj
-- PJShellCollisionCheck -> plainShellCollisionCheck pj
PJDecTimMvVel -> decTimMvVel pj
PJThrust st et
| act st et -> doThrust pj
| otherwise -> id
PJSpin t cid spinamount
| ain t -> trySpinByCID cid spinamount pj
| otherwise -> id
PJRemoteSetDirection st et mscreenid
| act st et -> pjRemoteSetDirection mscreenid pj
| otherwise -> id
PJReduceSpin x -> reduceSpinBy x pj
-- PJRemoteDirection st et cid itid
-- | act st et -> setRemoteDir cid itid pj
-- | otherwise -> id
-- PJSetScope itid -> setRemoteScope itid (_prjPos pj)
PJRetireRemote mitid 0 pjid -> retireRemoteProj mitid pjid
-- the following requires that this is at the top of the update list, which is
-- not ideal
PJRetireRemote _ _ pjid -> cWorld . lWorld . projectiles . ix pjid . prjUpdates . ix 0 . pjuTimer -~ 1
where
time = _prjTimer pj
act st et = time <= st && time >= et
ain t = time == t
retireRemoteProj :: Maybe Int -> Int -> World -> World
retireRemoteProj mitid pjid w = w & cWorld . lWorld . projectiles %~ IM.delete pjid
destroyProjectile :: Maybe Int -> Int -> World -> World
destroyProjectile mitid pjid w = w & cWorld . lWorld . projectiles %~ IM.delete pjid
& removelink
where
removelink = fromMaybe id $ do
@@ -124,20 +106,6 @@ trySpinByCID cid i pj w = w & cWorld . lWorld . projectiles . ix pjid . prjSpin
_ -> 0
spinFactor = 5 * (6 - fromIntegral i)
--pjTrack :: Int -> Proj -> World -> World
--pjTrack crid pj w = rotateToTarget pj w
-- where
-- rotateToTarget _ = fromMaybe id $ do
-- tpos <- w ^? cWorld . lWorld . creatures . ix crid . crTargeting . ctPos . _Just
-- return $
-- cWorld . lWorld . projectiles . ix (_prjID pj) . prjSpin
-- .~ turnToAmount
-- 0.15
-- (_prjPos pj)
-- tpos
-- (argV $ _prjAcc pj)
-- --itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid
-- note this only allows YOU to remotely track projectiles
pjRemoteSetDirection :: Maybe Int -> Projectile -> World -> World
pjRemoteSetDirection mscreenid pj w = fromMaybe w $ do
@@ -150,23 +118,8 @@ pjRemoteSetDirection mscreenid pj w = fromMaybe w $ do
turntonewdir = magV (_prjAcc pj) *.* unitVectorAtAngle newdir
return $ w & cWorld . lWorld . projectiles . ix (_prjID pj) . prjAcc .~ turntonewdir
--pjTrack :: Int -> Proj -> World -> World
--pjTrack screenid pj w = w-- rotateToTarget pj w
-- where
-- rotateToTarget _ = fromMaybe id $ do
-- tpos <- w ^? cWorld . lWorld . creatures . ix crid . crTargeting . ctPos . _Just
-- return $
-- cWorld . lWorld . projectiles . ix (_prjID pj) . prjSpin
-- .~ turnToAmount
-- 0.15
-- (_prjPos pj)
-- tpos
-- (argV $ _prjAcc pj)
-- --itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid
reduceSpinBy :: Float -> Projectile -> World -> World
reduceSpinBy x pj = cWorld . lWorld . projectiles . ix (_prjID pj) . prjSpin *~ x
reduceSpinBy :: Float -> Int -> World -> World
reduceSpinBy x pjid = cWorld . lWorld . projectiles . ix pjid . prjSpin *~ x
decTimMvVel :: Projectile -> World -> World
decTimMvVel pj =
@@ -179,3 +132,16 @@ decTimMvVel pj =
rot = _prjSpin pj
vel = _prjVel pj
pjid = _prjID pj
explodeShell :: Maybe Int -> Int -> World -> World
explodeShell mitid pjid w =
w
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [DestroyPU mitid 30]
& cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile
-- & itPoint . itUse . heldUse .~ HeldDoNothing
-- & itPoint . itUse . heldMods .~ DoNothingMod
& usePayload (_prjPayload thepj) (_prjPos thepj)
& stopSoundFrom (ShellSound pjid)
where
-- itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid-- _itemLocations (_cWorld w) IM.! itid
thepj = w ^?! cWorld . lWorld . projectiles . ix pjid
+1 -1
View File
@@ -14,7 +14,7 @@ selectUse ittree _ w = fromMaybe w $ do
pjid <- ittree ^? ldtValue . itUse . atLinkedProjectile . _Just
thepj <- w ^? cWorld . lWorld . projectiles . ix pjid
return $ w
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote (Just itid) 30 pjid] -- 69 is placeholder, should be removed
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [DestroyPU (Just itid) 30] -- 69 is placeholder, should be removed
& cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile
-- & itPoint . itUse . heldUse .~ HeldDoNothing
-- & itPoint . itUse . heldMods .~ DoNothingMod
+43 -46
View File
@@ -85,7 +85,7 @@ AmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 1;" m
AmmoPosition src/Dodge/Item/AmmoPosition.hs 8;" t
AmmoPosition src/Dodge/Item/AmmoPosition.hs 2;" m
AmmoType src/Dodge/Data/Ammo.hs 30;" t
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 34;" t
Amount src/Dodge/Item/Amount.hs 1;" m
AnRoom src/Dodge/Annotation/Data.hs 17;" C
AnTree src/Dodge/Annotation/Data.hs 18;" C
@@ -226,7 +226,7 @@ BeamShooterParams src/Dodge/Data/Item/Use.hs 97;" 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 42;" C
BeltBulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 37;" C
Bezier src/Dodge/Item/Weapon/Bezier.hs 1;" m
Bezier src/Geometry/Bezier.hs 1;" m
BezierTrajectory src/Dodge/Data/Bullet.hs 52;" C
@@ -298,7 +298,7 @@ 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/Ammo.hs 37;" C
BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 41;" C
BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 36;" C
BulletBeltAttachment src/Dodge/Data/Item.hs 54;" C
BulletClipAttachment src/Dodge/Data/Item.hs 53;" C
BulletEffect src/Dodge/Data/Bullet.hs 36;" t
@@ -394,7 +394,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 51;" C
ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" 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
@@ -426,6 +426,7 @@ Cognizant src/Dodge/Creature/AlertLevel/Data.hs 27;" C
Cognizant src/Dodge/Creature/Perception/Data.hs 74;" C
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 31;" C
Collision_test src/Dodge/Data/Config.hs 84;" C
Color src/Color/Data.hs 33;" t
Color src/Color.hs 1;" m
@@ -540,11 +541,11 @@ 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/Gas.hs 6;" C
CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 54;" C
CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" C
CreateHeldLight src/Dodge/Data/ItEffect.hs 41;" C
CreateHeldLight src/Dodge/Data/Item/Effect.hs 25;" C
CreatePoisonGas src/Dodge/Data/Gas.hs 6;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 54;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" C
CreateShell src/Dodge/Data/Ammo.hs 17;" C
CreateShell src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" C
CreateShieldWall src/Dodge/Data/ItEffect.hs 42;" C
@@ -673,7 +674,7 @@ DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
DefaultDrawButton src/Dodge/Data/Button.hs 17;" C
DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C
DefaultFlareType src/Dodge/Data/Item/Use.hs 142;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" C
DefaultHeldParams src/Dodge/Data/Item/Use.hs 84;" C
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
@@ -685,6 +686,7 @@ DestroyBeing src/Dodge/Data/Scenario.hs 8;" C
DestroyBullet src/Dodge/Data/Bullet.hs 37;" C
DestroyDamage src/Dodge/Particle/Bullet/DestroyDamage.hs 1;" m
DestroyItem src/Dodge/Data/Scenario.hs 7;" C
DestroyPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" C
DestroyTLS src/Dodge/Data/LightSource.hs 22;" C
Detector src/Dodge/Combine/Data.hs 224;" t
Detector src/Dodge/Data/Item/Combine.hs 220;" t
@@ -782,7 +784,7 @@ DrawShell src/Dodge/Data/Item/Use/Consumption/Ammo.hs 18;" C
DrawnWall src/Dodge/Data/Wall.hs 41;" C
Drone src/Dodge/Item/Weapon/Drone.hs 1;" m
DroneAmmo src/Dodge/Data/Ammo.hs 41;" C
DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 44;" C
DroneAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C
DropAll src/Dodge/Creature/State/Data.hs 15;" C
DropAll src/Dodge/Data/Creature/State.hs 24;" C
DropAmount src/Dodge/Creature/State/Data.hs 16;" C
@@ -832,7 +834,7 @@ EffectWhileRoot src/Dodge/Data/Item/Effect.hs 28;" C
EighthRes src/Dodge/Data/Config.hs 95;" C
Either src/Dodge/Layout/Tree/Either.hs 4;" m
Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" C
ElectricalAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C
Electronics src/Dodge/Data/Material.hs 11;" C
EllShad src/Picture/Data.hs 41;" C
Enable_debug src/Dodge/Data/Config.hs 68;" C
@@ -995,7 +997,7 @@ FootstepSound src/Dodge/Data/SoundOrigin.hs 27;" C
ForceField src/Dodge/ForceField.hs 1;" m
ForceField src/Dodge/Wall/ForceField.hs 1;" m
ForceFieldAmmo src/Dodge/Data/Ammo.hs 47;" C
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 48;" t
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 43;" t
Foreground src/Dodge/Default/Foreground.hs 1;" m
Foreground src/Dodge/Room/Foreground.hs 1;" m
ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t
@@ -1025,11 +1027,11 @@ GameRoom src/Dodge/GameRoom.hs 8;" m
Gas src/Dodge/Data/Gas.hs 3;" m
Gas src/Dodge/Gas.hs 1;" m
GasAmmo src/Dodge/Data/Ammo.hs 43;" C
GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 45;" C
GasAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 40;" C
GasCloud src/Dodge/Data/Cloud.hs 31;" C
GasCreate src/Dodge/Data/Gas.hs 6;" t
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 54;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 51;" t
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 49;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 46;" t
GasParams src/Dodge/Data/Item/Use.hs 122;" C
GasSprayParams src/Dodge/Data/Item/Use.hs 85;" C
GenCr src/Dodge/Creature/State/Data.hs 24;" C
@@ -1862,19 +1864,12 @@ PIPE src/Dodge/Combine/Data.hs 27;" C
PIPE src/Dodge/Data/Item/Combine.hs 30;" C
PISTOL src/Dodge/Combine/Data.hs 135;" C
PISTOL src/Dodge/Data/Item/Combine.hs 161;" C
PJDecTimMvVel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C
PJReduceSpin src/Dodge/Data/Ammo.hs 24;" C
PJReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" C
PJRemoteDirection src/Dodge/Data/Ammo.hs 25;" C
PJRemoteSetDirection src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C
PJRemoteShellCollisionCheck src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" C
PJRetireRemote src/Dodge/Data/Ammo.hs 27;" C
PJRetireRemote src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C
PJSetScope src/Dodge/Data/Ammo.hs 26;" C
PJSpin src/Dodge/Data/Ammo.hs 22;" C
PJSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" C
PJThrust src/Dodge/Data/Ammo.hs 21;" C
PJThrust src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" C
PJTrack src/Dodge/Data/Ammo.hs 23;" C
PLANK src/Dodge/Combine/Data.hs 35;" C
PLANK src/Dodge/Data/Item/Combine.hs 39;" C
@@ -2007,11 +2002,11 @@ PreviousArcEffect src/Dodge/Data/Item/Params.hs 61;" t
PrimitiveMode src/Shader/Data.hs 99;" t
Prison src/Dodge/Data/Scenario.hs 65;" C
Procedural src/Dodge/Room/Procedural.hs 2;" m
Proj src/Dodge/Data/Projectile.hs 14;" t
Projectile src/Dodge/Data/Projectile.hs 14;" t
Projectile src/Dodge/Data/Projectile.hs 6;" m
Projectile src/Dodge/Projectile.hs 1;" m
ProjectileAmmo src/Dodge/Data/Ammo.hs 31;" C
ProjectileAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 40;" C
ProjectileAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" C
ProjectileCreate src/Dodge/Data/Ammo.hs 17;" t
ProjectileCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" t
ProjectileDraw src/Dodge/Data/Ammo.hs 14;" t
@@ -2136,6 +2131,7 @@ ReactorSS src/Dodge/Data/Scenario.hs 111;" C
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 28;" C
Reflect src/Dodge/Wall/Reflect.hs 1;" m
Refracting src/Dodge/Data/Item/Params.hs 29;" C
Regex src/Regex.hs 1;" m
@@ -2146,6 +2142,7 @@ ReloadAction src/Dodge/Data/LoadAction.hs 26;" C
ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t
Reloading src/Dodge/Reloading.hs 1;" m
Remote src/Dodge/Item/Weapon/Remote.hs 1;" m
RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 27;" C
RemoteScope src/Dodge/Data/Item/Attachment.hs 23;" C
RemoteScope src/Dodge/Item/Attachment/Data.hs 26;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 20;" C
@@ -2459,6 +2456,7 @@ Start src/Dodge/Room/Start.hs 3;" m
StartNewGame src/Dodge/StartNewGame.hs 1;" m
StartRoom src/Dodge/Layout/Tree/Annotate.hs 20;" C
StartSentinelPost src/Dodge/Data/ActionPlan.hs 153;" C
StartSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" C
State src/Dodge/Creature/State.hs 1;" m
State src/Dodge/Data/Creature/State.hs 6;" m
StaticWalls src/Dodge/LevelGen/StaticWalls.hs 5;" m
@@ -2632,12 +2630,14 @@ Text src/Picture/Text.hs 1;" m
TextShad src/Picture/Data.hs 39;" C
ThingsHit src/Dodge/WorldEvent/ThingsHit.hs 6;" m
ThirdPartyLens src/ThirdPartyLens.hs 2;" m
ThrustPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" C
Tile src/Data/Tile.hs 14;" t
Tile src/Data/Tile.hs 3;" m
Tile src/Dodge/Tile.hs 1;" m
Tile src/Tile.hs 1;" m
Tiled src/Data/Tile.hs 13;" C
TimeFlowStatus src/Dodge/Data/World.hs 57;" t
TimePU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 30;" C
TimerTLS src/Dodge/Data/LightSource.hs 23;" C
Tiny src/Shape/Data.hs 32;" C
TmId src/Dodge/Data/Terminal.hs 58;" C
@@ -2745,7 +2745,7 @@ Update src/Dodge/Machine/Update.hs 1;" m
Update src/Dodge/Magnet/Update.hs 1;" m
Update src/Dodge/Particle/Bullet/Update.hs 3;" m
Update src/Dodge/Particle/Update.hs 1;" m
Update src/Dodge/Projectile/Update.hs 3;" m
Update src/Dodge/Projectile/Update.hs 2;" m
Update src/Dodge/Prop/Update.hs 1;" m
Update src/Dodge/Shockwave/Update.hs 1;" m
Update src/Dodge/TractorBeam/Update.hs 1;" m
@@ -3731,29 +3731,25 @@ _piercedPoints src/Dodge/Data/Creature/State.hs 30;" f
_pjuCID src/Dodge/Data/Ammo.hs 22;" f
_pjuCID src/Dodge/Data/Ammo.hs 25;" f
_pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f
_pjuControllerID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f
_pjuControllerID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 27;" f
_pjuEnd src/Dodge/Data/Ammo.hs 21;" f
_pjuEnd src/Dodge/Data/Ammo.hs 25;" f
_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" f
_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f
_pjuITID src/Dodge/Data/Ammo.hs 23;" f
_pjuITID src/Dodge/Data/Ammo.hs 26;" f
_pjuPJID src/Dodge/Data/Ammo.hs 27;" f
_pjuPJID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f
_pjuReduceSpin src/Dodge/Data/Ammo.hs 24;" f
_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f
_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f
_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 35;" f
_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f
_pjuScreenID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f
_pjuSpinAmound src/Dodge/Data/Ammo.hs 22;" f
_pjuSpinAmound src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f
_pjuStart src/Dodge/Data/Ammo.hs 21;" f
_pjuStart src/Dodge/Data/Ammo.hs 25;" f
_pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" f
_pjuStart src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f
_pjuTime src/Dodge/Data/Ammo.hs 22;" f
_pjuTime src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f
_pjuTimer src/Dodge/Data/Ammo.hs 27;" f
_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" f
_pjuTimer src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f
_plIDCont src/Dodge/Data/GenWorld.hs 83;" f
_plMID src/Dodge/Data/GenWorld.hs 82;" f
_plOrder src/Dodge/Data/GenWorld.hs 79;" f
@@ -5002,6 +4998,7 @@ debugOn src/Dodge/Data/Config.hs 149;" f
debugSelectCreatureList src/Dodge/Debug.hs 61;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 52;" f
decTimMvVel src/Dodge/Item/Weapon/Shell.hs 9;" f
decTimMvVel src/Dodge/Projectile/Update.hs 125;" f
decodedtmap src/Dodge/Terminal.hs 203;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f
@@ -5137,6 +5134,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 21;" f
destroyMount src/Dodge/Block.hs 98;" f
destroyMounts src/Dodge/Block.hs 95;" f
destroyProjectile src/Dodge/Projectile/Update.hs 61;" f
detV src/Geometry/Vector.hs 93;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 504;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 19;" f
@@ -5239,7 +5237,7 @@ doTerminalEffectLB src/Dodge/Terminal/LeftButton.hs 12;" 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 94;" f
doThrust src/Dodge/Projectile/Update.hs 72;" f
doTimeScroll src/Dodge/Update.hs 185;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 109;" f
@@ -5341,12 +5339,12 @@ drawPathEdge src/Dodge/Debug/Picture.hs 220;" f
drawPathing src/Dodge/Debug/Picture.hs 383;" f
drawPlus src/Dodge/Render/Picture.hs 89;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 10;" f
drawProjectile src/Dodge/Projectile/Draw.hs 12;" f
drawProp src/Dodge/Prop/Draw.hs 15;" f
drawProp' src/Dodge/Prop/Draw.hs 12;" f
drawRBOptions src/Dodge/Render/HUD.hs 132;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 27;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 29;" f
drawSelectionCursor src/Dodge/Render/List.hs 40;" f
drawSelectionList src/Dodge/Render/List.hs 28;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 10;" f
@@ -5354,7 +5352,7 @@ drawSensor src/Dodge/Machine/Draw.hs 19;" 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 17;" f
drawShell src/Dodge/Projectile/Draw.hs 19;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 6;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f
@@ -5450,6 +5448,7 @@ expireAndDamage src/Dodge/Bullet.hs 183;" f
expireAndDamage src/Dodge/Particle/HitEffect/ExpireAndDamage.hs 11;" f
expireAndDamageFL src/Dodge/Flame.hs 48;" f
explodeRemoteRocket src/Dodge/Item/Weapon/Launcher.hs 11;" f
explodeShell src/Dodge/Projectile/Update.hs 137;" f
explosionFlashAt src/Dodge/WorldEvent/Flash.hs 56;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 396;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f
@@ -6492,7 +6491,7 @@ pistol src/Dodge/Item/Held/Stick.hs 35;" f
pistol src/Dodge/Item/Weapon/BulletGun/Stick.hs 59;" f
pistolCrit src/Dodge/Creature/PistolCrit.hs 13;" f
pistolerRoom src/Dodge/Room/Room.hs 323;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 147;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 111;" 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
@@ -6792,7 +6791,7 @@ rectXH src/Geometry/Polygon.hs 36;" f
rectXY src/Geometry/Polygon.hs 39;" f
rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f
red src/Color.hs 14;" f
reduceSpinBy src/Dodge/Projectile/Update.hs 172;" f
reduceSpinBy src/Dodge/Projectile/Update.hs 122;" f
reflDirWall src/Dodge/Base/Wall.hs 16;" f
reflDirWall src/Dodge/Wall/Reflect.hs 6;" f
reflVelWall src/Dodge/Base/Wall.hs 24;" f
@@ -6817,8 +6816,7 @@ reloadSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
rememberSounds src/Dodge/Creature/Perception.hs 177;" f
remoteBombUnarmedPic src/Dodge/Item/Weapon/Grenade.hs 268;" f
remoteScreen src/Dodge/Item/Scope.hs 24;" f
remoteShellCollisionCheck src/Dodge/Projectile/Update.hs 42;" f
remoteShellShape src/Dodge/Projectile/Draw.hs 39;" f
remoteShellShape src/Dodge/Projectile/Draw.hs 41;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 262;" f
removeEither src/Dodge/Layout/Tree/Either.hs 41;" f
removeHotkey src/Dodge/Hotkey.hs 41;" f
@@ -6852,7 +6850,6 @@ restrictLinkType src/Dodge/RoomLink.hs 32;" f
restrictOutLinks src/Dodge/RoomLink.hs 45;" f
restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f
resumeSound src/Dodge/SoundLogic.hs 45;" f
retireRemoteProj src/Dodge/Projectile/Update.hs 83;" f
retreatActionsPistol src/Dodge/Humanoid.hs 248;" f
retreatFireLauncher src/Dodge/Humanoid.hs 269;" f
retreatPointForFrom src/Dodge/Creature/Action/Flee.hs 7;" f
@@ -7101,9 +7098,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 239;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 30;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 50;" f
shellCollisionEffect src/Dodge/Projectile/Update.hs 46;" f
shellMag src/Dodge/Item/Ammo.hs 54;" f
shellShape src/Dodge/Projectile/Draw.hs 24;" f
shellShape src/Dodge/Projectile/Draw.hs 26;" f
shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f
shieldWall src/Dodge/Euse.hs 114;" f
shiftByV2 src/Dodge/PlacementSpot.hs 239;" f
@@ -7601,7 +7599,7 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySiphonFuel src/Dodge/Euse.hs 46;" f
trySpinByCID src/Dodge/Projectile/Update.hs 115;" f
trySpinByCID src/Dodge/Projectile/Update.hs 93;" f
tryStartLoadMagazine src/Dodge/Reloading.hs 57;" f
tryStartLoading src/Dodge/Reloading.hs 50;" f
tryUseItem src/Dodge/Creature/Action/UseItem.hs 20;" f
@@ -7644,7 +7642,7 @@ unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f
upCT src/Dodge/Targeting.hs 34;" f
upHammer src/Dodge/Default.hs 77;" f
upProjectile src/Dodge/Projectile/Update.hs 55;" f
upProjectile src/Dodge/Projectile/Update.hs 24;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAutoRecharge src/Dodge/Creature/State.hs 271;" f
@@ -7715,7 +7713,7 @@ updatePreload src/Dodge/PreloadData.hs 12;" f
updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 66;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 69;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updateProjectile src/Dodge/Projectile/Update.hs 21;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f
updateRadarBlip src/Dodge/RadarBlip.hs 8;" f
@@ -7781,7 +7779,6 @@ upperPrismPolyST src/Shape.hs 106;" f
upperPrismPolySU src/Shape.hs 112;" f
upperPrismPolyTS src/Shape.hs 118;" f
upperRounded src/Shape.hs 181;" f
upsProjectile src/Dodge/Projectile/Update.hs 52;" f
useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 20;" f
useC src/Dodge/Cuse.hs 8;" f