Simplify sparks

This commit is contained in:
2025-06-07 10:07:16 +01:00
parent 7bee1549bf
commit b4bdfbf2c3
13 changed files with 101 additions and 102 deletions
+1 -3
View File
@@ -25,13 +25,11 @@ updateExpBarrel cr w
damages = _csDamage $ _crState cr
pierceSparks :: [World -> World]
pierceSparks =
zipWith3
zipWith
(\p a -> createBarrelSpark (_crPos cr +.+ p) (a + argV p))
poss
as
colids
as = randomRs (-0.7, 0.7) g
colids = randomRs (0, 11) g
poss = _piercedPoints $ _csSpState $ _crState cr
newCr = Just $ applyFuseDamage $ set (crState . csDamage) [] $ damsToExpBarrel damages cr
applyFuseDamage cr' =
+1 -2
View File
@@ -2,7 +2,6 @@ module Dodge.Creature.Damage where
import Dodge.Creature.Material
import Dodge.Creature.Mass
import Color
import Data.List
import Dodge.Creature.Test
import Dodge.Data.World
@@ -58,7 +57,7 @@ applyIndividualDamage' cr w dm = case _dmType dm of
applyPiercingDamage :: Creature -> Damage -> World -> World
applyPiercingDamage cr dm
| crIsArmouredFrom p cr = colSpark (brightX 10 1.5 orange) p1 (argV (p1 -.- p))
| crIsArmouredFrom p cr = makeSpark NormalSpark p1 (argV (p1 -.- p))
| otherwise = damageHP cr $ _dmAmount dm
where
p = _dmAt dm
+1 -2
View File
@@ -20,8 +20,7 @@ data Sensor
= DamageSensor
{ _sensToggle :: Bool
, _sensAmount :: Int
, -- , _sensType :: DamageType
_sensType :: SensorType
, _sensType :: SensorType
, _sensDraw :: (PaletteColor, DecorationShape)
, _sensThreshold :: Int
}
+6 -5
View File
@@ -5,22 +5,23 @@
module Dodge.Data.Spark where
import Color
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Dodge.Data.Damage.Type
--import Dodge.Data.Damage.Type
import Geometry.Data
data Spark = Spark
{ _skVel :: Point2
, _skColor :: Color
, _skPos :: Point2
, _skOldPos :: Point2
, _skWidth :: Float
, _skDamageType :: DamageType
, _skType :: SparkType
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data SparkType = ElectricSpark | FireSpark | NormalSpark
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Spark
deriveJSON defaultOptions ''SparkType
deriveJSON defaultOptions ''Spark
-1
View File
@@ -152,7 +152,6 @@ mcProxTest mc w = case mc ^? mcType . _McSensor . proxRequirement of
where
cr = you w
--senseDamage :: Int -> DamageType -> Machine -> World -> World
senseDamage :: Int -> SensorType -> Machine -> World -> World
senseDamage threshold dt mc =
(cWorld . lWorld . machines . ix mcid %~ upmc)
+2 -4
View File
@@ -19,8 +19,8 @@ defDamageMaterial dm _ w = (_dmAmount dm, w)
damageStone :: Damage -> Float -> World -> (Int, World)
damageStone dm dir = case _dmType dm of
LASERING -> a 0 $ colSparkRandDir 0.2 lSparkCol outTo (argV $ reflectIn (p -.- sp) v)
PIERCING -> a d $ colSparkRandDir 0.2 pSparkCol outTo (argV $ reflectIn (p -.- sp) v)
LASERING -> a 0 $ makeSpark NormalSpark outTo (argV $ reflectIn (p -.- sp) v)
PIERCING -> a d $ makeSpark FireSpark outTo (argV $ reflectIn (p -.- sp) v)
BLUNT -> a d id
SHATTERING -> a d id
CRUSHING -> a d id
@@ -39,8 +39,6 @@ damageStone dm dir = case _dmType dm of
sp = _dmFrom dm
p = _dmAt dm
outTo = p +.+ squashNormalizeV (sp -.- p)
pSparkCol = V4 5 1 0.5 2
lSparkCol = V4 20 (-5) 0 1
--damageGlass :: Damage -> Float -> World -> (World,Int)
--damageGlass dm dir w = w & case _dmType dm of
+1 -3
View File
@@ -1,6 +1,5 @@
module Dodge.PosEvent where
import Color
import Control.Monad.State
import Dodge.Data.World
import Dodge.Spark
@@ -18,8 +17,7 @@ posEventEffect pv = case _pvType pv of
SparkSpawner -> spawnElectricalSparks (_pvPos pv)
spawnElectricalSparks :: Point2 -> World -> World
spawnElectricalSparks = randSpark ELECTRICAL rspeed rcol rdir
spawnElectricalSparks = randSpark ElectricSpark rspeed rdir
where
rspeed = state (randomR (3, 6))
rcol = brightX 100 1.5 <$> takeOne [white, azure, blue, cyan]
rdir = state $ randomR (0, 2 * pi)
+34 -31
View File
@@ -1,14 +1,13 @@
module Dodge.Spark (
updateSpark,
colSpark,
colSparkRandDir,
sparkRandDir,
createBarrelSpark,
randColDirSpark,
randDirSpark,
randSpark,
makeSpark,
) where
import Dodge.Damage
import Color
import Control.Monad.State
import Dodge.Data.World
import Dodge.WorldEvent.ThingsHit
@@ -16,6 +15,7 @@ import Geometry
import LensHelp
import System.Random
updateSpark :: World -> Spark -> (World, Maybe Spark)
updateSpark w sk
| magV (_skVel sk) < 1 = (w, Nothing)
@@ -40,68 +40,71 @@ sparkDam' ::
sparkDam' sk sp ep mayEiCrWl = case mayEiCrWl of
(hitp, eicrwl) -> damageCrWl (thedam hitp) eicrwl
where
thedam hitp = Damage (_skDamageType sk) 1 sp hitp ep NoDamageEffect
thedam hitp = Damage (sparkToDamage sk) 10 sp hitp ep NoDamageEffect
createBarrelSpark :: Point2 -> Float -> Int -> World -> World
createBarrelSpark pos dir colid = colSparkRandDir 0.1 (numColor colid) pos dir
sparkToDamage :: Spark -> DamageType
sparkToDamage sp = case _skType sp of
ElectricSpark ->ELECTRICAL
FireSpark -> FLAMING
NormalSpark -> SPARKING
colSpark :: Color -> Point2 -> Float -> World -> World
colSpark = colSparkRandDir 0.7
createBarrelSpark :: Point2 -> Float -> World -> World
createBarrelSpark pos dir = sparkRandDir 0.1 pos dir
randColDirSpark ::
State StdGen Color ->
makeSpark :: SparkType -> Point2 -> Float -> World -> World
makeSpark st p d = cWorld . lWorld . sparks
.:~ Spark
{ _skVel = rotateV d (V2 5 0)
, _skPos = p
, _skOldPos = p
, _skType = st
}
randDirSpark ::
State StdGen Float ->
Point2 ->
World ->
World
randColDirSpark randcol randdir pos w =
randDirSpark randdir pos w =
w
& randGen .~ g
& cWorld . lWorld . sparks
.:~ Spark
{ _skVel = rotateV dir (V2 5 0)
, _skColor = col
, _skPos = pos
, _skOldPos = pos
, _skWidth = 1
, _skDamageType = SPARKING
, _skType = NormalSpark
}
where
((col, dir), g) = (`runState` _randGen w) $ do
c <- randcol
(dir, g) = (`runState` _randGen w) $ do
d <- randdir
return (c, d)
return d
randSpark ::
DamageType ->
SparkType ->
State StdGen Float ->
State StdGen Color ->
State StdGen Float ->
Point2 ->
World ->
World
randSpark dt randspeed randcol randdir pos w =
randSpark dt randspeed randdir pos w =
w
& randGen .~ g
& cWorld . lWorld . sparks
.:~ Spark
{ _skVel = rotateV dir (V2 speed 0)
, _skColor = col
, _skPos = pos
, _skOldPos = pos
, _skWidth = 1
, _skDamageType = dt
, _skType = dt
}
where
((col, dir, speed), g) = (`runState` _randGen w) $ do
c <- randcol
((dir, speed), g) = (`runState` _randGen w) $ do
d <- randdir
x <- randspeed
return (c, d, x)
return (d, x)
colSparkRandDir :: Float -> Color -> Point2 -> Float -> World -> World
colSparkRandDir a col pos dir =
randColDirSpark
(return col)
sparkRandDir :: Float -> Point2 -> Float -> World -> World
sparkRandDir a pos dir =
randDirSpark
(state $ randomR (dir - a, dir + a))
pos
+10 -3
View File
@@ -1,11 +1,18 @@
module Dodge.Spark.Draw where
module Dodge.Spark.Draw (drawSpark) where
import Dodge.Data.Spark
import Picture
import Linear
drawSpark :: Spark -> Picture
drawSpark pt =
setLayer BloomNoZWrite
. setDepth 20
. color (_skColor pt)
$ thickLine (_skWidth pt) [_skOldPos pt, _skPos pt]
. color (skColor pt)
$ thickLine 3 [_skOldPos pt, _skPos pt, _skPos pt + _skVel pt]
skColor :: Spark -> Color
skColor sk = case _skType sk of
ElectricSpark -> brightX 100 1.5 cyan
FireSpark -> V4 20 (-5) 0 1
NormalSpark -> V4 2 1.5 0.5 2
+1 -1
View File
@@ -26,7 +26,7 @@ import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
testStringInit :: Universe -> [String]
testStringInit u = [show $ u ^. uvWorld . unpauseClock]
testStringInit _ = []
-- foldMap prettyShort $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crTwist
-- prettyShort $ u ^.. uvWorld . cWorld . lWorld . teslaArcs . ix 0 . taArcSteps . each . asObject
--testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles
+1 -2
View File
@@ -559,9 +559,8 @@ updateTeslaArc w pt
thearc = _taArcSteps pt
makeaspark =
randSpark
ELECTRICAL
ElectricSpark
(state (randomR (3, 6)))
(brightX 100 1.5 <$> takeOne [white, azure, blue, cyan])
rdir
lp
makesparks = makeaspark . makeaspark . makeaspark
+6 -12
View File
@@ -23,8 +23,8 @@ damageWallEffect dm wl = case _wlMaterial wl of
stoneWallDamage :: Damage -> Wall -> World -> (World, Damage)
stoneWallDamage dm wl = case _dmType dm of
LASERING -> a 0 $ colSparkRandDir 0.2 lSparkCol outTo (reflDirWall sp p wl)
PIERCING -> a d $ colSparkRandDir 0.2 pSparkCol outTo (reflDirWall sp p wl) . wlDustAt wl outTo
PIERCING -> a d $ makeSpark NormalSpark outTo (reflDirWall sp p wl) . wlDustAt wl outTo
LASERING -> a 0 $ makeSpark FireSpark outTo (reflDirWall sp p wl)
BLUNT -> a d $ wlDustAt wl outTo
SHATTERING -> a d $ muchWlDustAt wl outTo
CRUSHING -> a d id
@@ -42,14 +42,12 @@ stoneWallDamage dm wl = case _dmType dm of
sp = _dmFrom dm
p = _dmAt dm
outTo = p +.+ squashNormalizeV (sp -.- p)
pSparkCol = V4 5 1 0.5 2
lSparkCol = V4 20 (-5) 0 1
glassWallDamage :: Damage -> Wall -> World -> (World, Damage)
glassWallDamage dm wl w =
w & case _dmType dm of
LASERING -> a 0 $ colSparkRandDir 0.2 lSparkCol outTo (reflDirWall sp p wl)
PIERCING -> a d $ dosplint . colSparkRandDir 0.2 pSparkCol outTo (reflDirWall sp p wl) . wlDustAt wl outTo
LASERING -> a 0 $ makeSpark FireSpark outTo (reflDirWall sp p wl)
PIERCING -> a d $ dosplint . makeSpark NormalSpark outTo (reflDirWall sp p wl) . wlDustAt wl outTo
BLUNT -> a d $ dosplint . wlDustAt wl outTo
SHATTERING -> a d $ dosplint . muchWlDustAt wl outTo
CRUSHING -> a d dosplint
@@ -73,13 +71,11 @@ glassWallDamage dm wl w =
sp = _dmFrom dm
p = _dmAt dm
outTo = p +.+ squashNormalizeV (sp -.- p)
pSparkCol = V4 5 1 0.5 2
lSparkCol = V4 20 (-5) 0 1
crystalWallDamage :: Damage -> Wall -> World -> (World, Damage)
crystalWallDamage dm wl = case _dmType dm of
LASERING -> a 0 $ colSparkRandDir 0.2 lSparkCol outTo (reflDirWall sp p wl)
PIERCING -> a 0 $ colSparkRandDir 0.2 pSparkCol outTo (reflDirWall sp p wl) . wlDustAt wl outTo
LASERING -> a 0 $ makeSpark FireSpark outTo (reflDirWall sp p wl)
PIERCING -> a 0 $ makeSpark NormalSpark outTo (reflDirWall sp p wl)-- . wlDustAt wl outTo
BLUNT -> a 0 $ wlDustAt wl outTo
SHATTERING -> a d $ muchWlDustAt wl outTo
CRUSHING -> a 0 id
@@ -97,8 +93,6 @@ crystalWallDamage dm wl = case _dmType dm of
sp = _dmFrom dm
p = _dmAt dm
outTo = p +.+ squashNormalizeV (sp -.- p)
pSparkCol = V4 5 1 0.5 2
lSparkCol = V4 20 (-5) 0 1
dirtWallDamage :: Damage -> Wall -> World -> (World, Damage)
dirtWallDamage dm wl = case _dmType dm of
+37 -33
View File
@@ -314,7 +314,7 @@ Cleat src/Dodge/Cleat.hs 2;" m
Climate src/Dodge/Data/Scenario.hs 32;" C
Clock src/Dodge/Clock.hs 1;" m
CloseToMelee src/Dodge/Data/ActionPlan.hs 187;" C
CloseToggle src/Dodge/Data/Machine/Sensor.hs 46;" t
CloseToggle src/Dodge/Data/Machine/Sensor.hs 44;" t
Close_shape_culling src/Dodge/Data/Config.hs 79;" C
Cloud src/Dodge/Data/Cloud.hs 18;" t
Cloud src/Dodge/Cloud.hs 1;" m
@@ -472,7 +472,7 @@ DamageCircle src/Dodge/DamageCircle.hs 1;" m
DamageEffect src/Dodge/Data/Damage.hs 21;" t
DamageEffect src/Dodge/Wall/DamageEffect.hs 1;" m
DamageLaser src/Dodge/Data/Laser.hs 17;" C
DamageSensor src/Dodge/Data/Machine/Sensor.hs 21;" C
DamageSensor src/Dodge/Data/Machine/Sensor.hs 20;" C
DamageType src/Dodge/Data/Damage/Type.hs 11;" t
Data src/Color/Data.hs 7;" m
Data src/Dodge/Annotation/Data.hs 4;" m
@@ -619,6 +619,7 @@ EffectWhileRoot src/Dodge/Data/Item/Effect.hs 28;" C
EighthRes src/Dodge/Data/Config.hs 97;" C
Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricSensor src/Dodge/Data/Machine/Sensor/Type.hs 12;" C
ElectricSpark src/Dodge/Data/Spark.hs 25;" C
ElectricalAmmo src/Dodge/Data/AmmoType.hs 9;" C
Electronics src/Dodge/Data/Material.hs 11;" C
EllShad src/Picture/Data.hs 39;" C
@@ -677,6 +678,7 @@ Faction src/Dodge/Data/Creature/State.hs 27;" t
Factory src/Dodge/Data/Scenario.hs 56;" C
FailedResource src/Dodge/Data/Scenario.hs 37;" t
FetchItem src/Dodge/Data/Scenario.hs 11;" C
FireSpark src/Dodge/Data/Spark.hs 25;" C
Fixated src/Dodge/Data/Creature/Perception.hs 62;" C
FixedCoordLayer src/Picture/Data.hs 28;" C
FixedRate src/Dodge/Data/Item/HeldDelay.hs 15;" C
@@ -936,7 +938,7 @@ InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C
Investigate src/Dodge/Data/ActionPlan.hs 184;" C
Invisible src/Dodge/Data/CamouflageStatus.hs 7;" C
InwardShockwave src/Dodge/Data/Shockwave.hs 14;" C
IsClose src/Dodge/Data/Machine/Sensor.hs 46;" C
IsClose src/Dodge/Data/Machine/Sensor.hs 44;" C
IsolationUnitSS src/Dodge/Data/Scenario.hs 101;" C
ItAmount src/Dodge/Data/Item/Use/Consumption.hs 38;" t
ItCrWdItemHeldEffect src/Dodge/Data/WorldEffect.hs 17;" C
@@ -1316,12 +1318,13 @@ NodeTree src/Dodge/Data/MetaTree.hs 13;" C
NodeTree src/Dodge/Tree/Compose/Data.hs 9;" C
NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 84;" C
NormalOptions src/Dodge/Data/Universe.hs 72;" C
NormalSpark src/Dodge/Data/Spark.hs 25;" C
NormalTimeFlow src/Dodge/Data/World.hs 60;" C
North src/Dodge/Data/CardinalPoint.hs 4;" C
North8 src/Dodge/Data/CardinalPoint.hs 11;" C
NorthEast8 src/Dodge/Data/CardinalPoint.hs 12;" C
NorthWest8 src/Dodge/Data/CardinalPoint.hs 18;" C
NotClose src/Dodge/Data/Machine/Sensor.hs 46;" C
NotClose src/Dodge/Data/Machine/Sensor.hs 44;" C
NotLink src/Dodge/Data/Room.hs 66;" C
NotPushed src/Dodge/Data/Door.hs 30;" C
Nothing' src/MaybeHelp.hs 13;" C
@@ -1545,8 +1548,8 @@ PropUpdateWhen src/Dodge/Data/Prop.hs 65;" C
PropUpdates src/Dodge/Data/Prop.hs 62;" C
PropVerticalLampCover src/Dodge/Data/Prop.hs 49;" C
PropZ src/Dodge/Data/Prop.hs 19;" C
ProximityRequirement src/Dodge/Data/Machine/Sensor.hs 38;" t
ProximitySensor src/Dodge/Data/Machine/Sensor.hs 29;" C
ProximityRequirement src/Dodge/Data/Machine/Sensor.hs 36;" t
ProximitySensor src/Dodge/Data/Machine/Sensor.hs 27;" C
Pulse src/Dodge/Data/Creature/Misc.hs 54;" t
PulseStatus src/Dodge/Data/Creature/Misc.hs 54;" C
PushBackDamage src/Dodge/Data/Damage.hs 28;" C
@@ -1639,9 +1642,9 @@ Render src/Preload/Render.hs 3;" m
Render src/Render.hs 1;" m
RenderData src/Data/Preload/Render.hs 13;" t
ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 32;" C
RequireEquipment src/Dodge/Data/Machine/Sensor.hs 40;" C
RequireHealth src/Dodge/Data/Machine/Sensor.hs 39;" C
RequireImpossible src/Dodge/Data/Machine/Sensor.hs 41;" C
RequireEquipment src/Dodge/Data/Machine/Sensor.hs 38;" C
RequireHealth src/Dodge/Data/Machine/Sensor.hs 37;" C
RequireImpossible src/Dodge/Data/Machine/Sensor.hs 39;" C
ResFactor src/Dodge/Data/Config.hs 97;" t
ResearchFacility src/Dodge/Data/Scenario.hs 62;" C
ResourceFailure src/Dodge/Data/Scenario.hs 29;" C
@@ -1747,7 +1750,7 @@ SelectionSections src/Dodge/SelectionSections.hs 1;" m
SelectionWidth src/Dodge/Data/SelectionList.hs 39;" t
SelfTree src/Dodge/Data/MetaTree.hs 18;" t
SelfTree src/Dodge/Tree/Compose/Data.hs 12;" t
Sensor src/Dodge/Data/Machine/Sensor.hs 20;" t
Sensor src/Dodge/Data/Machine/Sensor.hs 19;" t
Sensor src/Dodge/Data/Machine/Sensor.hs 6;" m
Sensor src/Dodge/Placement/Instance/Sensor.hs 1;" m
SensorDoor src/Dodge/Room/SensorDoor.hs 2;" m
@@ -1847,6 +1850,7 @@ Spark src/Dodge/Data/Spark.hs 15;" t
Spark src/Dodge/Data/Spark.hs 6;" m
Spark src/Dodge/Spark.hs 1;" m
SparkSpawner src/Dodge/Data/PosEvent.hs 13;" C
SparkType src/Dodge/Data/Spark.hs 25;" t
Spatial src/Dodge/Data/Scenario.hs 73;" C
SpatialInfluence src/Dodge/Data/Scenario.hs 81;" t
Spawn src/Dodge/Item/Weapon/Spawn.hs 1;" m
@@ -2914,11 +2918,11 @@ _pressPlates src/Dodge/Data/LWorld.hs 135;" f
_pressedKeys src/Dodge/Data/Input.hs 48;" f
_projectiles src/Dodge/Data/LWorld.hs 106;" f
_props src/Dodge/Data/LWorld.hs 105;" f
_proxDist src/Dodge/Data/Machine/Sensor.hs 31;" f
_proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 40;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 39;" f
_proxRequirement src/Dodge/Data/Machine/Sensor.hs 32;" f
_proxStatus src/Dodge/Data/Machine/Sensor.hs 30;" f
_proxDist src/Dodge/Data/Machine/Sensor.hs 29;" f
_proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 38;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 37;" f
_proxRequirement src/Dodge/Data/Machine/Sensor.hs 30;" f
_proxStatus src/Dodge/Data/Machine/Sensor.hs 28;" f
_psFallback src/Dodge/Data/GenWorld.hs 67;" f
_psPos src/Dodge/Data/GenWorld.hs 62;" f
_psRandShift src/Dodge/Data/GenWorld.hs 71;" f
@@ -3034,12 +3038,12 @@ _scurPos src/Dodge/Data/SelectionList.hs 24;" f
_scurSize src/Dodge/Data/SelectionList.hs 25;" f
_seenLocations src/Dodge/Data/LWorld.hs 141;" f
_selLocation src/Dodge/Data/LWorld.hs 142;" f
_sensAmount src/Dodge/Data/Machine/Sensor.hs 23;" f
_sensDraw src/Dodge/Data/Machine/Sensor.hs 26;" f
_sensThreshold src/Dodge/Data/Machine/Sensor.hs 27;" f
_sensToggle src/Dodge/Data/Machine/Sensor.hs 22;" f
_sensToggle src/Dodge/Data/Machine/Sensor.hs 33;" f
_sensType src/Dodge/Data/Machine/Sensor.hs 25;" f
_sensAmount src/Dodge/Data/Machine/Sensor.hs 22;" f
_sensDraw src/Dodge/Data/Machine/Sensor.hs 24;" f
_sensThreshold src/Dodge/Data/Machine/Sensor.hs 25;" f
_sensToggle src/Dodge/Data/Machine/Sensor.hs 21;" f
_sensToggle src/Dodge/Data/Machine/Sensor.hs 31;" f
_sensType src/Dodge/Data/Machine/Sensor.hs 23;" f
_sensorCoding src/Dodge/Data/GenParams.hs 16;" f
_sentinelDir src/Dodge/Data/ActionPlan.hs 199;" f
_sentinelPos src/Dodge/Data/ActionPlan.hs 199;" f
@@ -3073,12 +3077,10 @@ _siWidth src/Dodge/Data/SelectionList.hs 56;" f
_sideEffect src/Loop/Data.hs 13;" f
_sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f
_silhouetteEBO src/Data/Preload/Render.hs 27;" f
_skColor src/Dodge/Data/Spark.hs 17;" f
_skDamageType src/Dodge/Data/Spark.hs 21;" f
_skOldPos src/Dodge/Data/Spark.hs 19;" f
_skPos src/Dodge/Data/Spark.hs 18;" f
_skType src/Dodge/Data/Spark.hs 21;" f
_skVel src/Dodge/Data/Spark.hs 16;" f
_skWidth src/Dodge/Data/Spark.hs 20;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 78;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 80;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 79;" f
@@ -3673,8 +3675,6 @@ clusterFunc src/Dodge/Combine/Graph.hs 119;" f
cogRaised src/Dodge/Creature/Perception.hs 102;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f
colSpark src/Dodge/Spark.hs 48;" f
colSparkRandDir src/Dodge/Spark.hs 102;" f
collectDamageTypes src/Dodge/Damage.hs 32;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f
collideCircWalls src/Dodge/Base/Collide.hs 159;" f
@@ -3778,7 +3778,7 @@ craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f
createArc src/Dodge/Tesla/Arc.hs 81;" f
createBarrelSpark src/Dodge/Spark.hs 45;" f
createBarrelSpark src/Dodge/Spark.hs 52;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f
@@ -4942,6 +4942,7 @@ makeShaderVBO src/Shader/Compile.hs 32;" f
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f
makeShrapnelAt src/Dodge/Payload.hs 24;" f
makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 55;" f
makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f
makeStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 22;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
@@ -5434,8 +5435,8 @@ radBounds src/Dodge/Room/Foreground.hs 154;" f
radToDeg src/Geometry/Vector.hs 122;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
randColDirSpark src/Dodge/Spark.hs 51;" f
randDirPS src/Dodge/PlacementSpot.hs 56;" f
randDirSpark src/Dodge/Spark.hs 64;" f
randEdgeTank src/Dodge/Room/Tanks.hs 33;" f
randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f
randEnergyBallAt src/Dodge/WorldEvent/SpawnParticle.hs 14;" f
@@ -5452,7 +5453,7 @@ randOnUnitSphere src/RandomHelp.hs 90;" f
randPeaked src/RandomHelp.hs 138;" f
randPeakedParam src/RandomHelp.hs 130;" f
randProb src/RandomHelp.hs 68;" f
randSpark src/Dodge/Spark.hs 75;" f
randSpark src/Dodge/Spark.hs 84;" f
randWallReflect src/Dodge/Tesla/Arc.hs 57;" f
randWallReflect src/Dodge/Update.hs 584;" f
randomChallenges src/Dodge/Room/Start.hs 62;" f
@@ -5678,13 +5679,13 @@ selectUse src/Dodge/SelectUse.hs 11;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 46;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 156;" f
senseDamage src/Dodge/Machine/Update.hs 155;" f
sensorCommand src/Dodge/Terminal.hs 208;" f
sensorInfoMap src/Dodge/Terminal.hs 180;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 48;" f
sensorSPic src/Dodge/Machine/Draw.hs 70;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 174;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 173;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f
@@ -5824,6 +5825,7 @@ singleLDT src/Dodge/DoubleTree.hs 12;" f
singleton src/DoubleStack.hs 11;" f
singletonTrie src/SimpleTrie.hs 19;" f
sizeFBOs src/Framebuffer/Update.hs 22;" f
skColor src/Dodge/Spark/Draw.hs 13;" f
skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 390;" f
slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 456;" f
@@ -5870,8 +5872,10 @@ spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f
spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f
sparkDam' src/Dodge/Spark.hs 33;" f
sparkDam' src/Dodge/Spark.hs 34;" f
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f
sparkRandDir src/Dodge/Spark.hs 107;" f
sparkToDamage src/Dodge/Spark.hs 46;" f
spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f
spawnElectricalSparks src/Dodge/PosEvent.hs 20;" f
spawnGun src/Dodge/Item/Weapon/Spawn.hs 12;" f
@@ -6282,7 +6286,7 @@ updateShockwaves src/Dodge/Update.hs 596;" f
updateSingleNodes src/TreeHelp.hs 97;" f
updateSound src/Sound.hs 72;" f
updateSounds src/Sound.hs 67;" f
updateSpark src/Dodge/Spark.hs 19;" f
updateSpark src/Dodge/Spark.hs 20;" f
updateSparks src/Dodge/Update.hs 608;" f
updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f
updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f