Hack machine pistol whir down when no ammo

This commit is contained in:
2025-06-26 09:31:40 +01:00
parent 193bc481d2
commit 731bd5276a
16 changed files with 431 additions and 368 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
File diff suppressed because one or more lines are too long
+10 -2
View File
@@ -167,10 +167,17 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
| fromMaybe 0 (itm ^? itParams . wTime) >= _coolEnd (useDelay itm) -> | fromMaybe 0 (itm ^? itParams . wTime) >= _coolEnd (useDelay itm) ->
w & pointerToItem itm . itParams . wTime w & pointerToItem itm . itParams . wTime
.~ 0 .~ 0
| fromMaybe 0 (itm ^? itParams . wTime) >= _coolStart (useDelay itm) -> & pointerToItem itm . itParams . coolSound .~ Nothing
| fromMaybe 0 (itm ^? itParams . wTime) == _coolStart (useDelay itm) ->
w
& randGen .~ g
& pointerToItem itm . itParams . wTime +~ 1
& pointerToItem itm . itParams . coolSound ?~ sid
& soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) sid (Just 1)
| fromMaybe 0 (itm ^? itParams . wTime) > _coolStart (useDelay itm) ->
w w
& pointerToItem itm . itParams . wTime +~ 1 & pointerToItem itm . itParams . wTime +~ 1
& soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) whirdownS (Just 1) & soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) (fromMaybe undefined (itm ^? itParams . coolSound . _Just)) (Just 1)
| itm ^? itParams . isWarming == Just True -> | itm ^? itParams . isWarming == Just True ->
w w
& pointerToItem itm . itParams . isWarming .~ False & pointerToItem itm . itParams . isWarming .~ False
@@ -186,6 +193,7 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
w ^? cWorld . lWorld . creatures . ix 0 . crType . avatarPulse . pulseProgress w ^? cWorld . lWorld . creatures . ix 0 . crType . avatarPulse . pulseProgress
== Just 0 == Just 0
itm = loc ^. locLDT . ldtValue . _1 itm = loc ^. locLDT . ldtValue . _1
(sid, g) = runState (takeOne [whirdownSmall1S,whirdownSmall2S]) (w ^. randGen)
copierItemUpdate :: Item -> Creature -> World -> World copierItemUpdate :: Item -> Creature -> World -> World
copierItemUpdate itm cr w = fromMaybe w $ do copierItemUpdate itm cr w = fromMaybe w $ do
+2
View File
@@ -5,6 +5,7 @@
module Dodge.Data.Item.Params where module Dodge.Data.Item.Params where
import Sound.Data
import Control.Lens import Control.Lens
import Data.Aeson import Data.Aeson
import Data.Aeson.TH import Data.Aeson.TH
@@ -20,6 +21,7 @@ data ItemParams
| WarmTime | WarmTime
{ _wTime :: Int { _wTime :: Int
, _isWarming :: Bool , _isWarming :: Bool
, _coolSound :: Maybe SoundID
} }
| ItemParamID {_itParamID :: Int} | ItemParamID {_itParamID :: Int}
+9 -1
View File
@@ -377,6 +377,7 @@ doHeldUseEffect t cr w = case t ^. ldtValue . itType of
-- itm & ldtValue . itUse . heldParams . weaponRepeat .~ [] -- itm & ldtValue . itUse . heldParams . weaponRepeat .~ []
-- & ldtValue . itUse . heldFrame .~ x -- & ldtValue . itUse . heldFrame .~ x
-- should probably unify failure with time use check in some way...
applyCME :: Item -> Creature -> Bool -> World -> World applyCME :: Item -> Creature -> Bool -> World -> World
applyCME itm cr cme applyCME itm cr cme
| cme = | cme =
@@ -385,8 +386,15 @@ applyCME itm cr cme
. applySidePush spush cr . applySidePush spush cr
. applyTorqueCME itm cr . applyTorqueCME itm cr
. applyRecoil itm cr . applyRecoil itm cr
| otherwise = failsound | otherwise = case itm ^. itType of
HELD MACHINEPISTOL ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itParams .~
WarmTime (coolstart - 1) True Nothing
-- the above is quite hacky for now
_ -> failsound
where where
coolstart = fromMaybe 0 $ useDelay itm ^? coolStart
itid = itm ^?! itLocation . ilInvID -- unsafe
spush = maybe 0 itemSidePush $ itm ^? itType . ibtHeld spush = maybe 0 itemSidePush $ itm ^? itType . ibtHeld
failsound w = case w ^? input . mouseButtons . ix SDL.ButtonLeft of failsound w = case w ^? input . mouseButtons . ix SDL.ButtonLeft of
Just 0 -> soundStart (CrWeaponFailSound (_crID cr)) (_crPos cr) click1S Nothing w Just 0 -> soundStart (CrWeaponFailSound (_crID cr)) (_crPos cr) click1S Nothing w
+1 -1
View File
@@ -58,4 +58,4 @@ miniGunX i =
& itType .~ HELD (MINIGUNX i) & itType .~ HELD (MINIGUNX i)
-- & itEffect . ieInv .~ ItemReduceWarmTime -- & itEffect . ieInv .~ ItemReduceWarmTime
-- & itEffect . ieOnDrop .~ ItemSetWarmTime 0 -- & itEffect . ieOnDrop .~ ItemSetWarmTime 0
& itParams .~ WarmTime 0 False & itParams .~ WarmTime 0 False Nothing
+1 -1
View File
@@ -53,7 +53,7 @@ machinePistol :: Item
machinePistol = machinePistol =
autoPistol autoPistol
& itType .~ HELD MACHINEPISTOL & itType .~ HELD MACHINEPISTOL
& itParams .~ WarmTime 0 False & itParams .~ WarmTime 0 False Nothing
smg :: Item smg :: Item
smg = smg =
+407 -362
View File
@@ -1,4 +1,4 @@
-- generated at 2025-06-26 00:25:02.708688263 UTC -- generated at 2025-06-26 07:04:16.343678574 UTC
module Dodge.SoundLogic.ExternallyGeneratedSounds where module Dodge.SoundLogic.ExternallyGeneratedSounds where
import Sound.Data import Sound.Data
soundToVol :: SoundID -> Float soundToVol :: SoundID -> Float
@@ -10,130 +10,139 @@ soundToVol v = case _getSoundID v of
4 -> 300 4 -> 300
5 -> 2000 5 -> 2000
6 -> 500 6 -> 500
7 -> 1000 7 -> 200
8 -> 40 8 -> 1000
9 -> 100 9 -> 40
10 -> 100 10 -> 100
11 -> 500 11 -> 100
12 -> 200 12 -> 500
13 -> 500 13 -> 200
14 -> 300 14 -> 500
15 -> 100 15 -> 300
16 -> 100 16 -> 100
17 -> 500 17 -> 100
18 -> 1000 18 -> 200
19 -> 40 19 -> 500
20 -> 2000 20 -> 200
21 -> 100 21 -> 1000
22 -> 50 22 -> 40
23 -> 200 23 -> 2000
24 -> 250 24 -> 100
25 -> 100 25 -> 50
26 -> 50 26 -> 200
27 -> 2000 27 -> 250
28 -> 200 28 -> 100
29 -> 40 29 -> 50
30 -> 300 30 -> 2000
31 -> 500 31 -> 200
32 -> 2000 32 -> 200
33 -> 500 33 -> 200
34 -> 100 34 -> 40
35 -> 200 35 -> 300
36 -> 1000 36 -> 500
37 -> 200 37 -> 2000
38 -> 100 38 -> 500
39 -> 100 39 -> 200
40 -> 1000 40 -> 100
41 -> 200 41 -> 200
42 -> 1000 42 -> 1000
43 -> 500 43 -> 200
44 -> 40 44 -> 100
45 -> 400 45 -> 100
46 -> 2000 46 -> 1000
47 -> 100 47 -> 200
48 -> 300 48 -> 1000
49 -> 50 49 -> 500
50 -> 2000 50 -> 40
51 -> 50 51 -> 400
52 -> 500 52 -> 2000
53 -> 1000 53 -> 100
54 -> 8000 54 -> 300
55 -> 2000 55 -> 50
56 -> 2000 56 -> 2000
57 -> 1000 57 -> 50
58 -> 200 58 -> 500
59 -> 2000 59 -> 1000
60 -> 100 60 -> 200
61 -> 100 61 -> 8000
62 -> 40 62 -> 2000
63 -> 100 63 -> 2000
64 -> 40 64 -> 1000
65 -> 2000 65 -> 200
66 -> 100 66 -> 2000
67 -> 500 67 -> 100
68 -> 40 68 -> 100
69 -> 100 69 -> 40
70 -> 300 70 -> 100
71 -> 300 71 -> 40
72 -> 100 72 -> 2000
73 -> 2000 73 -> 100
74 -> 1000 74 -> 500
75 -> 1000 75 -> 40
76 -> 1000 76 -> 100
77 -> 100 77 -> 300
78 -> 100 78 -> 300
79 -> 1000 79 -> 100
80 -> 1000 80 -> 2000
81 -> 40 81 -> 1000
82 -> 50 82 -> 1000
83 -> 1000 83 -> 1000
84 -> 500 84 -> 100
85 -> 500 85 -> 100
86 -> 100 86 -> 1000
87 -> 100 87 -> 1000
88 -> 1000 88 -> 40
89 -> 20 89 -> 50
90 -> 500 90 -> 1000
91 -> 300 91 -> 500
92 -> 200 92 -> 500
93 -> 500 93 -> 100
94 -> 1000 94 -> 100
95 -> 200 95 -> 1000
96 -> 1000 96 -> 20
97 -> 2000 97 -> 500
98 -> 500 98 -> 300
99 -> 200 99 -> 200
100 -> 100 100 -> 500
101 -> 1000 101 -> 1000
102 -> 300 102 -> 200
103 -> 2000 103 -> 1000
104 -> 2000 104 -> 2000
105 -> 100 105 -> 500
106 -> 500 106 -> 200
107 -> 2000 107 -> 100
108 -> 500 108 -> 1000
109 -> 100 109 -> 300
110 -> 300 110 -> 2000
111 -> 1000 111 -> 2000
112 -> 200 112 -> 100
113 -> 100 113 -> 500
114 -> 1000 114 -> 2000
115 -> 2000 115 -> 500
116 -> 1000 116 -> 100
117 -> 100 117 -> 300
118 -> 200 118 -> 1000
119 -> 500 119 -> 200
120 -> 100 120 -> 100
121 -> 2000 121 -> 200
122 -> 200 122 -> 1000
123 -> 300 123 -> 2000
124 -> 1000 124 -> 200
125 -> 2000 125 -> 1000
126 -> 2000 126 -> 100
127 -> 250 127 -> 200
128 -> 200 128 -> 500
129 -> 100 129 -> 100
130 -> 200 130 -> 2000
131 -> 200
132 -> 300
133 -> 1000
134 -> 2000
135 -> 2000
136 -> 250
137 -> 200
138 -> 100
139 -> 200
_ -> 50 _ -> 50
soundToOnomato :: SoundID -> String soundToOnomato :: SoundID -> String
soundToOnomato v = case _getSoundID v of soundToOnomato v = case _getSoundID v of
@@ -144,130 +153,139 @@ soundToOnomato v = case _getSoundID v of
4 -> "WHRP" 4 -> "WHRP"
5 -> "BRDBRDBRD" 5 -> "BRDBRDBRD"
6 -> "DEDEDA" 6 -> "DEDEDA"
7 -> "CRNK" 7 -> "WHR"
8 -> "CLNK" 8 -> "CRNK"
9 -> "SKWLCH" 9 -> "CLNK"
10 -> "WRR" 10 -> "SKWLCH"
11 -> "TINKLE" 11 -> "WRR"
12 -> "SKREL" 12 -> "TINKLE"
13 -> "TRINKL" 13 -> "SKREL"
14 -> "BWAAH" 14 -> "TRINKL"
15 -> "SQLEE" 15 -> "BWAAH"
16 -> "CLCLH" 16 -> "SQLEE"
17 -> "DNDNDNDN" 17 -> "CLCLH"
18 -> "CRMBL" 18 -> "WHH"
19 -> "TIP" 19 -> "DNDNDNDN"
20 -> "TATATA" 20 -> "WH"
21 -> "SPRT" 21 -> "CRMBL"
22 -> "BLIH" 22 -> "TIP"
23 -> "SQWCH" 23 -> "TATATA"
24 -> "WHR" 24 -> "SPRT"
25 -> "SKLE" 25 -> "BLIH"
26 -> "HMM" 26 -> "SQWCH"
27 -> "PEW" 27 -> "WHR"
28 -> "CRAKLE" 28 -> "SKLE"
29 -> "TAP" 29 -> "HMM"
30 -> "DWAAH" 30 -> "PEW"
31 -> "PRUM" 31 -> "WH"
32 -> "BANGG" 32 -> "WH"
33 -> "CRTINK" 33 -> "CRAKLE"
34 -> "PHF" 34 -> "TAP"
35 -> "CRNCH" 35 -> "DWAAH"
36 -> "ZHM" 36 -> "PRUM"
37 -> "TING" 37 -> "BANGG"
38 -> "CLCLH" 38 -> "CRTINK"
39 -> "THUD" 39 -> "WH"
40 -> "TRWNG" 40 -> "PHF"
41 -> "TING" 41 -> "CRNCH"
42 -> "CRASH" 42 -> "ZHM"
43 -> "CLANG" 43 -> "TING"
44 -> "TAPTIP" 44 -> "CLCLH"
45 -> "CRNKCRNKCRNK" 45 -> "THUD"
46 -> "CHUGUGUG" 46 -> "TRWNG"
47 -> "SKWLL" 47 -> "TING"
48 -> "WRRR" 48 -> "CRASH"
49 -> "HSSS" 49 -> "CLANG"
50 -> "BOOM" 50 -> "TAPTIP"
51 -> "HSS" 51 -> "CRNKCRNKCRNK"
52 -> "CLANG" 52 -> "CHUGUGUG"
53 -> "TAKH" 53 -> "SKWLL"
54 -> "RINGGG" 54 -> "WRRR"
55 -> "CRH" 55 -> "HSSS"
56 -> "UGGAUGGA" 56 -> "BOOM"
57 -> "CRUMPLE" 57 -> "HSS"
58 -> "TING" 58 -> "CLANG"
59 -> "CREUH" 59 -> "TAKH"
60 -> "KKSQWL" 60 -> "WHH"
61 -> "SMACK" 61 -> "RINGGG"
62 -> "CLICK" 62 -> "CRH"
63 -> "SPRT" 63 -> "UGGAUGGA"
64 -> "TIPTOP" 64 -> "CRUMPLE"
65 -> "CRUH" 65 -> "TING"
66 -> "CHNKCHNKCHUNK" 66 -> "CREUH"
67 -> "CLKCLK" 67 -> "KKSQWL"
68 -> "TIPTAP" 68 -> "SMACK"
69 -> "SKWLCH" 69 -> "CLICK"
70 -> "TNKTNKTNK" 70 -> "SPRT"
71 -> "CHPCHPCHP" 71 -> "TIPTOP"
72 -> "SLP" 72 -> "CRUH"
73 -> "SCREE" 73 -> "CHNKCHNKCHUNK"
74 -> "DHDHL" 74 -> "CLKCLK"
75 -> "BRAP" 75 -> "TIPTAP"
76 -> "CRSK" 76 -> "SKWLCH"
77 -> "SPLRT" 77 -> "TNKTNKTNK"
78 -> "SKWLL" 78 -> "CHPCHPCHP"
79 -> "CRNKL" 79 -> "SLP"
80 -> "TRNKL" 80 -> "SCREE"
81 -> "TAPP" 81 -> "DHDHL"
82 -> "SHUHP" 82 -> "BRAP"
83 -> "CRUMBL" 83 -> "CRSK"
84 -> "DEDEDUM" 84 -> "SPLRT"
85 -> "TAK" 85 -> "SKWLL"
86 -> "SPLRT" 86 -> "CRNKL"
87 -> "SQLEE" 87 -> "TRNKL"
88 -> "CRISH" 88 -> "TAPP"
89 -> "SWSH" 89 -> "SHUHP"
90 -> "BIPBIPBIP" 90 -> "CRUMBL"
91 -> "BEP" 91 -> "DEDEDUM"
92 -> "CRSKRL" 92 -> "TAK"
93 -> "KRTNKL" 93 -> "SPLRT"
94 -> "CRSNK" 94 -> "SQLEE"
95 -> "SHTCK" 95 -> "CRISH"
96 -> "TTRKL" 96 -> "SWSH"
97 -> "UGGAUGGA" 97 -> "BIPBIPBIP"
98 -> "DUDURAH" 98 -> "BEP"
99 -> "TING" 99 -> "CRSKRL"
100 -> "KKSQWL" 100 -> "KRTNKL"
101 -> "CRMPL" 101 -> "CRSNK"
102 -> "BWEP" 102 -> "SHTCK"
103 -> "CHUGUGUG" 103 -> "TTRKL"
104 -> "BANG" 104 -> "UGGAUGGA"
105 -> "SLPP" 105 -> "DUDURAH"
106 -> "DEDA" 106 -> "TING"
107 -> "WHSSH" 107 -> "KKSQWL"
108 -> "CLANG" 108 -> "CRMPL"
109 -> "HNH" 109 -> "BWEP"
110 -> "BWAH" 110 -> "CHUGUGUG"
111 -> "CRUNK" 111 -> "BANG"
112 -> "SQWLTCH" 112 -> "SLPP"
113 -> "DRR" 113 -> "DEDA"
114 -> "TRNKL" 114 -> "WHSSH"
115 -> "BRAP" 115 -> "CLANG"
116 -> "BLPCHCH" 116 -> "HNH"
117 -> "SKLE" 117 -> "BWAH"
118 -> "ZMM" 118 -> "CRUNK"
119 -> "WRRR" 119 -> "SQWLTCH"
120 -> "FWUMP" 120 -> "DRR"
121 -> "BRAHCHCH" 121 -> "WHH"
122 -> "TING" 122 -> "TRNKL"
123 -> "WHRR" 123 -> "BRAP"
124 -> "BWMP" 124 -> "WHR"
125 -> "BRPBRPBRP" 125 -> "BLPCHCH"
126 -> "WE-OH" 126 -> "SKLE"
127 -> "WHRHH" 127 -> "ZMM"
128 -> "THCK" 128 -> "WRRR"
129 -> "FHP" 129 -> "FWUMP"
130 -> "QWLPH" 130 -> "BRAHCHCH"
131 -> "TING"
132 -> "WHRR"
133 -> "BWMP"
134 -> "BRPBRPBRP"
135 -> "WE-OH"
136 -> "WHRHH"
137 -> "THCK"
138 -> "FHP"
139 -> "QWLPH"
_ -> error "unitialised sound" _ -> error "unitialised sound"
soundPathList :: [String] soundPathList :: [String]
soundPathList = soundPathList =
@@ -278,6 +296,7 @@ soundPathList =
, "whirTap.WHRP.300.wav" , "whirTap.WHRP.300.wav"
, "mini1.BRDBRDBRD.2000.wav" , "mini1.BRDBRDBRD.2000.wav"
, "dededa.DEDEDA.500.wav" , "dededa.DEDEDA.500.wav"
, "whirdownSmall2.WHR.200.wav"
, "glassShat3.CRNK.1000.wav" , "glassShat3.CRNK.1000.wav"
, "tapQuiet.CLNK.40.wav" , "tapQuiet.CLNK.40.wav"
, "blood8.SKWLCH.100.wav" , "blood8.SKWLCH.100.wav"
@@ -288,7 +307,9 @@ soundPathList =
, "sineRaisePitchTwoSec.BWAAH.300.wav" , "sineRaisePitchTwoSec.BWAAH.300.wav"
, "blood7.SQLEE.100.wav" , "blood7.SQLEE.100.wav"
, "bloodShort5.CLCLH.100.wav" , "bloodShort5.CLCLH.100.wav"
, "whirdown1.WHH.200.wav"
, "combine.DNDNDNDN.500.wav" , "combine.DNDNDNDN.500.wav"
, "whirdownShort1.WH.200.wav"
, "stone4.CRMBL.1000.wav" , "stone4.CRMBL.1000.wav"
, "foot1.TIP.40.wav" , "foot1.TIP.40.wav"
, "autoB.TATATA.2000.wav" , "autoB.TATATA.2000.wav"
@@ -299,12 +320,15 @@ soundPathList =
, "bloodShort6.SKLE.100.wav" , "bloodShort6.SKLE.100.wav"
, "fridgeHum.HMM.50.wav" , "fridgeHum.HMM.50.wav"
, "seagullWhistle1.PEW.2000.wav" , "seagullWhistle1.PEW.2000.wav"
, "whirdownShort2.WH.200.wav"
, "whirdownShort4.WH.200.wav"
, "elecCrackle.CRAKLE.200.wav" , "elecCrackle.CRAKLE.200.wav"
, "foot2.TAP.40.wav" , "foot2.TAP.40.wav"
, "skwareFadeTwoSec.DWAAH.300.wav" , "skwareFadeTwoSec.DWAAH.300.wav"
, "insertOne.PRUM.500.wav" , "insertOne.PRUM.500.wav"
, "bangEcho.BANGG.2000.wav" , "bangEcho.BANGG.2000.wav"
, "smallGlass3.CRTINK.500.wav" , "smallGlass3.CRTINK.500.wav"
, "whirdownShort3.WH.200.wav"
, "whiteNoiseFadeOut.PHF.100.wav" , "whiteNoiseFadeOut.PHF.100.wav"
, "gut2.CRNCH.200.wav" , "gut2.CRNCH.200.wav"
, "tele.ZHM.1000.wav" , "tele.ZHM.1000.wav"
@@ -325,6 +349,7 @@ soundPathList =
, "foamSprayFadeOut.HSS.50.wav" , "foamSprayFadeOut.HSS.50.wav"
, "clang1.CLANG.500.wav" , "clang1.CLANG.500.wav"
, "tap2.TAKH.1000.wav" , "tap2.TAKH.1000.wav"
, "whirdown3.WHH.200.wav"
, "tinitus.RINGGG.8000.wav" , "tinitus.RINGGG.8000.wav"
, "seagullCry1.CRH.2000.wav" , "seagullCry1.CRH.2000.wav"
, "seagullBark.UGGAUGGA.2000.wav" , "seagullBark.UGGAUGGA.2000.wav"
@@ -385,8 +410,10 @@ soundPathList =
, "metal2.CRUNK.1000.wav" , "metal2.CRUNK.1000.wav"
, "gut5.SQWLTCH.200.wav" , "gut5.SQWLTCH.200.wav"
, "slideDoor.DRR.100.wav" , "slideDoor.DRR.100.wav"
, "whirdown2.WHH.200.wav"
, "metal6.TRNKL.1000.wav" , "metal6.TRNKL.1000.wav"
, "autoGun.BRAP.2000.wav" , "autoGun.BRAP.2000.wav"
, "whirdownSmall1.WHR.200.wav"
, "oldMachineBoot.BLPCHCH.1000.wav" , "oldMachineBoot.BLPCHCH.1000.wav"
, "blood6.SKLE.100.wav" , "blood6.SKLE.100.wav"
, "buzz.ZMM.200.wav" , "buzz.ZMM.200.wav"
@@ -417,251 +444,269 @@ mini1S :: SoundID
mini1S = SoundID 5 mini1S = SoundID 5
dededaS :: SoundID dededaS :: SoundID
dededaS = SoundID 6 dededaS = SoundID 6
whirdownSmall2S :: SoundID
whirdownSmall2S = SoundID 7
glassShat3S :: SoundID glassShat3S :: SoundID
glassShat3S = SoundID 7 glassShat3S = SoundID 8
tapQuietS :: SoundID tapQuietS :: SoundID
tapQuietS = SoundID 8 tapQuietS = SoundID 9
blood8S :: SoundID blood8S :: SoundID
blood8S = SoundID 9 blood8S = SoundID 10
fireS :: SoundID fireS :: SoundID
fireS = SoundID 10 fireS = SoundID 11
smallGlass4S :: SoundID smallGlass4S :: SoundID
smallGlass4S = SoundID 11 smallGlass4S = SoundID 12
gut4S :: SoundID gut4S :: SoundID
gut4S = SoundID 12 gut4S = SoundID 13
smallGlass1S :: SoundID smallGlass1S :: SoundID
smallGlass1S = SoundID 13 smallGlass1S = SoundID 14
sineRaisePitchTwoSecS :: SoundID sineRaisePitchTwoSecS :: SoundID
sineRaisePitchTwoSecS = SoundID 14 sineRaisePitchTwoSecS = SoundID 15
blood7S :: SoundID blood7S :: SoundID
blood7S = SoundID 15 blood7S = SoundID 16
bloodShort5S :: SoundID bloodShort5S :: SoundID
bloodShort5S = SoundID 16 bloodShort5S = SoundID 17
whirdown1S :: SoundID
whirdown1S = SoundID 18
combineS :: SoundID combineS :: SoundID
combineS = SoundID 17 combineS = SoundID 19
whirdownShort1S :: SoundID
whirdownShort1S = SoundID 20
stone4S :: SoundID stone4S :: SoundID
stone4S = SoundID 18 stone4S = SoundID 21
foot1S :: SoundID foot1S :: SoundID
foot1S = SoundID 19 foot1S = SoundID 22
autoBS :: SoundID autoBS :: SoundID
autoBS = SoundID 20 autoBS = SoundID 23
blood2S :: SoundID blood2S :: SoundID
blood2S = SoundID 21 blood2S = SoundID 24
healS :: SoundID healS :: SoundID
healS = SoundID 22 healS = SoundID 25
gut3S :: SoundID gut3S :: SoundID
gut3S = SoundID 23 gut3S = SoundID 26
whirupS :: SoundID whirupS :: SoundID
whirupS = SoundID 24 whirupS = SoundID 27
bloodShort6S :: SoundID bloodShort6S :: SoundID
bloodShort6S = SoundID 25 bloodShort6S = SoundID 28
fridgeHumS :: SoundID fridgeHumS :: SoundID
fridgeHumS = SoundID 26 fridgeHumS = SoundID 29
seagullWhistle1S :: SoundID seagullWhistle1S :: SoundID
seagullWhistle1S = SoundID 27 seagullWhistle1S = SoundID 30
whirdownShort2S :: SoundID
whirdownShort2S = SoundID 31
whirdownShort4S :: SoundID
whirdownShort4S = SoundID 32
elecCrackleS :: SoundID elecCrackleS :: SoundID
elecCrackleS = SoundID 28 elecCrackleS = SoundID 33
foot2S :: SoundID foot2S :: SoundID
foot2S = SoundID 29 foot2S = SoundID 34
skwareFadeTwoSecS :: SoundID skwareFadeTwoSecS :: SoundID
skwareFadeTwoSecS = SoundID 30 skwareFadeTwoSecS = SoundID 35
insertOneS :: SoundID insertOneS :: SoundID
insertOneS = SoundID 31 insertOneS = SoundID 36
bangEchoS :: SoundID bangEchoS :: SoundID
bangEchoS = SoundID 32 bangEchoS = SoundID 37
smallGlass3S :: SoundID smallGlass3S :: SoundID
smallGlass3S = SoundID 33 smallGlass3S = SoundID 38
whirdownShort3S :: SoundID
whirdownShort3S = SoundID 39
whiteNoiseFadeOutS :: SoundID whiteNoiseFadeOutS :: SoundID
whiteNoiseFadeOutS = SoundID 34 whiteNoiseFadeOutS = SoundID 40
gut2S :: SoundID gut2S :: SoundID
gut2S = SoundID 35 gut2S = SoundID 41
teleS :: SoundID teleS :: SoundID
teleS = SoundID 36 teleS = SoundID 42
ting2S :: SoundID ting2S :: SoundID
ting2S = SoundID 37 ting2S = SoundID 43
blood5S :: SoundID blood5S :: SoundID
blood5S = SoundID 38 blood5S = SoundID 44
hitS :: SoundID hitS :: SoundID
hitS = SoundID 39 hitS = SoundID 45
metal7S :: SoundID metal7S :: SoundID
metal7S = SoundID 40 metal7S = SoundID 46
ting4S :: SoundID ting4S :: SoundID
ting4S = SoundID 41 ting4S = SoundID 47
stone1S :: SoundID stone1S :: SoundID
stone1S = SoundID 42 stone1S = SoundID 48
clangS :: SoundID clangS :: SoundID
clangS = SoundID 43 clangS = SoundID 49
twoStep1S :: SoundID twoStep1S :: SoundID
twoStep1S = SoundID 44 twoStep1S = SoundID 50
wrench1S :: SoundID wrench1S :: SoundID
wrench1S = SoundID 45 wrench1S = SoundID 51
seagullChatterS :: SoundID seagullChatterS :: SoundID
seagullChatterS = SoundID 46 seagullChatterS = SoundID 52
blood4S :: SoundID blood4S :: SoundID
blood4S = SoundID 47 blood4S = SoundID 53
fireFadeS :: SoundID fireFadeS :: SoundID
fireFadeS = SoundID 48 fireFadeS = SoundID 54
foamSprayLoopS :: SoundID foamSprayLoopS :: SoundID
foamSprayLoopS = SoundID 49 foamSprayLoopS = SoundID 55
explosionS :: SoundID explosionS :: SoundID
explosionS = SoundID 50 explosionS = SoundID 56
foamSprayFadeOutS :: SoundID foamSprayFadeOutS :: SoundID
foamSprayFadeOutS = SoundID 51 foamSprayFadeOutS = SoundID 57
clang1S :: SoundID clang1S :: SoundID
clang1S = SoundID 52 clang1S = SoundID 58
tap2S :: SoundID tap2S :: SoundID
tap2S = SoundID 53 tap2S = SoundID 59
whirdown3S :: SoundID
whirdown3S = SoundID 60
tinitusS :: SoundID tinitusS :: SoundID
tinitusS = SoundID 54 tinitusS = SoundID 61
seagullCry1S :: SoundID seagullCry1S :: SoundID
seagullCry1S = SoundID 55 seagullCry1S = SoundID 62
seagullBarkS :: SoundID seagullBarkS :: SoundID
seagullBarkS = SoundID 56 seagullBarkS = SoundID 63
stone3S :: SoundID stone3S :: SoundID
stone3S = SoundID 57 stone3S = SoundID 64
tingS :: SoundID tingS :: SoundID
tingS = SoundID 58 tingS = SoundID 65
seagullCry2S :: SoundID seagullCry2S :: SoundID
seagullCry2S = SoundID 59 seagullCry2S = SoundID 66
bloodShort3S :: SoundID bloodShort3S :: SoundID
bloodShort3S = SoundID 60 bloodShort3S = SoundID 67
hit1S :: SoundID hit1S :: SoundID
hit1S = SoundID 61 hit1S = SoundID 68
click1S :: SoundID click1S :: SoundID
click1S = SoundID 62 click1S = SoundID 69
bloodShort2S :: SoundID bloodShort2S :: SoundID
bloodShort2S = SoundID 63 bloodShort2S = SoundID 70
twoStepSlowS :: SoundID twoStepSlowS :: SoundID
twoStepSlowS = SoundID 64 twoStepSlowS = SoundID 71
seagullCryS :: SoundID seagullCryS :: SoundID
seagullCryS = SoundID 65 seagullCryS = SoundID 72
crankSlowS :: SoundID crankSlowS :: SoundID
crankSlowS = SoundID 66 crankSlowS = SoundID 73
primeS :: SoundID primeS :: SoundID
primeS = SoundID 67 primeS = SoundID 74
twoStepS :: SoundID twoStepS :: SoundID
twoStepS = SoundID 68 twoStepS = SoundID 75
bloodShort8S :: SoundID bloodShort8S :: SoundID
bloodShort8S = SoundID 69 bloodShort8S = SoundID 76
reloadS :: SoundID reloadS :: SoundID
reloadS = SoundID 70 reloadS = SoundID 77
reload1S :: SoundID reload1S :: SoundID
reload1S = SoundID 71 reload1S = SoundID 78
slapS :: SoundID slapS :: SoundID
slapS = SoundID 72 slapS = SoundID 79
tone440sawtoothS :: SoundID tone440sawtoothS :: SoundID
tone440sawtoothS = SoundID 73 tone440sawtoothS = SoundID 80
metal3S :: SoundID metal3S :: SoundID
metal3S = SoundID 74 metal3S = SoundID 81
tap3S :: SoundID tap3S :: SoundID
tap3S = SoundID 75 tap3S = SoundID 82
glassShat4S :: SoundID glassShat4S :: SoundID
glassShat4S = SoundID 76 glassShat4S = SoundID 83
bloodShort1S :: SoundID bloodShort1S :: SoundID
bloodShort1S = SoundID 77 bloodShort1S = SoundID 84
bloodShort4S :: SoundID bloodShort4S :: SoundID
bloodShort4S = SoundID 78 bloodShort4S = SoundID 85
glassShat2S :: SoundID glassShat2S :: SoundID
glassShat2S = SoundID 79 glassShat2S = SoundID 86
metal1S :: SoundID metal1S :: SoundID
metal1S = SoundID 80 metal1S = SoundID 87
foot3S :: SoundID foot3S :: SoundID
foot3S = SoundID 81 foot3S = SoundID 88
pickUpS :: SoundID pickUpS :: SoundID
pickUpS = SoundID 82 pickUpS = SoundID 89
stone5S :: SoundID stone5S :: SoundID
stone5S = SoundID 83 stone5S = SoundID 90
dededumS :: SoundID dededumS :: SoundID
dededumS = SoundID 84 dededumS = SoundID 91
tap1S :: SoundID tap1S :: SoundID
tap1S = SoundID 85 tap1S = SoundID 92
blood1S :: SoundID blood1S :: SoundID
blood1S = SoundID 86 blood1S = SoundID 93
bloodShort7S :: SoundID bloodShort7S :: SoundID
bloodShort7S = SoundID 87 bloodShort7S = SoundID 94
metal4S :: SoundID metal4S :: SoundID
metal4S = SoundID 88 metal4S = SoundID 95
knifeS :: SoundID knifeS :: SoundID
knifeS = SoundID 89 knifeS = SoundID 96
computerBeepingS :: SoundID computerBeepingS :: SoundID
computerBeepingS = SoundID 90 computerBeepingS = SoundID 97
tone440S :: SoundID tone440S :: SoundID
tone440S = SoundID 91 tone440S = SoundID 98
gut6S :: SoundID gut6S :: SoundID
gut6S = SoundID 92 gut6S = SoundID 99
smallGlass2S :: SoundID smallGlass2S :: SoundID
smallGlass2S = SoundID 93 smallGlass2S = SoundID 100
glassShat1S :: SoundID glassShat1S :: SoundID
glassShat1S = SoundID 94 glassShat1S = SoundID 101
disconnectItemS :: SoundID disconnectItemS :: SoundID
disconnectItemS = SoundID 95 disconnectItemS = SoundID 102
metal5S :: SoundID metal5S :: SoundID
metal5S = SoundID 96 metal5S = SoundID 103
seagullBarkTransformedS :: SoundID seagullBarkTransformedS :: SoundID
seagullBarkTransformedS = SoundID 97 seagullBarkTransformedS = SoundID 104
ejectS :: SoundID ejectS :: SoundID
ejectS = SoundID 98 ejectS = SoundID 105
ting3S :: SoundID ting3S :: SoundID
ting3S = SoundID 99 ting3S = SoundID 106
blood3S :: SoundID blood3S :: SoundID
blood3S = SoundID 100 blood3S = SoundID 107
stone2S :: SoundID stone2S :: SoundID
stone2S = SoundID 101 stone2S = SoundID 108
tone440raiseS :: SoundID tone440raiseS :: SoundID
tone440raiseS = SoundID 102 tone440raiseS = SoundID 109
seagullChatter1S :: SoundID seagullChatter1S :: SoundID
seagullChatter1S = SoundID 103 seagullChatter1S = SoundID 110
bangS :: SoundID bangS :: SoundID
bangS = SoundID 104 bangS = SoundID 111
slap1S :: SoundID slap1S :: SoundID
slap1S = SoundID 105 slap1S = SoundID 112
dedaS :: SoundID dedaS :: SoundID
dedaS = SoundID 106 dedaS = SoundID 113
missileLaunchS :: SoundID missileLaunchS :: SoundID
missileLaunchS = SoundID 107 missileLaunchS = SoundID 114
clang2S :: SoundID clang2S :: SoundID
clang2S = SoundID 108 clang2S = SoundID 115
gruntS :: SoundID gruntS :: SoundID
gruntS = SoundID 109 gruntS = SoundID 116
sineRaisePitchOneSecS :: SoundID sineRaisePitchOneSecS :: SoundID
sineRaisePitchOneSecS = SoundID 110 sineRaisePitchOneSecS = SoundID 117
metal2S :: SoundID metal2S :: SoundID
metal2S = SoundID 111 metal2S = SoundID 118
gut5S :: SoundID gut5S :: SoundID
gut5S = SoundID 112 gut5S = SoundID 119
slideDoorS :: SoundID slideDoorS :: SoundID
slideDoorS = SoundID 113 slideDoorS = SoundID 120
whirdown2S :: SoundID
whirdown2S = SoundID 121
metal6S :: SoundID metal6S :: SoundID
metal6S = SoundID 114 metal6S = SoundID 122
autoGunS :: SoundID autoGunS :: SoundID
autoGunS = SoundID 115 autoGunS = SoundID 123
whirdownSmall1S :: SoundID
whirdownSmall1S = SoundID 124
oldMachineBootS :: SoundID oldMachineBootS :: SoundID
oldMachineBootS = SoundID 116 oldMachineBootS = SoundID 125
blood6S :: SoundID blood6S :: SoundID
blood6S = SoundID 117 blood6S = SoundID 126
buzzS :: SoundID buzzS :: SoundID
buzzS = SoundID 118 buzzS = SoundID 127
fireLoudS :: SoundID fireLoudS :: SoundID
fireLoudS = SoundID 119 fireLoudS = SoundID 128
tap4S :: SoundID tap4S :: SoundID
tap4S = SoundID 120 tap4S = SoundID 129
shotgunS :: SoundID shotgunS :: SoundID
shotgunS = SoundID 121 shotgunS = SoundID 130
ting5S :: SoundID ting5S :: SoundID
ting5S = SoundID 122 ting5S = SoundID 131
whirS :: SoundID whirS :: SoundID
whirS = SoundID 123 whirS = SoundID 132
sawtoothFailS :: SoundID sawtoothFailS :: SoundID
sawtoothFailS = SoundID 124 sawtoothFailS = SoundID 133
miniS :: SoundID miniS :: SoundID
miniS = SoundID 125 miniS = SoundID 134
seagullWhistleS :: SoundID seagullWhistleS :: SoundID
seagullWhistleS = SoundID 126 seagullWhistleS = SoundID 135
whirdownS :: SoundID whirdownS :: SoundID
whirdownS = SoundID 127 whirdownS = SoundID 136
connectItemS :: SoundID connectItemS :: SoundID
connectItemS = SoundID 128 connectItemS = SoundID 137
whiteNoiseFadeInS :: SoundID whiteNoiseFadeInS :: SoundID
whiteNoiseFadeInS = SoundID 129 whiteNoiseFadeInS = SoundID 138
gut1S :: SoundID gut1S :: SoundID
gut1S = SoundID 130 gut1S = SoundID 139