Refactor damages to materials
This commit is contained in:
File diff suppressed because one or more lines are too long
+1
-1
@@ -197,7 +197,7 @@ moveBullet pt = pt & buPos +~ _buVel pt & buOldPos .~ _buPos pt
|
||||
stopBulletAt :: Point2 -> Bullet -> Bullet
|
||||
stopBulletAt hitp pt =
|
||||
pt
|
||||
& buPos .~ hitp + squashNormalizeV (_buPos pt - hitp)
|
||||
& buPos .~ hitp
|
||||
& buOldPos .~ _buPos pt
|
||||
& buVel .~ 0
|
||||
|
||||
|
||||
@@ -9,22 +9,25 @@ import Dodge.Spark
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
applyCreatureDamage :: [Damage] -> Creature -> World -> World
|
||||
applyCreatureDamage dms cr = case crMaterial (cr ^. crType) of
|
||||
Flesh -> defaultApplyDamage dms cr
|
||||
Crystal -> id
|
||||
_ -> defaultApplyDamage dms cr
|
||||
--applyCreatureDamage :: [Damage] -> Creature -> World -> World
|
||||
--applyCreatureDamage dms cr =
|
||||
-- case crMaterial (cr ^. crType) of
|
||||
-- Flesh -> defaultApplyDamage dms cr
|
||||
-- Crystal -> id
|
||||
-- _ -> defaultApplyDamage dms cr
|
||||
|
||||
defaultApplyDamage :: [Damage] -> Creature -> World -> World
|
||||
defaultApplyDamage ds cr w =
|
||||
foldl' (applyIndividualDamage cr) w ds'
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) %~ doPoisonDam
|
||||
where
|
||||
(ps, ds') = partition isPoison ds
|
||||
isPoison Poison{} = True
|
||||
isPoison _ = False
|
||||
poisonDam = quot (max 0 (sum (map _dmAmount ps))) 10
|
||||
doPoisonDam = crHP -~ poisonDam
|
||||
--defaultApplyDamage :: [Damage] -> Creature -> World -> World
|
||||
--defaultApplyDamage ds cr w =
|
||||
applyCreatureDamage :: [Damage] -> Creature -> World -> World
|
||||
applyCreatureDamage dms cr w = foldl' (applyIndividualDamage cr) w dms
|
||||
-- foldl' (applyIndividualDamage cr) w ds'
|
||||
-- & cWorld . lWorld . creatures . ix (_crID cr) %~ doPoisonDam
|
||||
-- where
|
||||
-- (ps, ds') = partition isPoison ds
|
||||
-- isPoison Poison{} = True
|
||||
-- isPoison _ = False
|
||||
-- poisonDam = quot (max 0 (sum (map _dmAmount ps))) 10
|
||||
-- doPoisonDam = crHP -~ poisonDam
|
||||
|
||||
--applyDamageEffect :: Damage -> DamageEffect -> Creature -> World -> World
|
||||
--applyDamageEffect dm de cr = case de of
|
||||
@@ -64,5 +67,5 @@ damageHP :: Creature -> Int -> World -> World
|
||||
damageHP cr x =
|
||||
cWorld . lWorld . creatures . ix (_crID cr)
|
||||
%~ ( (crHP -~ x)
|
||||
. (crPastDamage +~ x)
|
||||
. (crPain +~ x)
|
||||
)
|
||||
|
||||
@@ -204,7 +204,7 @@ targetYouWhenCognizant w cr = case cr ^? crPerception . cpAwareness . ix 0 of
|
||||
|
||||
searchIfDamaged :: Creature -> Creature
|
||||
searchIfDamaged cr
|
||||
| _crPastDamage cr > 0
|
||||
| _crPain cr > 0
|
||||
&& _apStrategy (_crActionPlan cr) == WatchAndWait =
|
||||
cr & crPerception . cpVigilance .~ Vigilant
|
||||
& crActionPlan . apStrategy
|
||||
|
||||
@@ -106,7 +106,7 @@ corpseOrGib :: Creature -> World -> World
|
||||
corpseOrGib cr = case cr ^? crDamage . to maxDamageType . _Just . _1 of
|
||||
Just CookingDamage -> addcorpse (thecorpse & cpSPic %~ scorchSPic)
|
||||
Just PoisonDamage -> addcorpse (thecorpse & cpSPic %~ poisonSPic)
|
||||
Just PhysicalDamage | _crPastDamage cr > 200 -> addCrGibs cr
|
||||
Just PhysicalDamage | _crPain cr > 200 -> addCrGibs cr
|
||||
_ -> addcorpse thecorpse
|
||||
where
|
||||
addcorpse ctype = plNew (cWorld . lWorld . corpses) cpID ctype
|
||||
@@ -130,15 +130,15 @@ doDamage cr = applyPastDamages cr . applyCreatureDamage (cr ^. crDamage) cr
|
||||
-- TODO generalise shake to arbitrary damage amounts
|
||||
applyPastDamages :: Creature -> World -> World
|
||||
applyPastDamages cr w
|
||||
| _crPastDamage cr > 200 = dojitter 3 100
|
||||
| _crPastDamage cr > 20 = dojitter 2 10
|
||||
| _crPastDamage cr > 0 = dojitter 1 1
|
||||
| _crPain cr > 200 = dojitter 3 100
|
||||
| _crPain cr > 20 = dojitter 2 10
|
||||
| _crPain cr > 0 = dojitter 1 1
|
||||
| otherwise = w
|
||||
where
|
||||
dojitter x y =
|
||||
let (p, g) = runState (randInCirc x) (_randGen w)
|
||||
in w & cWorld . lWorld . creatures . ix (_crID cr) %~ crMvBy p
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crPastDamage -~ y
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crPain -~ y
|
||||
& randGen .~ g
|
||||
|
||||
-- a loop going over all root inventory items
|
||||
|
||||
+40
-26
@@ -6,18 +6,19 @@ module Dodge.Damage (
|
||||
damageDirection,
|
||||
damageCrWlID,
|
||||
maxDamageType,
|
||||
damThingHitWith,
|
||||
) where
|
||||
|
||||
import Dodge.WorldEvent.ThingsHit
|
||||
import Geometry.Data
|
||||
import Dodge.Data.Damage.Type
|
||||
import Geometry.Vector
|
||||
import ListHelp
|
||||
import Dodge.Data.CrWlID
|
||||
import Dodge.Data.World
|
||||
import LensHelp
|
||||
import qualified Data.Map.Strict as M
|
||||
import Dodge.Data.CrWlID
|
||||
import Dodge.Data.Damage.Type
|
||||
import Dodge.Data.World
|
||||
import Dodge.WorldEvent.ThingsHit
|
||||
import FoldableHelp
|
||||
import Geometry.Data
|
||||
import Geometry.Vector
|
||||
import LensHelp
|
||||
import ListHelp
|
||||
|
||||
damageCrWlID :: Damage -> CrWlID -> World -> World
|
||||
damageCrWlID dam = \case
|
||||
@@ -35,19 +36,19 @@ damageDirection :: [Damage] -> Maybe Float
|
||||
damageDirection ds = safeArgV =<< safeHead (ds ^.. each . dmVector)
|
||||
|
||||
dmType :: Damage -> DamageType
|
||||
dmType = \case
|
||||
Piercing {} -> PhysicalDamage
|
||||
Blunt {} -> PhysicalDamage
|
||||
Sparking {} -> CookingDamage
|
||||
Crushing {} -> PhysicalDamage
|
||||
Shattering {} -> PhysicalDamage
|
||||
Flaming {} -> CookingDamage
|
||||
Lasering {} -> CookingDamage
|
||||
Flashing {} -> CookingDamage
|
||||
Electrical {} -> CookingDamage
|
||||
Explosive {} -> PhysicalDamage
|
||||
Poison {} -> PoisonDamage
|
||||
Enterrement {} -> PhysicalDamage
|
||||
dmType = \case
|
||||
Piercing{} -> PhysicalDamage
|
||||
Blunt{} -> PhysicalDamage
|
||||
Sparking{} -> CookingDamage
|
||||
Crushing{} -> PhysicalDamage
|
||||
Shattering{} -> PhysicalDamage
|
||||
Flaming{} -> CookingDamage
|
||||
Lasering{} -> CookingDamage
|
||||
Flashing{} -> CookingDamage
|
||||
Electrical{} -> CookingDamage
|
||||
Explosive{} -> PhysicalDamage
|
||||
Poison{} -> PoisonDamage
|
||||
Enterrement{} -> PhysicalDamage
|
||||
|
||||
collectDamageTypes :: [Damage] -> M.Map DamageType Int
|
||||
collectDamageTypes = foldl' (flip f) M.empty
|
||||
@@ -58,11 +59,24 @@ maxDamageType :: [Damage] -> Maybe (DamageType, Int)
|
||||
maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes
|
||||
|
||||
damageInCircle :: (Point2 -> Damage) -> Point2 -> Float -> World -> World
|
||||
damageInCircle f p r w = w
|
||||
& cWorld . lWorld . wallDamages %~ dowldams
|
||||
& cWorld . lWorld . creatures %~ docrdams
|
||||
damageInCircle f p r w =
|
||||
w
|
||||
& cWorld . lWorld . wallDamages %~ dowldams
|
||||
& cWorld . lWorld . creatures %~ docrdams
|
||||
where
|
||||
dowldams wds = foldl' g wds (wlsHitRadial p r w)
|
||||
docrdams crs = foldl' h crs (crsHitRadial p r w)
|
||||
g wds (x,wl) = wds & at (_wlID wl) . non mempty .:~ f x
|
||||
h crs (x,cr) = crs & ix (_crID cr) . crDamage .:~ f x
|
||||
g wds (x, wl) = wds & at (_wlID wl) . non mempty .:~ f x
|
||||
h crs (x, cr) = crs & ix (_crID cr) . crDamage .:~ f x
|
||||
|
||||
damThingHitWith ::
|
||||
(Point2 -> Damage) ->
|
||||
Maybe (Point2, Either Creature Wall) ->
|
||||
World ->
|
||||
World
|
||||
damThingHitWith f = \case
|
||||
Just (p, Left cr) ->
|
||||
cWorld . lWorld . creatures . ix (_crID cr) . crDamage .:~ f p
|
||||
Just (p, Right wl) ->
|
||||
cWorld . lWorld . wallDamages . at (_wlID wl) . non mempty .:~ f p
|
||||
Nothing -> id
|
||||
|
||||
@@ -47,7 +47,7 @@ data Creature = Creature
|
||||
, _crManipulation :: Manipulation
|
||||
, _crEquipment :: M.Map EquipSite Int
|
||||
, _crDamage :: [Damage]
|
||||
, _crPastDamage :: Int
|
||||
, _crPain :: Int
|
||||
, _crStance :: Stance
|
||||
, _crActionPlan :: ActionPlan
|
||||
, _crPerception :: Perception
|
||||
|
||||
@@ -37,6 +37,7 @@ data SoundOrigin
|
||||
| Explosion Int
|
||||
| Tap Int
|
||||
| EBSound Int
|
||||
| DamageHitSound Int
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ defaultCreature =
|
||||
, _crDamage = []
|
||||
-- , _crCorpse = MakeDefaultCorpse
|
||||
-- , _crMaterial = Flesh
|
||||
, _crPastDamage = 0
|
||||
, _crPain = 0
|
||||
-- , _crInvEquipped = mempty
|
||||
, _crEquipment = M.empty
|
||||
-- , _crInvHotkeys = mempty
|
||||
|
||||
@@ -2,12 +2,11 @@ module Dodge.Laser.Update (
|
||||
updateLaser,
|
||||
) where
|
||||
|
||||
import Dodge.Damage
|
||||
import Control.Lens
|
||||
--import Data.Maybe
|
||||
import Dodge.Data.World
|
||||
import Dodge.Item.Location
|
||||
import Dodge.Item.Weapon.LaserPath
|
||||
import Dodge.WorldEvent.Damage
|
||||
import Geometry
|
||||
import Picture.Base
|
||||
|
||||
@@ -16,9 +15,7 @@ updateLaser w pt =
|
||||
( case _lpType pt of
|
||||
DamageLaser dam ->
|
||||
damThingHitWith
|
||||
(\p1 p2 p3 -> Lasering dam p2 (p3 - p1))
|
||||
sp
|
||||
xp
|
||||
(\p2 -> Lasering dam p2 (xp - sp))
|
||||
thHit
|
||||
w
|
||||
TargetingLaser itid -> w & pointerToItemID itid . itTargeting . itTgPos ?~ last ps
|
||||
|
||||
@@ -1,39 +1,117 @@
|
||||
module Dodge.Material.Damage where
|
||||
module Dodge.Material.Damage (damageMaterial) where
|
||||
|
||||
import RandomHelp
|
||||
import Dodge.SoundLogic
|
||||
import Color
|
||||
import Dodge.WorldEvent.Cloud
|
||||
import Dodge.Data.World
|
||||
import Dodge.Spark
|
||||
import Geometry
|
||||
import Control.Lens
|
||||
|
||||
damageMaterial ::
|
||||
Damage ->
|
||||
Material ->
|
||||
Float -> -- the angle of the hit surface, in radians
|
||||
Float -> -- the direction of the hit surface, in radians
|
||||
World ->
|
||||
(Int, World)
|
||||
World
|
||||
damageMaterial dm mt = case mt of
|
||||
Stone -> damageStone dm
|
||||
Metal -> damageMetal dm
|
||||
Flesh -> damageFlesh dm
|
||||
Dirt -> damageDirt dm
|
||||
-- Glass -> damageGlass dm
|
||||
_ -> defDamageMaterial dm
|
||||
|
||||
defDamageMaterial :: Damage -> Float -> World -> (Int, World)
|
||||
defDamageMaterial dm _ w = (_dmAmount dm, w)
|
||||
defDamageMaterial :: Damage -> Float -> World -> World
|
||||
defDamageMaterial _ _ w = w
|
||||
|
||||
damageStone :: Damage -> Float -> World -> (Int, World)
|
||||
damageStone dm dir = case dm of
|
||||
Lasering _ p t -> a 0 $ makeSpark FireSpark (outTo p t) (argV $ reflectIn t v)
|
||||
Piercing x p t -> a x $ makeSpark NormalSpark (outTo p t) (argV $ reflectIn t v)
|
||||
Blunt x p t -> a x $ makeSpark NormalSpark (outTo p t) (argV $ reflectIn t v)
|
||||
Shattering {} -> a 0 id
|
||||
Crushing {} -> a 0 id
|
||||
Explosive {} -> a 0 id
|
||||
Sparking {} -> a 0 id
|
||||
Flaming {} -> a 0 id
|
||||
Electrical {} -> a 0 id
|
||||
Poison {} -> a 0 id
|
||||
Enterrement {} -> a 0 id
|
||||
Flashing {} -> a 0 id
|
||||
damageStone :: Damage -> Float -> World -> World
|
||||
damageStone dm dir w = w & case dm of
|
||||
Lasering _ p t -> makeSpark FireSpark (outTo p t) (argV $ reflectIn v t)
|
||||
Piercing _ p t -> makeSpark NormalSpark (outTo p t) (argV $ reflectIn v t)
|
||||
. smokeCloudAt white 20 200 1 (addZ 20 (outTo p t))
|
||||
. randsound p [slapS,slap1S]
|
||||
Blunt _ p t -> smokeCloudAt white 20 200 1 (addZ 20 (outTo p t))
|
||||
Shattering _ p t -> smokeCloudAt white 20 200 1 (addZ 20 (outTo p t))
|
||||
Crushing{} -> id
|
||||
Explosive{} -> id
|
||||
Sparking{} -> id
|
||||
Flaming{} -> id
|
||||
Electrical{} -> id
|
||||
Poison{} -> id
|
||||
Enterrement{} -> id
|
||||
Flashing{} -> id
|
||||
where
|
||||
randsound p xs = let (x,g) = runState (takeOne xs) $ _randGen w
|
||||
in soundStart so p x Nothing . set randGen g
|
||||
so = DamageHitSound (w ^. cWorld . lWorld . lClock)
|
||||
v = unitVectorAtAngle dir
|
||||
outTo x t = x -.- squashNormalizeV t
|
||||
|
||||
damageMetal :: Damage -> Float -> World -> World
|
||||
damageMetal dm dir w = w & case dm of
|
||||
Lasering _ p t -> makeSpark FireSpark (outTo p t) (argV $ reflectIn v t)
|
||||
Piercing _ p t -> makeSpark NormalSpark (outTo p t) (argV $ reflectIn v t)
|
||||
. randsound p [tingS,ting1S]
|
||||
Blunt _ p t -> id
|
||||
Shattering _ p t -> id
|
||||
Crushing{} -> id
|
||||
Explosive{} -> id
|
||||
Sparking{} -> id
|
||||
Flaming{} -> id
|
||||
Electrical{} -> id
|
||||
Poison{} -> id
|
||||
Enterrement{} -> id
|
||||
Flashing{} -> id
|
||||
where
|
||||
v = unitVectorAtAngle dir
|
||||
a x f w = (x, f w)
|
||||
outTo x t = x -.- squashNormalizeV t
|
||||
randsound p xs = let (x,g) = runState (takeOne xs) $ _randGen w
|
||||
in soundStart so p x Nothing . set randGen g
|
||||
so = DamageHitSound (w ^. cWorld . lWorld . lClock)
|
||||
|
||||
damageFlesh :: Damage -> Float -> World -> World
|
||||
damageFlesh dm dir w = w & case dm of
|
||||
Lasering _ p t -> id
|
||||
Piercing _ p t -> randsound p [blood1S,blood2S,blood4S,blood5S,blood6S,blood7S,blood8S]
|
||||
Blunt _ p t -> id
|
||||
Shattering _ p t -> id
|
||||
Crushing{} -> id
|
||||
Explosive{} -> id
|
||||
Sparking{} -> id
|
||||
Flaming{} -> id
|
||||
Electrical{} -> id
|
||||
Poison{} -> id
|
||||
Enterrement{} -> id
|
||||
Flashing{} -> id
|
||||
where
|
||||
randsound p xs = let (x,g) = runState (takeOne xs) $ _randGen w
|
||||
in soundStart so p x Nothing . set randGen g
|
||||
so = DamageHitSound (w ^. cWorld . lWorld . lClock)
|
||||
v = unitVectorAtAngle dir
|
||||
outTo x t = x -.- squashNormalizeV t
|
||||
|
||||
damageDirt :: Damage -> Float -> World -> World
|
||||
damageDirt dm dir w = w & case dm of
|
||||
Lasering _ p t -> makeSpark FireSpark (outTo p t) (argV $ reflectIn v t)
|
||||
Piercing _ p t -> smokeCloudAt orange 20 200 1 (addZ 20 (outTo p t))
|
||||
. randsound p [slapS,slap1S]
|
||||
Blunt _ p t -> smokeCloudAt orange 20 200 1 (addZ 20 (outTo p t))
|
||||
Shattering _ p t -> smokeCloudAt orange 20 200 1 (addZ 20 (outTo p t))
|
||||
Crushing{} -> id
|
||||
Explosive{} -> id
|
||||
Sparking{} -> id
|
||||
Flaming{} -> id
|
||||
Electrical{} -> id
|
||||
Poison{} -> id
|
||||
Enterrement{} -> id
|
||||
Flashing{} -> id
|
||||
where
|
||||
randsound p xs = let (x,g) = runState (takeOne xs) $ _randGen w
|
||||
in soundStart so p x Nothing . set randGen g
|
||||
so = DamageHitSound (w ^. cWorld . lWorld . lClock)
|
||||
v = unitVectorAtAngle dir
|
||||
outTo x t = x -.- squashNormalizeV t
|
||||
|
||||
--damageGlass :: Damage -> Float -> World -> (World,Int)
|
||||
|
||||
@@ -13,30 +13,25 @@ fallSmallBounceDamage :: Prop -> World -> World
|
||||
fallSmallBounceDamage pr w =
|
||||
w
|
||||
& dodamage
|
||||
& cWorld . lWorld . props . ix (_prID pr) %~ fallSmallBounce' w
|
||||
& cWorld . lWorld . props . ix (_prID pr) %~ fallMovement w
|
||||
where
|
||||
p = _prPos pr
|
||||
v = _prVel pr
|
||||
dodamage
|
||||
| _prPosZ pr < 25 = damageInCircle (const thedam) p 5
|
||||
-- cWorld . lWorld . creatures . each %~ dodamage'
|
||||
| otherwise = id
|
||||
thedam = Crushing (floor . (* 10) . max 0 . subtract 5 . abs $ _prVelZ pr) v
|
||||
|
||||
fallSmallBounce :: Prop -> World -> World
|
||||
fallSmallBounce pr w =
|
||||
w
|
||||
& cWorld . lWorld . props . ix (_prID pr) %~ fallSmallBounce' w
|
||||
fallSmallBounce pr w = w & cWorld . lWorld . props . ix (_prID pr) %~ fallMovement w
|
||||
|
||||
fallSmallBounce' :: World -> Prop -> Prop
|
||||
fallSmallBounce' w pr
|
||||
fallMovement :: World -> Prop -> Prop
|
||||
fallMovement w pr
|
||||
| newposz < 0 && velz < (-2) =
|
||||
pr
|
||||
& prVelZ %~ ((* 0.5) . negate)
|
||||
-- & pjPos +~ (0.5*.* vel)
|
||||
& updateWithVel (0.5 *.* vel)
|
||||
& prVel %~ (0.5 *.*)
|
||||
-- & pjPos +~ (0.5*.* vel)
|
||||
| newposz < 0 =
|
||||
pr & prUpdate .~ PropUpdateId
|
||||
& prPosZ .~ 0
|
||||
|
||||
@@ -1,235 +1,240 @@
|
||||
-- generated at 2025-06-09 10:19:06.449705157 UTC
|
||||
-- generated at 2025-06-22 07:24:07.993044373 UTC
|
||||
module Dodge.SoundLogic.ExternallyGeneratedSounds where
|
||||
import Sound.Data
|
||||
soundToVol :: SoundID -> Float
|
||||
soundToVol v = case _getSoundID v of
|
||||
0 -> 500
|
||||
0 -> 200
|
||||
1 -> 500
|
||||
2 -> 500
|
||||
3 -> 2000
|
||||
4 -> 500
|
||||
5 -> 1000
|
||||
6 -> 40
|
||||
7 -> 100
|
||||
3 -> 500
|
||||
4 -> 2000
|
||||
5 -> 500
|
||||
6 -> 1000
|
||||
7 -> 40
|
||||
8 -> 100
|
||||
9 -> 500
|
||||
10 -> 200
|
||||
11 -> 500
|
||||
12 -> 300
|
||||
13 -> 100
|
||||
14 -> 500
|
||||
15 -> 1000
|
||||
16 -> 40
|
||||
17 -> 2000
|
||||
18 -> 100
|
||||
19 -> 50
|
||||
20 -> 200
|
||||
21 -> 50
|
||||
22 -> 2000
|
||||
23 -> 200
|
||||
24 -> 40
|
||||
25 -> 300
|
||||
26 -> 500
|
||||
27 -> 2000
|
||||
28 -> 500
|
||||
29 -> 100
|
||||
30 -> 200
|
||||
31 -> 1000
|
||||
32 -> 100
|
||||
9 -> 100
|
||||
10 -> 500
|
||||
11 -> 200
|
||||
12 -> 500
|
||||
13 -> 300
|
||||
14 -> 100
|
||||
15 -> 500
|
||||
16 -> 1000
|
||||
17 -> 40
|
||||
18 -> 2000
|
||||
19 -> 100
|
||||
20 -> 50
|
||||
21 -> 200
|
||||
22 -> 50
|
||||
23 -> 2000
|
||||
24 -> 200
|
||||
25 -> 40
|
||||
26 -> 300
|
||||
27 -> 500
|
||||
28 -> 2000
|
||||
29 -> 500
|
||||
30 -> 100
|
||||
31 -> 200
|
||||
32 -> 1000
|
||||
33 -> 100
|
||||
34 -> 1000
|
||||
34 -> 100
|
||||
35 -> 1000
|
||||
36 -> 40
|
||||
37 -> 400
|
||||
38 -> 2000
|
||||
39 -> 100
|
||||
40 -> 300
|
||||
41 -> 50
|
||||
42 -> 2000
|
||||
43 -> 50
|
||||
44 -> 1000
|
||||
45 -> 8000
|
||||
46 -> 2000
|
||||
36 -> 1000
|
||||
37 -> 40
|
||||
38 -> 400
|
||||
39 -> 2000
|
||||
40 -> 100
|
||||
41 -> 300
|
||||
42 -> 50
|
||||
43 -> 2000
|
||||
44 -> 50
|
||||
45 -> 1000
|
||||
46 -> 8000
|
||||
47 -> 2000
|
||||
48 -> 1000
|
||||
49 -> 2000
|
||||
50 -> 100
|
||||
51 -> 40
|
||||
52 -> 40
|
||||
53 -> 2000
|
||||
54 -> 100
|
||||
55 -> 500
|
||||
56 -> 40
|
||||
57 -> 300
|
||||
58 -> 300
|
||||
59 -> 100
|
||||
60 -> 2000
|
||||
61 -> 1000
|
||||
62 -> 1000
|
||||
48 -> 2000
|
||||
49 -> 1000
|
||||
50 -> 200
|
||||
51 -> 2000
|
||||
52 -> 100
|
||||
53 -> 40
|
||||
54 -> 40
|
||||
55 -> 2000
|
||||
56 -> 100
|
||||
57 -> 500
|
||||
58 -> 40
|
||||
59 -> 300
|
||||
60 -> 300
|
||||
61 -> 100
|
||||
62 -> 2000
|
||||
63 -> 1000
|
||||
64 -> 1000
|
||||
65 -> 1000
|
||||
66 -> 40
|
||||
67 -> 50
|
||||
68 -> 1000
|
||||
69 -> 500
|
||||
70 -> 500
|
||||
71 -> 100
|
||||
72 -> 1000
|
||||
73 -> 20
|
||||
74 -> 500
|
||||
75 -> 300
|
||||
76 -> 200
|
||||
77 -> 500
|
||||
78 -> 1000
|
||||
79 -> 200
|
||||
66 -> 1000
|
||||
67 -> 1000
|
||||
68 -> 40
|
||||
69 -> 50
|
||||
70 -> 1000
|
||||
71 -> 500
|
||||
72 -> 500
|
||||
73 -> 100
|
||||
74 -> 1000
|
||||
75 -> 20
|
||||
76 -> 500
|
||||
77 -> 300
|
||||
78 -> 200
|
||||
79 -> 500
|
||||
80 -> 1000
|
||||
81 -> 2000
|
||||
82 -> 500
|
||||
83 -> 100
|
||||
84 -> 1000
|
||||
85 -> 300
|
||||
86 -> 2000
|
||||
87 -> 2000
|
||||
88 -> 100
|
||||
89 -> 500
|
||||
90 -> 2000
|
||||
91 -> 100
|
||||
92 -> 300
|
||||
93 -> 1000
|
||||
94 -> 200
|
||||
95 -> 100
|
||||
96 -> 1000
|
||||
97 -> 2000
|
||||
81 -> 200
|
||||
82 -> 1000
|
||||
83 -> 2000
|
||||
84 -> 500
|
||||
85 -> 100
|
||||
86 -> 1000
|
||||
87 -> 300
|
||||
88 -> 2000
|
||||
89 -> 2000
|
||||
90 -> 100
|
||||
91 -> 500
|
||||
92 -> 2000
|
||||
93 -> 100
|
||||
94 -> 300
|
||||
95 -> 1000
|
||||
96 -> 200
|
||||
97 -> 100
|
||||
98 -> 1000
|
||||
99 -> 100
|
||||
100 -> 200
|
||||
101 -> 500
|
||||
102 -> 100
|
||||
103 -> 2000
|
||||
104 -> 1000
|
||||
99 -> 2000
|
||||
100 -> 1000
|
||||
101 -> 100
|
||||
102 -> 200
|
||||
103 -> 500
|
||||
104 -> 100
|
||||
105 -> 2000
|
||||
106 -> 2000
|
||||
107 -> 200
|
||||
108 -> 100
|
||||
106 -> 1000
|
||||
107 -> 2000
|
||||
108 -> 2000
|
||||
109 -> 200
|
||||
110 -> 100
|
||||
111 -> 200
|
||||
_ -> 50
|
||||
soundToOnomato :: SoundID -> String
|
||||
soundToOnomato v = case _getSoundID v of
|
||||
0 -> "DEDUM"
|
||||
1 -> "CUHRUP"
|
||||
2 -> "SCREE"
|
||||
3 -> "BRDBRDBRD"
|
||||
4 -> "DEDEDA"
|
||||
5 -> "CRNK"
|
||||
6 -> "CLNK"
|
||||
7 -> "SKWLCH"
|
||||
8 -> "WRR"
|
||||
9 -> "TINKLE"
|
||||
10 -> "SKREL"
|
||||
11 -> "TRINKL"
|
||||
12 -> "BWAAH"
|
||||
13 -> "SQLEE"
|
||||
14 -> "DNDNDNDN"
|
||||
15 -> "CRMBL"
|
||||
16 -> "TIP"
|
||||
17 -> "TATATA"
|
||||
18 -> "SPRT"
|
||||
19 -> "BLIH"
|
||||
20 -> "SQWCH"
|
||||
21 -> "HMM"
|
||||
22 -> "PEW"
|
||||
23 -> "CRAKLE"
|
||||
24 -> "TAP"
|
||||
25 -> "DWAAH"
|
||||
26 -> "PRUM"
|
||||
27 -> "BANGG"
|
||||
28 -> "CRTINK"
|
||||
29 -> "PHF"
|
||||
30 -> "CRNCH"
|
||||
31 -> "ZHM"
|
||||
32 -> "CLCLH"
|
||||
33 -> "THUD"
|
||||
34 -> "TRWNG"
|
||||
35 -> "CRASH"
|
||||
36 -> "TAPTIP"
|
||||
37 -> "CRNKCRNKCRNK"
|
||||
38 -> "CHUGUGUG"
|
||||
39 -> "SKWLL"
|
||||
40 -> "WRRR"
|
||||
41 -> "HSSS"
|
||||
42 -> "BOOM"
|
||||
43 -> "HSS"
|
||||
44 -> "TAKH"
|
||||
45 -> "RINGGG"
|
||||
46 -> "CRH"
|
||||
47 -> "UGGAUGGA"
|
||||
48 -> "CRUMPLE"
|
||||
49 -> "CREUH"
|
||||
50 -> "SMACK"
|
||||
51 -> "CLICK"
|
||||
52 -> "TIPTOP"
|
||||
53 -> "CRUH"
|
||||
54 -> "CHNKCHNKCHUNK"
|
||||
55 -> "CLKCLK"
|
||||
56 -> "TIPTAP"
|
||||
57 -> "TNKTNKTNK"
|
||||
58 -> "CHPCHPCHP"
|
||||
59 -> "SLP"
|
||||
60 -> "SCREE"
|
||||
61 -> "DHDHL"
|
||||
62 -> "BRAP"
|
||||
63 -> "CRSK"
|
||||
64 -> "CRNKL"
|
||||
65 -> "TRNKL"
|
||||
66 -> "TAPP"
|
||||
67 -> "SHUHP"
|
||||
68 -> "CRUMBL"
|
||||
69 -> "DEDEDUM"
|
||||
70 -> "TAK"
|
||||
71 -> "SPLRT"
|
||||
72 -> "CRISH"
|
||||
73 -> "SWSH"
|
||||
74 -> "BIPBIPBIP"
|
||||
75 -> "BEP"
|
||||
76 -> "CRSKRL"
|
||||
77 -> "KRTNKL"
|
||||
78 -> "CRSNK"
|
||||
79 -> "SHTCK"
|
||||
80 -> "TTRKL"
|
||||
81 -> "UGGAUGGA"
|
||||
82 -> "DUDURAH"
|
||||
83 -> "KKSQWL"
|
||||
84 -> "CRMPL"
|
||||
85 -> "BWEP"
|
||||
86 -> "CHUGUGUG"
|
||||
87 -> "BANG"
|
||||
88 -> "SLPP"
|
||||
89 -> "DEDA"
|
||||
90 -> "WHSSH"
|
||||
91 -> "HNH"
|
||||
92 -> "BWAH"
|
||||
93 -> "CRUNK"
|
||||
94 -> "SQWLTCH"
|
||||
95 -> "DRR"
|
||||
96 -> "TRNKL"
|
||||
97 -> "BRAP"
|
||||
98 -> "BLPCHCH"
|
||||
99 -> "SKLE"
|
||||
100 -> "ZMM"
|
||||
101 -> "WRRR"
|
||||
102 -> "FWUMP"
|
||||
103 -> "BRAHCHCH"
|
||||
104 -> "BWMP"
|
||||
105 -> "BRPBRPBRP"
|
||||
106 -> "WE-OH"
|
||||
107 -> "THCK"
|
||||
108 -> "FHP"
|
||||
109 -> "QWLPH"
|
||||
0 -> "TING"
|
||||
1 -> "DEDUM"
|
||||
2 -> "CUHRUP"
|
||||
3 -> "SCREE"
|
||||
4 -> "BRDBRDBRD"
|
||||
5 -> "DEDEDA"
|
||||
6 -> "CRNK"
|
||||
7 -> "CLNK"
|
||||
8 -> "SKWLCH"
|
||||
9 -> "WRR"
|
||||
10 -> "TINKLE"
|
||||
11 -> "SKREL"
|
||||
12 -> "TRINKL"
|
||||
13 -> "BWAAH"
|
||||
14 -> "SQLEE"
|
||||
15 -> "DNDNDNDN"
|
||||
16 -> "CRMBL"
|
||||
17 -> "TIP"
|
||||
18 -> "TATATA"
|
||||
19 -> "SPRT"
|
||||
20 -> "BLIH"
|
||||
21 -> "SQWCH"
|
||||
22 -> "HMM"
|
||||
23 -> "PEW"
|
||||
24 -> "CRAKLE"
|
||||
25 -> "TAP"
|
||||
26 -> "DWAAH"
|
||||
27 -> "PRUM"
|
||||
28 -> "BANGG"
|
||||
29 -> "CRTINK"
|
||||
30 -> "PHF"
|
||||
31 -> "CRNCH"
|
||||
32 -> "ZHM"
|
||||
33 -> "CLCLH"
|
||||
34 -> "THUD"
|
||||
35 -> "TRWNG"
|
||||
36 -> "CRASH"
|
||||
37 -> "TAPTIP"
|
||||
38 -> "CRNKCRNKCRNK"
|
||||
39 -> "CHUGUGUG"
|
||||
40 -> "SKWLL"
|
||||
41 -> "WRRR"
|
||||
42 -> "HSSS"
|
||||
43 -> "BOOM"
|
||||
44 -> "HSS"
|
||||
45 -> "TAKH"
|
||||
46 -> "RINGGG"
|
||||
47 -> "CRH"
|
||||
48 -> "UGGAUGGA"
|
||||
49 -> "CRUMPLE"
|
||||
50 -> "TING"
|
||||
51 -> "CREUH"
|
||||
52 -> "SMACK"
|
||||
53 -> "CLICK"
|
||||
54 -> "TIPTOP"
|
||||
55 -> "CRUH"
|
||||
56 -> "CHNKCHNKCHUNK"
|
||||
57 -> "CLKCLK"
|
||||
58 -> "TIPTAP"
|
||||
59 -> "TNKTNKTNK"
|
||||
60 -> "CHPCHPCHP"
|
||||
61 -> "SLP"
|
||||
62 -> "SCREE"
|
||||
63 -> "DHDHL"
|
||||
64 -> "BRAP"
|
||||
65 -> "CRSK"
|
||||
66 -> "CRNKL"
|
||||
67 -> "TRNKL"
|
||||
68 -> "TAPP"
|
||||
69 -> "SHUHP"
|
||||
70 -> "CRUMBL"
|
||||
71 -> "DEDEDUM"
|
||||
72 -> "TAK"
|
||||
73 -> "SPLRT"
|
||||
74 -> "CRISH"
|
||||
75 -> "SWSH"
|
||||
76 -> "BIPBIPBIP"
|
||||
77 -> "BEP"
|
||||
78 -> "CRSKRL"
|
||||
79 -> "KRTNKL"
|
||||
80 -> "CRSNK"
|
||||
81 -> "SHTCK"
|
||||
82 -> "TTRKL"
|
||||
83 -> "UGGAUGGA"
|
||||
84 -> "DUDURAH"
|
||||
85 -> "KKSQWL"
|
||||
86 -> "CRMPL"
|
||||
87 -> "BWEP"
|
||||
88 -> "CHUGUGUG"
|
||||
89 -> "BANG"
|
||||
90 -> "SLPP"
|
||||
91 -> "DEDA"
|
||||
92 -> "WHSSH"
|
||||
93 -> "HNH"
|
||||
94 -> "BWAH"
|
||||
95 -> "CRUNK"
|
||||
96 -> "SQWLTCH"
|
||||
97 -> "DRR"
|
||||
98 -> "TRNKL"
|
||||
99 -> "BRAP"
|
||||
100 -> "BLPCHCH"
|
||||
101 -> "SKLE"
|
||||
102 -> "ZMM"
|
||||
103 -> "WRRR"
|
||||
104 -> "FWUMP"
|
||||
105 -> "BRAHCHCH"
|
||||
106 -> "BWMP"
|
||||
107 -> "BRPBRPBRP"
|
||||
108 -> "WE-OH"
|
||||
109 -> "THCK"
|
||||
110 -> "FHP"
|
||||
111 -> "QWLPH"
|
||||
_ -> error "unitialised sound"
|
||||
soundPathList :: [String]
|
||||
soundPathList =
|
||||
[ "dedum.DEDUM.500.wav"
|
||||
[ "ting1.TING.200.wav"
|
||||
, "dedum.DEDUM.500.wav"
|
||||
, "insert.CUHRUP.500.wav"
|
||||
, "tone440sawtoothquiet.SCREE.500.wav"
|
||||
, "mini1.BRDBRDBRD.2000.wav"
|
||||
@@ -278,6 +283,7 @@ soundPathList =
|
||||
, "seagullCry1.CRH.2000.wav"
|
||||
, "seagullBark.UGGAUGGA.2000.wav"
|
||||
, "stone3.CRUMPLE.1000.wav"
|
||||
, "ting.TING.200.wav"
|
||||
, "seagullCry2.CREUH.2000.wav"
|
||||
, "hit1.SMACK.100.wav"
|
||||
, "click1.CLICK.40.wav"
|
||||
@@ -340,223 +346,227 @@ soundPathList =
|
||||
, "whiteNoiseFadeIn.FHP.100.wav"
|
||||
, "gut1.QWLPH.200.wav"
|
||||
]
|
||||
ting1S :: SoundID
|
||||
ting1S = SoundID 0
|
||||
dedumS :: SoundID
|
||||
dedumS = SoundID 0
|
||||
dedumS = SoundID 1
|
||||
insertS :: SoundID
|
||||
insertS = SoundID 1
|
||||
insertS = SoundID 2
|
||||
tone440sawtoothquietS :: SoundID
|
||||
tone440sawtoothquietS = SoundID 2
|
||||
tone440sawtoothquietS = SoundID 3
|
||||
mini1S :: SoundID
|
||||
mini1S = SoundID 3
|
||||
mini1S = SoundID 4
|
||||
dededaS :: SoundID
|
||||
dededaS = SoundID 4
|
||||
dededaS = SoundID 5
|
||||
glassShat3S :: SoundID
|
||||
glassShat3S = SoundID 5
|
||||
glassShat3S = SoundID 6
|
||||
tapQuietS :: SoundID
|
||||
tapQuietS = SoundID 6
|
||||
tapQuietS = SoundID 7
|
||||
blood8S :: SoundID
|
||||
blood8S = SoundID 7
|
||||
blood8S = SoundID 8
|
||||
fireS :: SoundID
|
||||
fireS = SoundID 8
|
||||
fireS = SoundID 9
|
||||
smallGlass4S :: SoundID
|
||||
smallGlass4S = SoundID 9
|
||||
smallGlass4S = SoundID 10
|
||||
gut4S :: SoundID
|
||||
gut4S = SoundID 10
|
||||
gut4S = SoundID 11
|
||||
smallGlass1S :: SoundID
|
||||
smallGlass1S = SoundID 11
|
||||
smallGlass1S = SoundID 12
|
||||
sineRaisePitchTwoSecS :: SoundID
|
||||
sineRaisePitchTwoSecS = SoundID 12
|
||||
sineRaisePitchTwoSecS = SoundID 13
|
||||
blood7S :: SoundID
|
||||
blood7S = SoundID 13
|
||||
blood7S = SoundID 14
|
||||
combineS :: SoundID
|
||||
combineS = SoundID 14
|
||||
combineS = SoundID 15
|
||||
stone4S :: SoundID
|
||||
stone4S = SoundID 15
|
||||
stone4S = SoundID 16
|
||||
foot1S :: SoundID
|
||||
foot1S = SoundID 16
|
||||
foot1S = SoundID 17
|
||||
autoBS :: SoundID
|
||||
autoBS = SoundID 17
|
||||
autoBS = SoundID 18
|
||||
blood2S :: SoundID
|
||||
blood2S = SoundID 18
|
||||
blood2S = SoundID 19
|
||||
healS :: SoundID
|
||||
healS = SoundID 19
|
||||
healS = SoundID 20
|
||||
gut3S :: SoundID
|
||||
gut3S = SoundID 20
|
||||
gut3S = SoundID 21
|
||||
fridgeHumS :: SoundID
|
||||
fridgeHumS = SoundID 21
|
||||
fridgeHumS = SoundID 22
|
||||
seagullWhistle1S :: SoundID
|
||||
seagullWhistle1S = SoundID 22
|
||||
seagullWhistle1S = SoundID 23
|
||||
elecCrackleS :: SoundID
|
||||
elecCrackleS = SoundID 23
|
||||
elecCrackleS = SoundID 24
|
||||
foot2S :: SoundID
|
||||
foot2S = SoundID 24
|
||||
foot2S = SoundID 25
|
||||
skwareFadeTwoSecS :: SoundID
|
||||
skwareFadeTwoSecS = SoundID 25
|
||||
skwareFadeTwoSecS = SoundID 26
|
||||
insertOneS :: SoundID
|
||||
insertOneS = SoundID 26
|
||||
insertOneS = SoundID 27
|
||||
bangEchoS :: SoundID
|
||||
bangEchoS = SoundID 27
|
||||
bangEchoS = SoundID 28
|
||||
smallGlass3S :: SoundID
|
||||
smallGlass3S = SoundID 28
|
||||
smallGlass3S = SoundID 29
|
||||
whiteNoiseFadeOutS :: SoundID
|
||||
whiteNoiseFadeOutS = SoundID 29
|
||||
whiteNoiseFadeOutS = SoundID 30
|
||||
gut2S :: SoundID
|
||||
gut2S = SoundID 30
|
||||
gut2S = SoundID 31
|
||||
teleS :: SoundID
|
||||
teleS = SoundID 31
|
||||
teleS = SoundID 32
|
||||
blood5S :: SoundID
|
||||
blood5S = SoundID 32
|
||||
blood5S = SoundID 33
|
||||
hitS :: SoundID
|
||||
hitS = SoundID 33
|
||||
hitS = SoundID 34
|
||||
metal7S :: SoundID
|
||||
metal7S = SoundID 34
|
||||
metal7S = SoundID 35
|
||||
stone1S :: SoundID
|
||||
stone1S = SoundID 35
|
||||
stone1S = SoundID 36
|
||||
twoStep1S :: SoundID
|
||||
twoStep1S = SoundID 36
|
||||
twoStep1S = SoundID 37
|
||||
wrench1S :: SoundID
|
||||
wrench1S = SoundID 37
|
||||
wrench1S = SoundID 38
|
||||
seagullChatterS :: SoundID
|
||||
seagullChatterS = SoundID 38
|
||||
seagullChatterS = SoundID 39
|
||||
blood4S :: SoundID
|
||||
blood4S = SoundID 39
|
||||
blood4S = SoundID 40
|
||||
fireFadeS :: SoundID
|
||||
fireFadeS = SoundID 40
|
||||
fireFadeS = SoundID 41
|
||||
foamSprayLoopS :: SoundID
|
||||
foamSprayLoopS = SoundID 41
|
||||
foamSprayLoopS = SoundID 42
|
||||
explosionS :: SoundID
|
||||
explosionS = SoundID 42
|
||||
explosionS = SoundID 43
|
||||
foamSprayFadeOutS :: SoundID
|
||||
foamSprayFadeOutS = SoundID 43
|
||||
foamSprayFadeOutS = SoundID 44
|
||||
tap2S :: SoundID
|
||||
tap2S = SoundID 44
|
||||
tap2S = SoundID 45
|
||||
tinitusS :: SoundID
|
||||
tinitusS = SoundID 45
|
||||
tinitusS = SoundID 46
|
||||
seagullCry1S :: SoundID
|
||||
seagullCry1S = SoundID 46
|
||||
seagullCry1S = SoundID 47
|
||||
seagullBarkS :: SoundID
|
||||
seagullBarkS = SoundID 47
|
||||
seagullBarkS = SoundID 48
|
||||
stone3S :: SoundID
|
||||
stone3S = SoundID 48
|
||||
stone3S = SoundID 49
|
||||
tingS :: SoundID
|
||||
tingS = SoundID 50
|
||||
seagullCry2S :: SoundID
|
||||
seagullCry2S = SoundID 49
|
||||
seagullCry2S = SoundID 51
|
||||
hit1S :: SoundID
|
||||
hit1S = SoundID 50
|
||||
hit1S = SoundID 52
|
||||
click1S :: SoundID
|
||||
click1S = SoundID 51
|
||||
click1S = SoundID 53
|
||||
twoStepSlowS :: SoundID
|
||||
twoStepSlowS = SoundID 52
|
||||
twoStepSlowS = SoundID 54
|
||||
seagullCryS :: SoundID
|
||||
seagullCryS = SoundID 53
|
||||
seagullCryS = SoundID 55
|
||||
crankSlowS :: SoundID
|
||||
crankSlowS = SoundID 54
|
||||
crankSlowS = SoundID 56
|
||||
primeS :: SoundID
|
||||
primeS = SoundID 55
|
||||
primeS = SoundID 57
|
||||
twoStepS :: SoundID
|
||||
twoStepS = SoundID 56
|
||||
twoStepS = SoundID 58
|
||||
reloadS :: SoundID
|
||||
reloadS = SoundID 57
|
||||
reloadS = SoundID 59
|
||||
reload1S :: SoundID
|
||||
reload1S = SoundID 58
|
||||
reload1S = SoundID 60
|
||||
slapS :: SoundID
|
||||
slapS = SoundID 59
|
||||
slapS = SoundID 61
|
||||
tone440sawtoothS :: SoundID
|
||||
tone440sawtoothS = SoundID 60
|
||||
tone440sawtoothS = SoundID 62
|
||||
metal3S :: SoundID
|
||||
metal3S = SoundID 61
|
||||
metal3S = SoundID 63
|
||||
tap3S :: SoundID
|
||||
tap3S = SoundID 62
|
||||
tap3S = SoundID 64
|
||||
glassShat4S :: SoundID
|
||||
glassShat4S = SoundID 63
|
||||
glassShat4S = SoundID 65
|
||||
glassShat2S :: SoundID
|
||||
glassShat2S = SoundID 64
|
||||
glassShat2S = SoundID 66
|
||||
metal1S :: SoundID
|
||||
metal1S = SoundID 65
|
||||
metal1S = SoundID 67
|
||||
foot3S :: SoundID
|
||||
foot3S = SoundID 66
|
||||
foot3S = SoundID 68
|
||||
pickUpS :: SoundID
|
||||
pickUpS = SoundID 67
|
||||
pickUpS = SoundID 69
|
||||
stone5S :: SoundID
|
||||
stone5S = SoundID 68
|
||||
stone5S = SoundID 70
|
||||
dededumS :: SoundID
|
||||
dededumS = SoundID 69
|
||||
dededumS = SoundID 71
|
||||
tap1S :: SoundID
|
||||
tap1S = SoundID 70
|
||||
tap1S = SoundID 72
|
||||
blood1S :: SoundID
|
||||
blood1S = SoundID 71
|
||||
blood1S = SoundID 73
|
||||
metal4S :: SoundID
|
||||
metal4S = SoundID 72
|
||||
metal4S = SoundID 74
|
||||
knifeS :: SoundID
|
||||
knifeS = SoundID 73
|
||||
knifeS = SoundID 75
|
||||
computerBeepingS :: SoundID
|
||||
computerBeepingS = SoundID 74
|
||||
computerBeepingS = SoundID 76
|
||||
tone440S :: SoundID
|
||||
tone440S = SoundID 75
|
||||
tone440S = SoundID 77
|
||||
gut6S :: SoundID
|
||||
gut6S = SoundID 76
|
||||
gut6S = SoundID 78
|
||||
smallGlass2S :: SoundID
|
||||
smallGlass2S = SoundID 77
|
||||
smallGlass2S = SoundID 79
|
||||
glassShat1S :: SoundID
|
||||
glassShat1S = SoundID 78
|
||||
glassShat1S = SoundID 80
|
||||
disconnectItemS :: SoundID
|
||||
disconnectItemS = SoundID 79
|
||||
disconnectItemS = SoundID 81
|
||||
metal5S :: SoundID
|
||||
metal5S = SoundID 80
|
||||
metal5S = SoundID 82
|
||||
seagullBarkTransformedS :: SoundID
|
||||
seagullBarkTransformedS = SoundID 81
|
||||
seagullBarkTransformedS = SoundID 83
|
||||
ejectS :: SoundID
|
||||
ejectS = SoundID 82
|
||||
ejectS = SoundID 84
|
||||
blood3S :: SoundID
|
||||
blood3S = SoundID 83
|
||||
blood3S = SoundID 85
|
||||
stone2S :: SoundID
|
||||
stone2S = SoundID 84
|
||||
stone2S = SoundID 86
|
||||
tone440raiseS :: SoundID
|
||||
tone440raiseS = SoundID 85
|
||||
tone440raiseS = SoundID 87
|
||||
seagullChatter1S :: SoundID
|
||||
seagullChatter1S = SoundID 86
|
||||
seagullChatter1S = SoundID 88
|
||||
bangS :: SoundID
|
||||
bangS = SoundID 87
|
||||
bangS = SoundID 89
|
||||
slap1S :: SoundID
|
||||
slap1S = SoundID 88
|
||||
slap1S = SoundID 90
|
||||
dedaS :: SoundID
|
||||
dedaS = SoundID 89
|
||||
dedaS = SoundID 91
|
||||
missileLaunchS :: SoundID
|
||||
missileLaunchS = SoundID 90
|
||||
missileLaunchS = SoundID 92
|
||||
gruntS :: SoundID
|
||||
gruntS = SoundID 91
|
||||
gruntS = SoundID 93
|
||||
sineRaisePitchOneSecS :: SoundID
|
||||
sineRaisePitchOneSecS = SoundID 92
|
||||
sineRaisePitchOneSecS = SoundID 94
|
||||
metal2S :: SoundID
|
||||
metal2S = SoundID 93
|
||||
metal2S = SoundID 95
|
||||
gut5S :: SoundID
|
||||
gut5S = SoundID 94
|
||||
gut5S = SoundID 96
|
||||
slideDoorS :: SoundID
|
||||
slideDoorS = SoundID 95
|
||||
slideDoorS = SoundID 97
|
||||
metal6S :: SoundID
|
||||
metal6S = SoundID 96
|
||||
metal6S = SoundID 98
|
||||
autoGunS :: SoundID
|
||||
autoGunS = SoundID 97
|
||||
autoGunS = SoundID 99
|
||||
oldMachineBootS :: SoundID
|
||||
oldMachineBootS = SoundID 98
|
||||
oldMachineBootS = SoundID 100
|
||||
blood6S :: SoundID
|
||||
blood6S = SoundID 99
|
||||
blood6S = SoundID 101
|
||||
buzzS :: SoundID
|
||||
buzzS = SoundID 100
|
||||
buzzS = SoundID 102
|
||||
fireLoudS :: SoundID
|
||||
fireLoudS = SoundID 101
|
||||
fireLoudS = SoundID 103
|
||||
tap4S :: SoundID
|
||||
tap4S = SoundID 102
|
||||
tap4S = SoundID 104
|
||||
shotgunS :: SoundID
|
||||
shotgunS = SoundID 103
|
||||
shotgunS = SoundID 105
|
||||
sawtoothFailS :: SoundID
|
||||
sawtoothFailS = SoundID 104
|
||||
sawtoothFailS = SoundID 106
|
||||
miniS :: SoundID
|
||||
miniS = SoundID 105
|
||||
miniS = SoundID 107
|
||||
seagullWhistleS :: SoundID
|
||||
seagullWhistleS = SoundID 106
|
||||
seagullWhistleS = SoundID 108
|
||||
connectItemS :: SoundID
|
||||
connectItemS = SoundID 107
|
||||
connectItemS = SoundID 109
|
||||
whiteNoiseFadeInS :: SoundID
|
||||
whiteNoiseFadeInS = SoundID 108
|
||||
whiteNoiseFadeInS = SoundID 110
|
||||
gut1S :: SoundID
|
||||
gut1S = SoundID 109
|
||||
gut1S = SoundID 111
|
||||
|
||||
@@ -6,21 +6,26 @@ module Dodge.Wall.Damage (
|
||||
damageWall,
|
||||
) where
|
||||
|
||||
import Geometry.Vector
|
||||
import Dodge.Material.Damage
|
||||
import Dodge.Block
|
||||
import Dodge.Data.World
|
||||
import Dodge.Wall.DamageEffect
|
||||
import LensHelp
|
||||
|
||||
-- maybeDestroyDoor should rather happen during the door mechanism update
|
||||
damageWall :: Damage -> Wall -> World -> World
|
||||
damageWall dt wl w = case _wlStructure wl of
|
||||
MachinePart mcid -> w' & cWorld . lWorld . machines . ix mcid . mcDamage .:~ dt
|
||||
BlockPart blid -> w' & cWorld . lWorld . blocks . ix blid . blHP -~ x & maybeDestroyBlock blid
|
||||
DoorPart drid -> w' & cWorld . lWorld . doors . ix drid . drHP -~ x & maybeDestroyDoor drid
|
||||
BlockPart blid ->
|
||||
w' & cWorld . lWorld . blocks . ix blid . blHP -~ x
|
||||
& maybeDestroyBlock blid
|
||||
DoorPart drid ->
|
||||
w' & cWorld . lWorld . doors . ix drid . drHP -~ x
|
||||
& maybeDestroyDoor drid
|
||||
_ -> w'
|
||||
where
|
||||
x = dt' ^. dmAmount
|
||||
(w', dt') = damageWallEffect dt wl w
|
||||
x = dt ^. dmAmount
|
||||
w' = damageMaterial dt (_wlMaterial wl) (argV $ uncurry (-) (_wlLine wl)) w
|
||||
|
||||
-- block destruction is convoluted...
|
||||
maybeDestroyBlock :: Int -> World -> World
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
module Dodge.Wall.DamageEffect where
|
||||
|
||||
import Dodge.Base.Wall
|
||||
import Dodge.Block
|
||||
import Dodge.Data.World
|
||||
import Dodge.Spark
|
||||
import Dodge.Wall.Dust
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
damageWallEffect :: Damage -> Wall -> World -> (World, Damage)
|
||||
damageWallEffect dm wl = (,dm) . case _wlMaterial wl of
|
||||
Stone -> stoneWallDamage dm wl
|
||||
Glass -> glassWallDamage dm wl
|
||||
Dirt -> dirtWallDamage dm wl
|
||||
Crystal -> crystalWallDamage dm wl
|
||||
Metal -> stoneWallDamage dm wl
|
||||
Wood -> stoneWallDamage dm wl
|
||||
Electronics -> stoneWallDamage dm wl
|
||||
Flesh -> stoneWallDamage dm wl
|
||||
|
||||
-- there is quite a lot of duplication here, should be sorted out
|
||||
|
||||
stoneWallDamage :: Damage -> Wall -> World -> World
|
||||
stoneWallDamage dm wl = case dm of
|
||||
Piercing _ p t -> makeSpark NormalSpark (outTo p t)
|
||||
(reflDirWall p (p+t) wl) . wlDustAt wl (outTo p t)
|
||||
Lasering _ p t -> makeSpark FireSpark (outTo p t) (reflDirWall p (p+t) wl)
|
||||
Blunt _ p t -> wlDustAt wl (outTo p t)
|
||||
Shattering _ p t -> muchWlDustAt wl (outTo p t)
|
||||
Crushing {} -> id
|
||||
Explosive {} -> id
|
||||
Sparking {} -> id
|
||||
Flaming {} -> id
|
||||
Electrical {} -> id
|
||||
Poison {} -> id
|
||||
Enterrement {} -> id
|
||||
Flashing {} -> id
|
||||
where
|
||||
outTo x y = x -.- squashNormalizeV y
|
||||
-- d = _dmAmount dm
|
||||
-- sp = _dmFrom dm
|
||||
-- p = _dmAt dm
|
||||
-- outTo = p +.+ squashNormalizeV (sp -.- p)
|
||||
|
||||
glassWallDamage :: Damage -> Wall -> World -> World
|
||||
glassWallDamage dm wl w =
|
||||
w & case dm of
|
||||
Lasering _ p t -> makeSpark FireSpark (outTo p t) (reflDirWall p (p+t) wl)
|
||||
Piercing _ p t -> dosplint . makeSpark NormalSpark (outTo p t) (reflDirWall p (p+t) wl) . wlDustAt wl (outTo p t)
|
||||
Blunt _ p t -> dosplint . wlDustAt wl (outTo p t)
|
||||
Shattering _ p t -> dosplint . muchWlDustAt wl (outTo p t)
|
||||
Crushing {} -> dosplint
|
||||
Explosive {} -> dosplint
|
||||
Sparking {} -> id
|
||||
Flaming {} -> id
|
||||
Electrical {} -> id
|
||||
Poison {} -> id
|
||||
Enterrement {} -> id
|
||||
Flashing {} -> id
|
||||
where
|
||||
mbl = do
|
||||
blid <- wl ^? wlStructure . wsBlock
|
||||
w ^? cWorld . lWorld . blocks . ix blid
|
||||
-- d :: Int
|
||||
-- d = max 1 $ maybe 1 (subtract 1 . _blHP) mbl
|
||||
dosplint = maybe id splinterBlock mbl
|
||||
-- sp = _dmFrom dm
|
||||
-- p = _dmAt dm
|
||||
--outTo = p +.+ squashNormalizeV (sp -.- p)
|
||||
outTo p t = p -.- squashNormalizeV t
|
||||
|
||||
crystalWallDamage :: Damage -> Wall -> World -> World
|
||||
crystalWallDamage dm wl = case dm of
|
||||
Lasering _ p t -> makeSpark FireSpark (outTo p t) (reflDirWall p (p+t) wl)
|
||||
Piercing _ p t -> makeSpark NormalSpark (outTo p t) (reflDirWall p (p+t) wl) . wlDustAt wl (outTo p t)
|
||||
Blunt _ p t -> wlDustAt wl (outTo p t)
|
||||
Shattering _ p t -> muchWlDustAt wl (outTo p t)
|
||||
Crushing {} -> id
|
||||
Explosive {} -> id
|
||||
Sparking {} -> id
|
||||
Flaming {} -> id
|
||||
Electrical {} -> id
|
||||
Poison {} -> id
|
||||
Enterrement {} -> id
|
||||
Flashing {} -> id
|
||||
where
|
||||
-- a x f w = (f w)
|
||||
--d = _dmAmount dm
|
||||
--sp = _dmFrom dm
|
||||
--p = _dmAt dm
|
||||
--outTo = p +.+ squashNormalizeV (sp -.- p)
|
||||
outTo p t = p -.- squashNormalizeV t
|
||||
|
||||
dirtWallDamage :: Damage -> Wall -> World -> World
|
||||
dirtWallDamage dm wl = case dm of
|
||||
Lasering _ p t -> wlDustAt wl (outTo p t)
|
||||
Piercing _ p t -> wlDustAt wl (outTo p t)
|
||||
Blunt _ p t -> wlDustAt wl (outTo p t)
|
||||
Shattering _ p t -> muchWlDustAt wl (outTo p t)
|
||||
Crushing _ _ -> id
|
||||
Explosive _ _ -> id
|
||||
Sparking {} -> id
|
||||
Flaming {} -> id
|
||||
Electrical {} -> id
|
||||
Poison {} -> id
|
||||
Enterrement {} -> id
|
||||
Flashing {} -> id
|
||||
where
|
||||
--a x f w = (f w)
|
||||
--d = _dmAmount dm
|
||||
--sp = _dmFrom dm
|
||||
--p = _dmAt dm
|
||||
--outTo = p +.+ squashNormalizeV (sp -.- p)
|
||||
outTo p t = p -.- squashNormalizeV t
|
||||
@@ -1,20 +0,0 @@
|
||||
module Dodge.WorldEvent.Damage (
|
||||
damThingHitWith,
|
||||
) where
|
||||
|
||||
import Dodge.Data.World
|
||||
import Dodge.Wall.Damage
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
damThingHitWith ::
|
||||
(Point2 -> Point2 -> Point2 -> Damage) ->
|
||||
Point2 ->
|
||||
Point2 ->
|
||||
Maybe (Point2, Either Creature Wall) ->
|
||||
World ->
|
||||
World
|
||||
damThingHitWith partDT sp ep mayEiCrWl = case mayEiCrWl of
|
||||
Just (hitp, Left cr) -> cWorld . lWorld . creatures . ix (_crID cr) . crDamage .:~ partDT sp hitp ep
|
||||
Just (hitp, Right wl) -> damageWall (partDT sp hitp ep) wl
|
||||
Nothing -> id
|
||||
@@ -460,9 +460,10 @@ Damage src/Dodge/Data/Damage.hs 10;" m
|
||||
Damage src/Dodge/Machine/Damage.hs 1;" m
|
||||
Damage src/Dodge/Material/Damage.hs 1;" m
|
||||
Damage src/Dodge/Wall/Damage.hs 4;" m
|
||||
Damage src/Dodge/WorldEvent/Damage.hs 1;" m
|
||||
Damage src/Dodge/WorldEvent/Damage.hs 2;" m
|
||||
DamageCircle src/Dodge/DamageCircle.hs 1;" m
|
||||
DamageEffect src/Dodge/Wall/DamageEffect.hs 2;" m
|
||||
DamageHitSound src/Dodge/Data/SoundOrigin.hs 40;" C
|
||||
DamageLaser src/Dodge/Data/Laser.hs 17;" C
|
||||
DamageSensor src/Dodge/Data/Machine/Sensor.hs 20;" C
|
||||
DamageType src/Dodge/Data/Damage/Type.hs 3;" t
|
||||
@@ -2436,7 +2437,7 @@ _crMvAim src/Dodge/Data/Creature.hs 42;" f
|
||||
_crMvDir src/Dodge/Data/Creature.hs 41;" f
|
||||
_crName src/Dodge/Data/Creature.hs 60;" f
|
||||
_crOldPos src/Dodge/Data/Creature.hs 39;" f
|
||||
_crPastDamage src/Dodge/Data/Creature.hs 50;" f
|
||||
_crPain src/Dodge/Data/Creature.hs 50;" f
|
||||
_crPerception src/Dodge/Data/Creature.hs 53;" f
|
||||
_crPos src/Dodge/Data/Creature.hs 38;" f
|
||||
_crStance src/Dodge/Data/Creature.hs 51;" f
|
||||
@@ -3381,14 +3382,14 @@ annoToRoomTree src/Dodge/Annotation.hs 17;" f
|
||||
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
|
||||
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f
|
||||
applyCME src/Dodge/HeldUse.hs 364;" f
|
||||
applyCreatureDamage src/Dodge/Creature/Damage.hs 12;" f
|
||||
applyCreatureDamage src/Dodge/Creature/Damage.hs 21;" f
|
||||
applyEventIO src/Loop.hs 89;" f
|
||||
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
|
||||
applyIndividualDamage src/Dodge/Creature/Damage.hs 47;" f
|
||||
applyIndividualDamage src/Dodge/Creature/Damage.hs 50;" f
|
||||
applyInvLock src/Dodge/HeldUse.hs 423;" f
|
||||
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
|
||||
applyPastDamages src/Dodge/Creature/State.hs 131;" f
|
||||
applyPiercingDamage src/Dodge/Creature/Damage.hs 52;" f
|
||||
applyPiercingDamage src/Dodge/Creature/Damage.hs 55;" f
|
||||
applyPosition src/Sound.hs 111;" f
|
||||
applyRecoil src/Dodge/HeldUse.hs 455;" f
|
||||
applyResFactor src/Dodge/Data/Config.hs 110;" f
|
||||
@@ -3657,7 +3658,7 @@ 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
|
||||
collectDamageTypes src/Dodge/Damage.hs 51;" f
|
||||
collectDamageTypes src/Dodge/Damage.hs 53;" f
|
||||
collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f
|
||||
collideCircWalls src/Dodge/Base/Collide.hs 159;" f
|
||||
collidePoint src/Dodge/Base/Collide.hs 50;" f
|
||||
@@ -3725,8 +3726,8 @@ crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
|
||||
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 52;" f
|
||||
crHasTarget src/Dodge/Creature/Test.hs 63;" f
|
||||
crHasTargetLOS src/Dodge/Creature/Test.hs 66;" f
|
||||
crHit src/Dodge/WorldEvent/ThingsHit.hs 68;" f
|
||||
crIXsNearCirc src/Dodge/Zoning/Creature.hs 35;" f
|
||||
crHit src/Dodge/WorldEvent/ThingsHit.hs 64;" f
|
||||
crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f
|
||||
crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f
|
||||
crInAimStance src/Dodge/Creature/Test.hs 92;" f
|
||||
crIntelligence src/Dodge/Creature/Statistics.hs 34;" f
|
||||
@@ -3754,7 +3755,7 @@ crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
|
||||
crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f
|
||||
crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
|
||||
crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f
|
||||
crZoneSize src/Dodge/Zoning/Creature.hs 44;" f
|
||||
crZoneSize src/Dodge/Zoning/Creature.hs 41;" f
|
||||
craftInfo src/Dodge/Item/Info.hs 168;" f
|
||||
craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f
|
||||
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 451;" f
|
||||
@@ -3779,20 +3780,20 @@ creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
|
||||
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
|
||||
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
|
||||
critInDeadEnd src/Dodge/Room/Room.hs 232;" f
|
||||
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
|
||||
crixsNearSeg src/Dodge/Zoning/Creature.hs 29;" f
|
||||
crossPic src/Dodge/Render/Label.hs 27;" f
|
||||
crossProd src/Geometry/Vector3D.hs 41;" f
|
||||
crossV src/Geometry/Vector.hs 178;" f
|
||||
crsHit src/Dodge/WorldEvent/ThingsHit.hs 42;" f
|
||||
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 103;" f
|
||||
crsHit src/Dodge/WorldEvent/ThingsHit.hs 38;" f
|
||||
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 99;" f
|
||||
crsItmsUnused src/Dodge/Room/Containing.hs 45;" f
|
||||
crsNearCirc src/Dodge/Zoning/Creature.hs 38;" f
|
||||
crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
|
||||
crsNearRect src/Dodge/Zoning/Creature.hs 41;" f
|
||||
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
|
||||
crsNearCirc src/Dodge/Zoning/Creature.hs 35;" f
|
||||
crsNearPoint src/Dodge/Zoning/Creature.hs 17;" f
|
||||
crsNearRect src/Dodge/Zoning/Creature.hs 38;" f
|
||||
crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f
|
||||
crystalDebris src/Dodge/Block/Debris.hs 176;" f
|
||||
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
|
||||
crystalWallDamage src/Dodge/Wall/DamageEffect.hs 74;" f
|
||||
crystalWallDamage src/Dodge/Wall/DamageEffect.hs 76;" f
|
||||
cubeShape src/Dodge/Block/Debris.hs 196;" f
|
||||
cullPoint src/Dodge/Render/ShapePicture.hs 68;" f
|
||||
cullPretty src/AesonHelp.hs 14;" f
|
||||
@@ -3818,27 +3819,27 @@ cylinderOnSeg src/Geometry.hs 122;" f
|
||||
cylinderPoly src/Shape.hs 87;" f
|
||||
cylinderRoundIndices src/Shader/Poke.hs 389;" f
|
||||
dShadCol src/Dodge/Render/List.hs 215;" f
|
||||
damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f
|
||||
damThingHitWith src/Dodge/Damage.hs 72;" f
|
||||
damToExpBarrel src/Dodge/Barreloid.hs 49;" f
|
||||
damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f
|
||||
damageBlocksBy src/Dodge/Wall/Damage.hs 42;" f
|
||||
damageCircle src/Dodge/DamageCircle.hs 12;" f
|
||||
damageCodeCommand src/Dodge/Terminal.hs 232;" f
|
||||
damageCrCircle src/Dodge/DamageCircle.hs 33;" f
|
||||
damageCrCircle src/Dodge/EnergyBall.hs 128;" f
|
||||
damageCrWl src/Dodge/Damage.hs 28;" f
|
||||
damageCrWlID src/Dodge/Damage.hs 22;" f
|
||||
damageDirection src/Dodge/Damage.hs 33;" f
|
||||
damageHP src/Dodge/Creature/Damage.hs 63;" f
|
||||
damageInCircle src/Dodge/Damage.hs 59;" f
|
||||
damageMaterial src/Dodge/Material/Damage.hs 7;" f
|
||||
damageCrWl src/Dodge/Damage.hs 29;" f
|
||||
damageCrWlID src/Dodge/Damage.hs 23;" f
|
||||
damageDirection src/Dodge/Damage.hs 35;" f
|
||||
damageFlesh src/Dodge/Material/Damage.hs 68;" f
|
||||
damageHP src/Dodge/Creature/Damage.hs 66;" f
|
||||
damageInCircle src/Dodge/Damage.hs 61;" f
|
||||
damageMaterial src/Dodge/Material/Damage.hs 12;" f
|
||||
damageMetal src/Dodge/Material/Damage.hs 50;" f
|
||||
damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f
|
||||
damageStone src/Dodge/Material/Damage.hs 20;" f
|
||||
damageStone src/Dodge/Material/Damage.hs 27;" f
|
||||
damageThingHit src/Dodge/Bullet.hs 176;" f
|
||||
damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f
|
||||
damageWall src/Dodge/Wall/Damage.hs 15;" f
|
||||
damageWall src/Dodge/Wall/Damage.hs 17;" f
|
||||
damageWallEffect src/Dodge/Wall/DamageEffect.hs 12;" f
|
||||
damageWlCircle src/Dodge/DamageCircle.hs 26;" f
|
||||
damageWlCircle src/Dodge/EnergyBall.hs 125;" f
|
||||
dampField src/Dodge/Magnet.hs 8;" f
|
||||
damsToExpBarrel src/Dodge/Barreloid.hs 46;" f
|
||||
dark src/Color.hs 108;" f
|
||||
@@ -3878,12 +3879,11 @@ dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 521;" f
|
||||
dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 351;" f
|
||||
dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 481;" f
|
||||
dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 343;" f
|
||||
defDamageMaterial src/Dodge/Material/Damage.hs 17;" f
|
||||
defDamageMaterial src/Dodge/Material/Damage.hs 24;" f
|
||||
defLSPic src/Dodge/LightSource/Draw.hs 10;" f
|
||||
defSPic src/Dodge/Item/Draw/SPic.hs 299;" f
|
||||
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f
|
||||
defaultAimingCrit src/Dodge/Default/Creature.hs 105;" f
|
||||
defaultApplyDamage src/Dodge/Creature/Damage.hs 18;" f
|
||||
defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f
|
||||
defaultArcStep src/Dodge/Tesla/Arc/Default.hs 15;" f
|
||||
defaultAudition src/Dodge/Default/Creature.hs 90;" f
|
||||
@@ -3975,7 +3975,7 @@ dim src/Color.hs 112;" f
|
||||
dirtColor src/Dodge/Block/Debris.hs 160;" f
|
||||
dirtDebris src/Dodge/Block/Debris.hs 154;" f
|
||||
dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
|
||||
dirtWallDamage src/Dodge/Wall/DamageEffect.hs 96;" f
|
||||
dirtWallDamage src/Dodge/Wall/DamageEffect.hs 98;" f
|
||||
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 501;" f
|
||||
disconnectTerminal src/Dodge/Terminal.hs 217;" f
|
||||
displayConfig src/Dodge/Menu.hs 213;" f
|
||||
@@ -3993,7 +3993,7 @@ divideDoorPane src/Dodge/Placement/Instance/Door.hs 59;" f
|
||||
divideLine src/Geometry.hs 247;" f
|
||||
divideLineExact src/Geometry.hs 275;" f
|
||||
divideLineOddNumPoints src/Geometry.hs 260;" f
|
||||
dmType src/Dodge/Damage.hs 36;" f
|
||||
dmType src/Dodge/Damage.hs 38;" f
|
||||
doAfterPlacement src/Dodge/Layout.hs 86;" f
|
||||
doAfterPlacements src/Dodge/Layout.hs 83;" f
|
||||
doAimTwist src/Dodge/Creature/YourControl.hs 140;" f
|
||||
@@ -4150,7 +4150,7 @@ drawJumpDown src/Dodge/Render/Picture.hs 175;" f
|
||||
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
|
||||
drawLampCover src/Dodge/Prop/Draw.hs 47;" f
|
||||
drawLaser src/Dodge/Laser/Draw.hs 6;" f
|
||||
drawLaser src/Dodge/Laser/Update.hs 34;" f
|
||||
drawLaser src/Dodge/Laser/Update.hs 31;" f
|
||||
drawLightSource src/Dodge/LightSource/Draw.hs 7;" f
|
||||
drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f
|
||||
drawList src/Dodge/Render/List.hs 209;" f
|
||||
@@ -4237,11 +4237,11 @@ dtToLRAdjEither src/Dodge/DoubleTree.hs 114;" f
|
||||
dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f
|
||||
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
|
||||
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
|
||||
ebColor src/Dodge/EnergyBall.hs 96;" f
|
||||
ebDamage src/Dodge/EnergyBall.hs 104;" f
|
||||
ebEffect src/Dodge/EnergyBall.hs 51;" f
|
||||
ebFlicker src/Dodge/EnergyBall.hs 89;" f
|
||||
ebtToDamage src/Dodge/EnergyBall.hs 117;" f
|
||||
ebColor src/Dodge/EnergyBall.hs 94;" f
|
||||
ebDamage src/Dodge/EnergyBall.hs 102;" f
|
||||
ebEffect src/Dodge/EnergyBall.hs 49;" f
|
||||
ebFlicker src/Dodge/EnergyBall.hs 87;" f
|
||||
ebtToDamage src/Dodge/EnergyBall.hs 107;" f
|
||||
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
|
||||
edgeToPic src/Dodge/Debug/Picture.hs 431;" f
|
||||
effectOnEquip src/Dodge/Equipment.hs 32;" f
|
||||
@@ -4260,7 +4260,7 @@ encircleP src/Dodge/Creature/Boid.hs 28;" f
|
||||
endArcPos src/Dodge/Tesla.hs 87;" f
|
||||
endCombineRegex src/Dodge/Update/Input/InGame.hs 267;" f
|
||||
endRegex src/Dodge/Update/Input/InGame.hs 254;" f
|
||||
energyBallAt src/Dodge/EnergyBall.hs 66;" f
|
||||
energyBallAt src/Dodge/EnergyBall.hs 64;" f
|
||||
enterCombineInv src/Dodge/DisplayInventory.hs 323;" f
|
||||
epText src/Dodge/Inventory/SelectionList.hs 75;" f
|
||||
eqConstr src/SameConstr.hs 17;" f
|
||||
@@ -4304,8 +4304,8 @@ extractRoomPos src/Dodge/RoomPos.hs 6;" f
|
||||
faceEdges src/Polyhedra.hs 65;" f
|
||||
facesToVF src/Polyhedra/Geodesic.hs 69;" f
|
||||
fadeTLS src/Dodge/LightSource/Update.hs 14;" f
|
||||
fallSmallBounce src/Dodge/Prop/Moving.hs 31;" f
|
||||
fallSmallBounce' src/Dodge/Prop/Moving.hs 36;" f
|
||||
fallMovement src/Dodge/Prop/Moving.hs 28;" f
|
||||
fallSmallBounce src/Dodge/Prop/Moving.hs 25;" f
|
||||
fallSmallBounceDamage src/Dodge/Prop/Moving.hs 12;" f
|
||||
farWallDistDirection src/Dodge/Update/Camera.hs 233;" f
|
||||
fdiv src/ShortShow.hs 26;" f
|
||||
@@ -4330,7 +4330,7 @@ firstBreather src/Dodge/Room/Breather.hs 9;" f
|
||||
firstWorldLoad appDodge/Main.hs 77;" f
|
||||
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
|
||||
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
|
||||
flFlicker src/Dodge/Flame.hs 50;" f
|
||||
flFlicker src/Dodge/Flame.hs 36;" f
|
||||
flameMuzzles src/Dodge/HeldUse.hs 288;" f
|
||||
flameShield src/Dodge/Item/Equipment.hs 33;" f
|
||||
flameSize src/Dodge/Flame/Size.hs 5;" f
|
||||
@@ -4470,7 +4470,7 @@ glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 353;" f
|
||||
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 469;" f
|
||||
glassSwitchBack src/Dodge/Room/Room.hs 70;" f
|
||||
glassSwitchBackCrits src/Dodge/Room/Room.hs 99;" f
|
||||
glassWallDamage src/Dodge/Wall/DamageEffect.hs 47;" f
|
||||
glassWallDamage src/Dodge/Wall/DamageEffect.hs 49;" f
|
||||
glauncherPic src/Dodge/Item/Draw/SPic.hs 393;" f
|
||||
glushortSize src/Shader/Parameters.hs 25;" f
|
||||
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
|
||||
@@ -4899,16 +4899,16 @@ makeDoorDebris src/Dodge/Block/Debris.hs 18;" f
|
||||
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
|
||||
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 71;" f
|
||||
makeFlak src/Dodge/Bullet.hs 141;" f
|
||||
makeFlame src/Dodge/Flame.hs 57;" f
|
||||
makeFlame src/Dodge/Flame.hs 43;" f
|
||||
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 54;" f
|
||||
makeFlamelet src/Dodge/EnergyBall.hs 23;" f
|
||||
makeFlamelet src/Dodge/EnergyBall.hs 21;" f
|
||||
makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f
|
||||
makeFlashBall src/Dodge/EnergyBall.hs 86;" f
|
||||
makeFlashBall src/Dodge/EnergyBall.hs 84;" f
|
||||
makeFragBullets src/Dodge/Bullet.hs 126;" f
|
||||
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 13;" f
|
||||
makeGrid src/Grid.hs 46;" f
|
||||
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
|
||||
makeMovingEB src/Dodge/EnergyBall.hs 76;" f
|
||||
makeMovingEB src/Dodge/EnergyBall.hs 74;" f
|
||||
makeMuzzleFlare src/Dodge/HeldUse.hs 647;" f
|
||||
makeParagraph src/Justify.hs 6;" f
|
||||
makePathBetween src/Dodge/Path.hs 35;" f
|
||||
@@ -4942,7 +4942,7 @@ makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f
|
||||
makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f
|
||||
mapper src/Dodge/Item/Scope.hs 70;" f
|
||||
maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f
|
||||
maxDamageType src/Dodge/Damage.hs 56;" f
|
||||
maxDamageType src/Dodge/Damage.hs 58;" f
|
||||
maxInvSlots src/Dodge/Inventory/CheckSlots.hs 27;" f
|
||||
maxShowX src/Dodge/Combine/Graph.hs 50;" f
|
||||
maxViewDistance src/Dodge/Viewpoints.hs 26;" f
|
||||
@@ -4951,8 +4951,8 @@ maybeClearDoorPath src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 71;" f
|
||||
maybeClearDoorPaths src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 68;" f
|
||||
maybeClearPath src/Dodge/Block.hs 75;" f
|
||||
maybeClearPaths src/Dodge/Block.hs 72;" f
|
||||
maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f
|
||||
maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f
|
||||
maybeDestroyBlock src/Dodge/Wall/Damage.hs 32;" f
|
||||
maybeDestroyDoor src/Dodge/Wall/Damage.hs 37;" f
|
||||
maybeExitCombine src/Dodge/Update/Input/InGame.hs 536;" f
|
||||
maybeOpenConsole src/Dodge/Update.hs 125;" f
|
||||
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
|
||||
@@ -5008,7 +5008,7 @@ midPadL src/Padding.hs 33;" f
|
||||
midPoint src/Geometry.hs 83;" f
|
||||
midWall src/Dodge/Placement/Instance/Wall.hs 27;" f
|
||||
minAndMax src/FoldableHelp.hs 109;" f
|
||||
minCrIXOn src/Dodge/Zoning/Creature.hs 50;" f
|
||||
minCrIXOn src/Dodge/Zoning/Creature.hs 47;" f
|
||||
minOn src/FoldableHelp.hs 35;" f
|
||||
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 349;" f
|
||||
miniGunCrit src/Dodge/Creature.hs 64;" f
|
||||
@@ -5920,7 +5920,7 @@ stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 439;" f
|
||||
stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 373;" f
|
||||
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 479;" f
|
||||
stoneDebris src/Dodge/Block/Debris.hs 137;" f
|
||||
stoneWallDamage src/Dodge/Wall/DamageEffect.hs 25;" f
|
||||
stoneWallDamage src/Dodge/Wall/DamageEffect.hs 27;" f
|
||||
stopAllSounds src/Sound.hs 125;" f
|
||||
stopBulletAt src/Dodge/Bullet.hs 197;" f
|
||||
stopPushing src/Dodge/Block.hs 107;" f
|
||||
@@ -6014,10 +6014,10 @@ thickCircle src/Picture/Base.hs 272;" f
|
||||
thickLine src/Picture/Base.hs 244;" f
|
||||
thickLineCol src/Picture/Base.hs 255;" f
|
||||
thinHighBar src/Dodge/Room/Foreground.hs 77;" f
|
||||
thingHit src/Dodge/WorldEvent/ThingsHit.hs 65;" f
|
||||
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 53;" f
|
||||
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 29;" f
|
||||
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 73;" f
|
||||
thingHit src/Dodge/WorldEvent/ThingsHit.hs 61;" f
|
||||
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 49;" f
|
||||
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 31;" f
|
||||
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 70;" f
|
||||
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
|
||||
throwItem src/Dodge/Creature/Action.hs 205;" f
|
||||
tileTexCoords src/Tile.hs 11;" f
|
||||
@@ -6203,7 +6203,7 @@ updateDelayedEvents src/Dodge/Update.hs 797;" f
|
||||
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
|
||||
updateDistortion src/Dodge/Distortion.hs 5;" f
|
||||
updateDistortions src/Dodge/Update.hs 532;" f
|
||||
updateEnergyBall src/Dodge/EnergyBall.hs 37;" f
|
||||
updateEnergyBall src/Dodge/EnergyBall.hs 35;" f
|
||||
updateEnergyBalls src/Dodge/Update.hs 597;" f
|
||||
updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f
|
||||
updateExpBarrel src/Dodge/Barreloid.hs 20;" f
|
||||
@@ -6228,7 +6228,7 @@ updateItemWithOrientation src/Dodge/Creature/State.hs 271;" f
|
||||
updateKeyInGame src/Dodge/Update/Input/InGame.hs 394;" f
|
||||
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f
|
||||
updateLampoid src/Dodge/Lampoid.hs 12;" f
|
||||
updateLaser src/Dodge/Laser/Update.hs 14;" f
|
||||
updateLaser src/Dodge/Laser/Update.hs 13;" f
|
||||
updateLasers src/Dodge/Update.hs 433;" f
|
||||
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
|
||||
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 413;" f
|
||||
@@ -6412,8 +6412,8 @@ wlOpaqueDraw src/Dodge/Render/Walls.hs 45;" f
|
||||
wlSeeThroughDraw src/Dodge/Render/Walls.hs 48;" f
|
||||
wlZoneSize src/Dodge/Zoning/Wall.hs 52;" f
|
||||
wlsFromIXs src/Dodge/Zoning/Wall.hs 35;" f
|
||||
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 88;" f
|
||||
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 96;" f
|
||||
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 84;" f
|
||||
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 92;" f
|
||||
wlsNearCirc src/Dodge/Zoning/Wall.hs 49;" f
|
||||
wlsNearPoint src/Dodge/Zoning/Wall.hs 39;" f
|
||||
wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f
|
||||
@@ -6457,13 +6457,13 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f
|
||||
zipCountDown src/Dodge/Room/Procedural.hs 118;" f
|
||||
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
|
||||
zoneClouds src/Dodge/Update.hs 440;" f
|
||||
zoneCreature src/Dodge/Zoning/Creature.hs 57;" f
|
||||
zoneCreature src/Dodge/Zoning/Creature.hs 54;" f
|
||||
zoneCreatures src/Dodge/Update.hs 482;" f
|
||||
zoneExtract src/Dodge/Zoning/Base.hs 52;" f
|
||||
zoneMonoid src/Dodge/Zoning/Base.hs 83;" f
|
||||
zoneOfCirc src/Dodge/Zoning/Base.hs 24;" f
|
||||
zoneOfCl src/Dodge/Zoning/Cloud.hs 24;" f
|
||||
zoneOfCr src/Dodge/Zoning/Creature.hs 47;" f
|
||||
zoneOfCr src/Dodge/Zoning/Creature.hs 44;" f
|
||||
zoneOfPe src/Dodge/Zoning/Pathing.hs 49;" f
|
||||
zoneOfPn src/Dodge/Zoning/Pathing.hs 27;" f
|
||||
zoneOfPoint src/Dodge/Zoning/Base.hs 44;" f
|
||||
|
||||
Reference in New Issue
Block a user