diff --git a/data/sound/lowWhir.WHRR.100.wav b/data/sound/lowWhir.WHRR.100.wav new file mode 100644 index 000000000..fbb184ec9 Binary files /dev/null and b/data/sound/lowWhir.WHRR.100.wav differ diff --git a/src/Dodge/Machine/Update.hs b/src/Dodge/Machine/Update.hs index 6cd4118fe..cc1a03274 100644 --- a/src/Dodge/Machine/Update.hs +++ b/src/Dodge/Machine/Update.hs @@ -161,7 +161,7 @@ mcBackgroundSound mc = case mc ^. mcType of McDamSensor{} -> Just (fridgeHumS,1) McProxSensor{} -> Just (throbC4S,0.5) McStorage{} -> Nothing - McDistributer{} -> Just (whirS,0.5) + McDistributer{} -> Just (lowWhirS,1) McTrigger{} -> Just (throb1S,0.5) mcApplyDamage :: [Damage] -> Machine -> World -> World diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index c33c03260..3d03820d7 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -49,9 +49,9 @@ tutAnoTree = do foldMTRS [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox , corDoor --- , return $ tToBTree "cor" $ return $ cleatOnward corridor --- , tToBTree "sdr" . return . cleatOnward <$> --- (shuffleLinks =<< distributerRoom BulletAmmo 100000) + , return $ tToBTree "cor" $ return $ cleatOnward corridor + , tToBTree "sdr" . return . cleatOnward <$> + (shuffleLinks =<< distributerRoom BulletAmmo 100000) -- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom ---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] [] @@ -62,6 +62,8 @@ tutAnoTree = do -- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor -- , return $ tToBTree "cor" $ return $ cleatOnward corridor + , return $ tToBTree "cor" $ return $ cleatOnward corridor + , return $ tToBTree "cor" $ return $ cleatOnward corridor , return $ tToBTree "cor" $ return $ cleatOnward corridor , return $ tToBTree "door" $ return $ cleatOnward door , tutHub diff --git a/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs b/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs index 869958f7e..7c649d8bc 100644 --- a/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs +++ b/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs @@ -1,4 +1,4 @@ --- generated at 2025-12-26 17:19:51.7238549 UTC +-- generated at 2025-12-31 13:02:57.083459577 UTC module Dodge.SoundLogic.ExternallyGeneratedSounds where import Sound.Data soundToVol :: SoundID -> Float @@ -15,153 +15,160 @@ soundToVol v = case _getSoundID v of 9 -> 500 10 -> 1000 11 -> 100 - 12 -> 1000 - 13 -> 50 - 14 -> 200 - 15 -> 100 - 16 -> 2000 - 17 -> 100 - 18 -> 500 + 12 -> 100 + 13 -> 1000 + 14 -> 50 + 15 -> 200 + 16 -> 100 + 17 -> 2000 + 18 -> 100 19 -> 100 - 20 -> 200 + 20 -> 500 21 -> 100 22 -> 200 - 23 -> 40 - 24 -> 100 - 25 -> 100 - 26 -> 1000 - 27 -> 1000 - 28 -> 500 - 29 -> 2000 - 30 -> 2000 - 31 -> 200 - 32 -> 200 - 33 -> 1000 - 34 -> 100 + 23 -> 100 + 24 -> 200 + 25 -> 40 + 26 -> 100 + 27 -> 100 + 28 -> 1000 + 29 -> 1000 + 30 -> 500 + 31 -> 2000 + 32 -> 100 + 33 -> 2000 + 34 -> 200 35 -> 200 - 36 -> 100 + 36 -> 1000 37 -> 100 - 38 -> 2000 - 39 -> 300 - 40 -> 200 - 41 -> 100 - 42 -> 500 + 38 -> 200 + 39 -> 100 + 40 -> 100 + 41 -> 2000 + 42 -> 300 43 -> 200 - 44 -> 200 - 45 -> 100 + 44 -> 100 + 45 -> 500 46 -> 200 47 -> 200 - 48 -> 2000 - 49 -> 2000 + 48 -> 100 + 49 -> 200 50 -> 200 - 51 -> 50 - 52 -> 100 - 53 -> 2000 - 54 -> 1000 - 55 -> 40 - 56 -> 300 - 57 -> 250 - 58 -> 100 - 59 -> 500 - 60 -> 2000 - 61 -> 40 - 62 -> 200 - 63 -> 2000 - 64 -> 1000 - 65 -> 1000 - 66 -> 2000 - 67 -> 500 - 68 -> 500 - 69 -> 500 - 70 -> 100 - 71 -> 100 - 72 -> 2000 - 73 -> 200 - 74 -> 200 - 75 -> 500 - 76 -> 200 - 77 -> 2000 + 51 -> 2000 + 52 -> 2000 + 53 -> 200 + 54 -> 100 + 55 -> 50 + 56 -> 100 + 57 -> 2000 + 58 -> 1000 + 59 -> 40 + 60 -> 300 + 61 -> 250 + 62 -> 100 + 63 -> 500 + 64 -> 2000 + 65 -> 40 + 66 -> 200 + 67 -> 2000 + 68 -> 1000 + 69 -> 1000 + 70 -> 2000 + 71 -> 500 + 72 -> 500 + 73 -> 500 + 74 -> 100 + 75 -> 100 + 76 -> 2000 + 77 -> 200 78 -> 200 - 79 -> 1000 - 80 -> 1000 - 81 -> 250 - 82 -> 300 - 83 -> 2000 - 84 -> 200 - 85 -> 1000 - 86 -> 100 - 87 -> 300 - 88 -> 40 + 79 -> 500 + 80 -> 200 + 81 -> 2000 + 82 -> 200 + 83 -> 1000 + 84 -> 1000 + 85 -> 250 + 86 -> 300 + 87 -> 2000 + 88 -> 200 89 -> 1000 90 -> 100 - 91 -> 1000 - 92 -> 500 - 93 -> 100 - 94 -> 200 - 95 -> 250 - 96 -> 200 - 97 -> 200 - 98 -> 50 - 99 -> 1000 - 100 -> 50 - 101 -> 500 - 102 -> 500 - 103 -> 1000 - 104 -> 200 - 105 -> 2000 - 106 -> 20 + 91 -> 300 + 92 -> 100 + 93 -> 40 + 94 -> 1000 + 95 -> 100 + 96 -> 1000 + 97 -> 500 + 98 -> 100 + 99 -> 200 + 100 -> 250 + 101 -> 200 + 102 -> 200 + 103 -> 50 + 104 -> 1000 + 105 -> 50 + 106 -> 500 107 -> 500 - 108 -> 200 - 109 -> 2000 - 110 -> 100 - 111 -> 100 - 112 -> 200 - 113 -> 300 - 114 -> 500 - 115 -> 100 - 116 -> 300 - 117 -> 200 - 118 -> 1000 - 119 -> 100 - 120 -> 50 + 108 -> 1000 + 109 -> 200 + 110 -> 2000 + 111 -> 20 + 112 -> 500 + 113 -> 200 + 114 -> 100 + 115 -> 2000 + 116 -> 100 + 117 -> 100 + 118 -> 200 + 119 -> 300 + 120 -> 500 121 -> 100 - 122 -> 100 - 123 -> 50 + 122 -> 300 + 123 -> 200 124 -> 1000 - 125 -> 500 - 126 -> 40 + 125 -> 100 + 126 -> 50 127 -> 100 - 128 -> 200 - 129 -> 500 + 128 -> 100 + 129 -> 50 130 -> 1000 - 131 -> 300 - 132 -> 100 - 133 -> 300 - 134 -> 100 - 135 -> 100 - 136 -> 500 - 137 -> 100 + 131 -> 500 + 132 -> 40 + 133 -> 100 + 134 -> 200 + 135 -> 500 + 136 -> 1000 + 137 -> 300 138 -> 100 - 139 -> 500 + 139 -> 300 140 -> 100 141 -> 100 142 -> 500 - 143 -> 40 - 144 -> 200 - 145 -> 50 - 146 -> 500 - 147 -> 2000 - 148 -> 2000 + 143 -> 100 + 144 -> 100 + 145 -> 500 + 146 -> 100 + 147 -> 100 + 148 -> 500 149 -> 40 - 150 -> 100 - 151 -> 100 + 150 -> 200 + 151 -> 50 152 -> 500 - 153 -> 100 - 154 -> 1000 - 155 -> 500 - 156 -> 8000 - 157 -> 200 - 158 -> 300 + 153 -> 2000 + 154 -> 2000 + 155 -> 40 + 156 -> 100 + 157 -> 100 + 158 -> 500 + 159 -> 100 + 160 -> 1000 + 161 -> 100 + 162 -> 500 + 163 -> 8000 + 164 -> 200 + 165 -> 300 _ -> 50 soundToOnomato :: SoundID -> String soundToOnomato v = case _getSoundID v of @@ -177,153 +184,160 @@ soundToOnomato v = case _getSoundID v of 9 -> "KRTNKL" 10 -> "CRUMPLE" 11 -> "SKWLCH" - 12 -> "CRMBL" - 13 -> "HMM" - 14 -> "WH" - 15 -> "SKWLCH" - 16 -> "BRAP" - 17 -> "PHF" - 18 -> "DEDA" - 19 -> "CLCLH" - 20 -> "WH" - 21 -> "SQLEE" - 22 -> "WHH" - 23 -> "TIPTAP" - 24 -> "SLP" - 25 -> "SLP" - 26 -> "DHDHL" - 27 -> "ZHM" - 28 -> "CLANG" - 29 -> "UGGAUGGA" - 30 -> "BRDBRDBRD" - 31 -> "DING" - 32 -> "CRNCH" - 33 -> "CRASH" - 34 -> "SPLRT" - 35 -> "ZMM" - 36 -> "SQLEE" - 37 -> "CHNKCHNKCHUNK" - 38 -> "CHUGUGUG" - 39 -> "BWEP" - 40 -> "TING" - 41 -> "FHP" - 42 -> "TINKLE" + 12 -> "WHRR" + 13 -> "CRMBL" + 14 -> "HMM" + 15 -> "WH" + 16 -> "SKWLCH" + 17 -> "BRAP" + 18 -> "PHF" + 19 -> "SLP" + 20 -> "DEDA" + 21 -> "CLCLH" + 22 -> "WH" + 23 -> "SQLEE" + 24 -> "WHH" + 25 -> "TIPTAP" + 26 -> "SLP" + 27 -> "SLP" + 28 -> "DHDHL" + 29 -> "ZHM" + 30 -> "CLANG" + 31 -> "UGGAUGGA" + 32 -> "SLP" + 33 -> "BRDBRDBRD" + 34 -> "DING" + 35 -> "CRNCH" + 36 -> "CRASH" + 37 -> "SPLRT" + 38 -> "ZMM" + 39 -> "SQLEE" + 40 -> "CHNKCHNKCHUNK" + 41 -> "CHUGUGUG" + 42 -> "BWEP" 43 -> "TING" - 44 -> "DING" - 45 -> "SMACK" - 46 -> "DING" - 47 -> "WHH" - 48 -> "WHSSH" - 49 -> "WE-OH" - 50 -> "DING" - 51 -> "BLIH" - 52 -> "DRR" - 53 -> "CRH" - 54 -> "BLPCHCH" - 55 -> "CLNK" - 56 -> "WHRR" - 57 -> "WHR" - 58 -> "KKSQWL" - 59 -> "CLKCLK" - 60 -> "BANGG" - 61 -> "TIPTOP" - 62 -> "WHH" - 63 -> "BRPBRPBRP" - 64 -> "TTRKL" - 65 -> "CRUMBL" - 66 -> "SCREE" - 67 -> "WRRR" - 68 -> "SCREE" - 69 -> "BIPBIPBIP" - 70 -> "SLP" - 71 -> "CLCLH" - 72 -> "CREUH" - 73 -> "SQWLTCH" - 74 -> "TING" - 75 -> "DEDEDA" - 76 -> "WHR" - 77 -> "CRUH" - 78 -> "SQWCH" - 79 -> "TRWNG" - 80 -> "CRSK" - 81 -> "DMP" - 82 -> "BEP" - 83 -> "BOOM" - 84 -> "SKREL" - 85 -> "CRSNK" - 86 -> "SLP" - 87 -> "CHPCHPCHP" - 88 -> "TAP" - 89 -> "CRNKL" - 90 -> "WRR" - 91 -> "CRNK" - 92 -> "CUHRUP" - 93 -> "SPLRT" - 94 -> "TING" - 95 -> "WHRHH" - 96 -> "CRSKRL" - 97 -> "WH" - 98 -> "FHFH" - 99 -> "BRAP" - 100 -> "WHHH" - 101 -> "PLH" - 102 -> "CLANG" - 103 -> "CRUNK" - 104 -> "TING" - 105 -> "TATATA" - 106 -> "SWSH" - 107 -> "DNDNDNDN" - 108 -> "THCK" - 109 -> "PEW" - 110 -> "SKLE" - 111 -> "THUD" - 112 -> "WH" - 113 -> "BWAH" - 114 -> "DEDEDUM" - 115 -> "WHUMWHUM" - 116 -> "WHRP" - 117 -> "TING" - 118 -> "CRMPL" - 119 -> "SKLE" - 120 -> "SHUHP" - 121 -> "SLP" - 122 -> "SPRT" - 123 -> "HSS" - 124 -> "TRNKL" - 125 -> "TAK" - 126 -> "CLICK" - 127 -> "DUHDEH" - 128 -> "SHTCK" - 129 -> "DEDUM" - 130 -> "BWMP" - 131 -> "BWAAH" - 132 -> "SLP" - 133 -> "DWAAH" - 134 -> "VFVFVF" - 135 -> "SLP" - 136 -> "CRTINK" - 137 -> "VHHP" - 138 -> "SPRT" - 139 -> "PRUM" - 140 -> "SLPP" - 141 -> "FWUMP" - 142 -> "CLANG" - 143 -> "TIP" - 144 -> "CRAKLE" - 145 -> "HSSS" - 146 -> "TRINKL" - 147 -> "BANG" - 148 -> "CHUGUGUG" - 149 -> "TAPP" - 150 -> "KKSQWL" - 151 -> "SKWLL" - 152 -> "DUDURAH" - 153 -> "SKWLL" - 154 -> "TRNKL" - 155 -> "WHUAWUH" - 156 -> "RINGGG" - 157 -> "QWLPH" - 158 -> "WRRR" + 44 -> "FHP" + 45 -> "TINKLE" + 46 -> "TING" + 47 -> "DING" + 48 -> "SMACK" + 49 -> "DING" + 50 -> "WHH" + 51 -> "WHSSH" + 52 -> "WE-OH" + 53 -> "DING" + 54 -> "SLP" + 55 -> "BLIH" + 56 -> "DRR" + 57 -> "CRH" + 58 -> "BLPCHCH" + 59 -> "CLNK" + 60 -> "WHRR" + 61 -> "WHR" + 62 -> "KKSQWL" + 63 -> "CLKCLK" + 64 -> "BANGG" + 65 -> "TIPTOP" + 66 -> "WHH" + 67 -> "BRPBRPBRP" + 68 -> "TTRKL" + 69 -> "CRUMBL" + 70 -> "SCREE" + 71 -> "WRRR" + 72 -> "SCREE" + 73 -> "BIPBIPBIP" + 74 -> "SLP" + 75 -> "CLCLH" + 76 -> "CREUH" + 77 -> "SQWLTCH" + 78 -> "TING" + 79 -> "DEDEDA" + 80 -> "WHR" + 81 -> "CRUH" + 82 -> "SQWCH" + 83 -> "TRWNG" + 84 -> "CRSK" + 85 -> "DMP" + 86 -> "BEP" + 87 -> "BOOM" + 88 -> "SKREL" + 89 -> "CRSNK" + 90 -> "SLP" + 91 -> "CHPCHPCHP" + 92 -> "SLP" + 93 -> "TAP" + 94 -> "CRNKL" + 95 -> "WRR" + 96 -> "CRNK" + 97 -> "CUHRUP" + 98 -> "SPLRT" + 99 -> "TING" + 100 -> "WHRHH" + 101 -> "CRSKRL" + 102 -> "WH" + 103 -> "FHFH" + 104 -> "BRAP" + 105 -> "WHHH" + 106 -> "PLH" + 107 -> "CLANG" + 108 -> "CRUNK" + 109 -> "TING" + 110 -> "TATATA" + 111 -> "SWSH" + 112 -> "DNDNDNDN" + 113 -> "THCK" + 114 -> "SLP" + 115 -> "PEW" + 116 -> "SKLE" + 117 -> "THUD" + 118 -> "WH" + 119 -> "BWAH" + 120 -> "DEDEDUM" + 121 -> "WHUMWHUM" + 122 -> "WHRP" + 123 -> "TING" + 124 -> "CRMPL" + 125 -> "SKLE" + 126 -> "SHUHP" + 127 -> "SLP" + 128 -> "SPRT" + 129 -> "HSS" + 130 -> "TRNKL" + 131 -> "TAK" + 132 -> "CLICK" + 133 -> "DUHDEH" + 134 -> "SHTCK" + 135 -> "DEDUM" + 136 -> "BWMP" + 137 -> "BWAAH" + 138 -> "SLP" + 139 -> "DWAAH" + 140 -> "VFVFVF" + 141 -> "SLP" + 142 -> "CRTINK" + 143 -> "VHHP" + 144 -> "SPRT" + 145 -> "PRUM" + 146 -> "SLPP" + 147 -> "FWUMP" + 148 -> "CLANG" + 149 -> "TIP" + 150 -> "CRAKLE" + 151 -> "HSSS" + 152 -> "TRINKL" + 153 -> "BANG" + 154 -> "CHUGUGUG" + 155 -> "TAPP" + 156 -> "KKSQWL" + 157 -> "SKWLL" + 158 -> "DUDURAH" + 159 -> "SKWLL" + 160 -> "TRNKL" + 161 -> "SLP" + 162 -> "WHUAWUH" + 163 -> "RINGGG" + 164 -> "QWLPH" + 165 -> "WRRR" _ -> error "unitialised sound" soundPathList :: [String] soundPathList = @@ -339,12 +353,14 @@ soundPathList = , "smallGlass2.KRTNKL.500.wav" , "stone3.CRUMPLE.1000.wav" , "bloodShort8.SKWLCH.100.wav" + , "lowWhir.WHRR.100.wav" , "stone4.CRMBL.1000.wav" , "fridgeHum.HMM.50.wav" , "whirdownShort2.WH.200.wav" , "blood8.SKWLCH.100.wav" , "autoGun.BRAP.2000.wav" , "whiteNoiseFadeOut.PHF.100.wav" + , "slapClean4.SLP.100.wav" , "deda.DEDA.500.wav" , "blood5.CLCLH.100.wav" , "whirdownShort1.WH.200.wav" @@ -357,6 +373,7 @@ soundPathList = , "tele.ZHM.1000.wav" , "clang.CLANG.500.wav" , "seagullBark.UGGAUGGA.2000.wav" + , "slapClean6.SLP.100.wav" , "mini1.BRDBRDBRD.2000.wav" , "marimbaC5.DING.200.wav" , "gut2.CRNCH.200.wav" @@ -378,6 +395,7 @@ soundPathList = , "missileLaunch.WHSSH.2000.wav" , "seagullWhistle.WE-OH.2000.wav" , "marimbaE5.DING.200.wav" + , "slapClean2.SLP.100.wav" , "heal.BLIH.50.wav" , "slideDoor.DRR.100.wav" , "seagullCry1.CRH.2000.wav" @@ -415,6 +433,7 @@ soundPathList = , "glassShat1.CRSNK.1000.wav" , "slap3.SLP.100.wav" , "reload1.CHPCHPCHP.300.wav" + , "slapClean3.SLP.100.wav" , "foot2.TAP.40.wav" , "glassShat2.CRNKL.1000.wav" , "fire.WRR.100.wav" @@ -436,6 +455,7 @@ soundPathList = , "knife.SWSH.20.wav" , "combine.DNDNDNDN.500.wav" , "connectItem.THCK.200.wav" + , "slapClean7.SLP.100.wav" , "seagullWhistle1.PEW.2000.wav" , "bloodShort6.SKLE.100.wav" , "hit.THUD.100.wav" @@ -482,6 +502,7 @@ soundPathList = , "eject.DUDURAH.500.wav" , "bloodShort4.SKWLL.100.wav" , "metal1.TRNKL.1000.wav" + , "slapClean5.SLP.100.wav" , "warp1.WHUAWUH.500.wav" , "tinitus.RINGGG.8000.wav" , "gut1.QWLPH.200.wav" @@ -511,297 +532,311 @@ stone3S :: SoundID stone3S = SoundID 10 bloodShort8S :: SoundID bloodShort8S = SoundID 11 +lowWhirS :: SoundID +lowWhirS = SoundID 12 stone4S :: SoundID -stone4S = SoundID 12 +stone4S = SoundID 13 fridgeHumS :: SoundID -fridgeHumS = SoundID 13 +fridgeHumS = SoundID 14 whirdownShort2S :: SoundID -whirdownShort2S = SoundID 14 +whirdownShort2S = SoundID 15 blood8S :: SoundID -blood8S = SoundID 15 +blood8S = SoundID 16 autoGunS :: SoundID -autoGunS = SoundID 16 +autoGunS = SoundID 17 whiteNoiseFadeOutS :: SoundID -whiteNoiseFadeOutS = SoundID 17 +whiteNoiseFadeOutS = SoundID 18 +slapClean4S :: SoundID +slapClean4S = SoundID 19 dedaS :: SoundID -dedaS = SoundID 18 +dedaS = SoundID 20 blood5S :: SoundID -blood5S = SoundID 19 +blood5S = SoundID 21 whirdownShort1S :: SoundID -whirdownShort1S = SoundID 20 +whirdownShort1S = SoundID 22 blood7S :: SoundID -blood7S = SoundID 21 +blood7S = SoundID 23 whirdown3S :: SoundID -whirdown3S = SoundID 22 +whirdown3S = SoundID 24 twoStepS :: SoundID -twoStepS = SoundID 23 +twoStepS = SoundID 25 slap7S :: SoundID -slap7S = SoundID 24 +slap7S = SoundID 26 slap6S :: SoundID -slap6S = SoundID 25 +slap6S = SoundID 27 metal3S :: SoundID -metal3S = SoundID 26 +metal3S = SoundID 28 teleS :: SoundID -teleS = SoundID 27 +teleS = SoundID 29 clangS :: SoundID -clangS = SoundID 28 +clangS = SoundID 30 seagullBarkS :: SoundID -seagullBarkS = SoundID 29 +seagullBarkS = SoundID 31 +slapClean6S :: SoundID +slapClean6S = SoundID 32 mini1S :: SoundID -mini1S = SoundID 30 +mini1S = SoundID 33 marimbaC5S :: SoundID -marimbaC5S = SoundID 31 +marimbaC5S = SoundID 34 gut2S :: SoundID -gut2S = SoundID 32 +gut2S = SoundID 35 stone1S :: SoundID -stone1S = SoundID 33 +stone1S = SoundID 36 bloodShort1S :: SoundID -bloodShort1S = SoundID 34 +bloodShort1S = SoundID 37 buzzS :: SoundID -buzzS = SoundID 35 +buzzS = SoundID 38 bloodShort7S :: SoundID -bloodShort7S = SoundID 36 +bloodShort7S = SoundID 39 crankSlowS :: SoundID -crankSlowS = SoundID 37 +crankSlowS = SoundID 40 seagullChatter1S :: SoundID -seagullChatter1S = SoundID 38 +seagullChatter1S = SoundID 41 tone440raiseS :: SoundID -tone440raiseS = SoundID 39 +tone440raiseS = SoundID 42 ting4S :: SoundID -ting4S = SoundID 40 +ting4S = SoundID 43 whiteNoiseFadeInS :: SoundID -whiteNoiseFadeInS = SoundID 41 +whiteNoiseFadeInS = SoundID 44 smallGlass4S :: SoundID -smallGlass4S = SoundID 42 +smallGlass4S = SoundID 45 ting1S :: SoundID -ting1S = SoundID 43 +ting1S = SoundID 46 marimbaG5S :: SoundID -marimbaG5S = SoundID 44 +marimbaG5S = SoundID 47 hit1S :: SoundID -hit1S = SoundID 45 +hit1S = SoundID 48 marimbaB6S :: SoundID -marimbaB6S = SoundID 46 +marimbaB6S = SoundID 49 whirdown2S :: SoundID -whirdown2S = SoundID 47 +whirdown2S = SoundID 50 missileLaunchS :: SoundID -missileLaunchS = SoundID 48 +missileLaunchS = SoundID 51 seagullWhistleS :: SoundID -seagullWhistleS = SoundID 49 +seagullWhistleS = SoundID 52 marimbaE5S :: SoundID -marimbaE5S = SoundID 50 +marimbaE5S = SoundID 53 +slapClean2S :: SoundID +slapClean2S = SoundID 54 healS :: SoundID -healS = SoundID 51 +healS = SoundID 55 slideDoorS :: SoundID -slideDoorS = SoundID 52 +slideDoorS = SoundID 56 seagullCry1S :: SoundID -seagullCry1S = SoundID 53 +seagullCry1S = SoundID 57 oldMachineBootS :: SoundID -oldMachineBootS = SoundID 54 +oldMachineBootS = SoundID 58 tapQuietS :: SoundID -tapQuietS = SoundID 55 +tapQuietS = SoundID 59 whirS :: SoundID -whirS = SoundID 56 +whirS = SoundID 60 whirupS :: SoundID -whirupS = SoundID 57 +whirupS = SoundID 61 blood3S :: SoundID -blood3S = SoundID 58 +blood3S = SoundID 62 primeS :: SoundID -primeS = SoundID 59 +primeS = SoundID 63 bangEchoS :: SoundID -bangEchoS = SoundID 60 +bangEchoS = SoundID 64 twoStepSlowS :: SoundID -twoStepSlowS = SoundID 61 +twoStepSlowS = SoundID 65 whirdown1S :: SoundID -whirdown1S = SoundID 62 +whirdown1S = SoundID 66 miniS :: SoundID -miniS = SoundID 63 +miniS = SoundID 67 metal5S :: SoundID -metal5S = SoundID 64 +metal5S = SoundID 68 stone5S :: SoundID -stone5S = SoundID 65 +stone5S = SoundID 69 tone440sawtoothS :: SoundID -tone440sawtoothS = SoundID 66 +tone440sawtoothS = SoundID 70 fireLoudS :: SoundID -fireLoudS = SoundID 67 +fireLoudS = SoundID 71 tone440sawtoothquietS :: SoundID -tone440sawtoothquietS = SoundID 68 +tone440sawtoothquietS = SoundID 72 computerBeepingS :: SoundID -computerBeepingS = SoundID 69 +computerBeepingS = SoundID 73 slapS :: SoundID -slapS = SoundID 70 +slapS = SoundID 74 bloodShort5S :: SoundID -bloodShort5S = SoundID 71 +bloodShort5S = SoundID 75 seagullCry2S :: SoundID -seagullCry2S = SoundID 72 +seagullCry2S = SoundID 76 gut5S :: SoundID -gut5S = SoundID 73 +gut5S = SoundID 77 ting2S :: SoundID -ting2S = SoundID 74 +ting2S = SoundID 78 dededaS :: SoundID -dededaS = SoundID 75 +dededaS = SoundID 79 whirdownSmall2S :: SoundID -whirdownSmall2S = SoundID 76 +whirdownSmall2S = SoundID 80 seagullCryS :: SoundID -seagullCryS = SoundID 77 +seagullCryS = SoundID 81 gut3S :: SoundID -gut3S = SoundID 78 +gut3S = SoundID 82 metal7S :: SoundID -metal7S = SoundID 79 +metal7S = SoundID 83 glassShat4S :: SoundID -glassShat4S = SoundID 80 +glassShat4S = SoundID 84 energyReleaseS :: SoundID -energyReleaseS = SoundID 81 +energyReleaseS = SoundID 85 tone440S :: SoundID -tone440S = SoundID 82 +tone440S = SoundID 86 explosionS :: SoundID -explosionS = SoundID 83 +explosionS = SoundID 87 gut4S :: SoundID -gut4S = SoundID 84 +gut4S = SoundID 88 glassShat1S :: SoundID -glassShat1S = SoundID 85 +glassShat1S = SoundID 89 slap3S :: SoundID -slap3S = SoundID 86 +slap3S = SoundID 90 reload1S :: SoundID -reload1S = SoundID 87 +reload1S = SoundID 91 +slapClean3S :: SoundID +slapClean3S = SoundID 92 foot2S :: SoundID -foot2S = SoundID 88 +foot2S = SoundID 93 glassShat2S :: SoundID -glassShat2S = SoundID 89 +glassShat2S = SoundID 94 fireS :: SoundID -fireS = SoundID 90 +fireS = SoundID 95 glassShat3S :: SoundID -glassShat3S = SoundID 91 +glassShat3S = SoundID 96 insertS :: SoundID -insertS = SoundID 92 +insertS = SoundID 97 blood1S :: SoundID -blood1S = SoundID 93 +blood1S = SoundID 98 ting3S :: SoundID -ting3S = SoundID 94 +ting3S = SoundID 99 whirdownS :: SoundID -whirdownS = SoundID 95 +whirdownS = SoundID 100 gut6S :: SoundID -gut6S = SoundID 96 +gut6S = SoundID 101 whirdownShort3S :: SoundID -whirdownShort3S = SoundID 97 +whirdownShort3S = SoundID 102 debrisS :: SoundID -debrisS = SoundID 98 +debrisS = SoundID 103 tap3S :: SoundID -tap3S = SoundID 99 +tap3S = SoundID 104 backgroundSpaceS :: SoundID -backgroundSpaceS = SoundID 100 +backgroundSpaceS = SoundID 105 lasPulseS :: SoundID -lasPulseS = SoundID 101 +lasPulseS = SoundID 106 clang2S :: SoundID -clang2S = SoundID 102 +clang2S = SoundID 107 metal2S :: SoundID -metal2S = SoundID 103 +metal2S = SoundID 108 tingS :: SoundID -tingS = SoundID 104 +tingS = SoundID 109 autoBS :: SoundID -autoBS = SoundID 105 +autoBS = SoundID 110 knifeS :: SoundID -knifeS = SoundID 106 +knifeS = SoundID 111 combineS :: SoundID -combineS = SoundID 107 +combineS = SoundID 112 connectItemS :: SoundID -connectItemS = SoundID 108 +connectItemS = SoundID 113 +slapClean7S :: SoundID +slapClean7S = SoundID 114 seagullWhistle1S :: SoundID -seagullWhistle1S = SoundID 109 +seagullWhistle1S = SoundID 115 bloodShort6S :: SoundID -bloodShort6S = SoundID 110 +bloodShort6S = SoundID 116 hitS :: SoundID -hitS = SoundID 111 +hitS = SoundID 117 whirdownShort4S :: SoundID -whirdownShort4S = SoundID 112 +whirdownShort4S = SoundID 118 sineRaisePitchOneSecS :: SoundID -sineRaisePitchOneSecS = SoundID 113 +sineRaisePitchOneSecS = SoundID 119 dededumS :: SoundID -dededumS = SoundID 114 +dededumS = SoundID 120 throbC4S :: SoundID -throbC4S = SoundID 115 +throbC4S = SoundID 121 whirTapS :: SoundID -whirTapS = SoundID 116 +whirTapS = SoundID 122 ting5S :: SoundID -ting5S = SoundID 117 +ting5S = SoundID 123 stone2S :: SoundID -stone2S = SoundID 118 +stone2S = SoundID 124 blood6S :: SoundID -blood6S = SoundID 119 +blood6S = SoundID 125 pickUpS :: SoundID -pickUpS = SoundID 120 +pickUpS = SoundID 126 slap2S :: SoundID -slap2S = SoundID 121 +slap2S = SoundID 127 bloodShort2S :: SoundID -bloodShort2S = SoundID 122 +bloodShort2S = SoundID 128 foamSprayFadeOutS :: SoundID -foamSprayFadeOutS = SoundID 123 +foamSprayFadeOutS = SoundID 129 metal6S :: SoundID -metal6S = SoundID 124 +metal6S = SoundID 130 tap1S :: SoundID -tap1S = SoundID 125 +tap1S = SoundID 131 click1S :: SoundID -click1S = SoundID 126 +click1S = SoundID 132 semitoneLoop1S :: SoundID -semitoneLoop1S = SoundID 127 +semitoneLoop1S = SoundID 133 disconnectItemS :: SoundID -disconnectItemS = SoundID 128 +disconnectItemS = SoundID 134 dedumS :: SoundID -dedumS = SoundID 129 +dedumS = SoundID 135 sawtoothFailS :: SoundID -sawtoothFailS = SoundID 130 +sawtoothFailS = SoundID 136 sineRaisePitchTwoSecS :: SoundID -sineRaisePitchTwoSecS = SoundID 131 +sineRaisePitchTwoSecS = SoundID 137 slap4S :: SoundID -slap4S = SoundID 132 +slap4S = SoundID 138 skwareFadeTwoSecS :: SoundID -skwareFadeTwoSecS = SoundID 133 +skwareFadeTwoSecS = SoundID 139 throb1S :: SoundID -throb1S = SoundID 134 +throb1S = SoundID 140 slap5S :: SoundID -slap5S = SoundID 135 +slap5S = SoundID 141 smallGlass3S :: SoundID -smallGlass3S = SoundID 136 +smallGlass3S = SoundID 142 reverseCymbal1S :: SoundID -reverseCymbal1S = SoundID 137 +reverseCymbal1S = SoundID 143 blood2S :: SoundID -blood2S = SoundID 138 +blood2S = SoundID 144 insertOneS :: SoundID -insertOneS = SoundID 139 +insertOneS = SoundID 145 slap1S :: SoundID -slap1S = SoundID 140 +slap1S = SoundID 146 tap4S :: SoundID -tap4S = SoundID 141 +tap4S = SoundID 147 clang1S :: SoundID -clang1S = SoundID 142 +clang1S = SoundID 148 foot1S :: SoundID -foot1S = SoundID 143 +foot1S = SoundID 149 elecCrackleS :: SoundID -elecCrackleS = SoundID 144 +elecCrackleS = SoundID 150 foamSprayLoopS :: SoundID -foamSprayLoopS = SoundID 145 +foamSprayLoopS = SoundID 151 smallGlass1S :: SoundID -smallGlass1S = SoundID 146 +smallGlass1S = SoundID 152 bangS :: SoundID -bangS = SoundID 147 +bangS = SoundID 153 seagullChatterS :: SoundID -seagullChatterS = SoundID 148 +seagullChatterS = SoundID 154 foot3S :: SoundID -foot3S = SoundID 149 +foot3S = SoundID 155 bloodShort3S :: SoundID -bloodShort3S = SoundID 150 +bloodShort3S = SoundID 156 blood4S :: SoundID -blood4S = SoundID 151 +blood4S = SoundID 157 ejectS :: SoundID -ejectS = SoundID 152 +ejectS = SoundID 158 bloodShort4S :: SoundID -bloodShort4S = SoundID 153 +bloodShort4S = SoundID 159 metal1S :: SoundID -metal1S = SoundID 154 +metal1S = SoundID 160 +slapClean5S :: SoundID +slapClean5S = SoundID 161 warp1S :: SoundID -warp1S = SoundID 155 +warp1S = SoundID 162 tinitusS :: SoundID -tinitusS = SoundID 156 +tinitusS = SoundID 163 gut1S :: SoundID -gut1S = SoundID 157 +gut1S = SoundID 164 fireFadeS :: SoundID -fireFadeS = SoundID 158 +fireFadeS = SoundID 165 diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 0c05dd9b1..6d8749448 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -287,7 +287,7 @@ functionalUpdate = . over uvWorld updateGasses . over uvWorld updateDusts . over uvWorld updateGusts - . over uvWorld (updateIMl' (_terminals . _lWorld . _cWorld) tmUpdate) + . over uvWorld (updateIMl' (_terminals . _lWorld . _cWorld) updateTerminal) . over uvWorld (updateIMl' (_machines . _lWorld . _cWorld) updateMachine) . over uvWorld (updateIMl' (_creatures . _lWorld . _cWorld) updateCreature) -- creatures should be updated early so that crOldPos is set before any position change @@ -487,8 +487,8 @@ zoneDusts w = w & dsZoning .~ foldl' (flip zoneDust) mempty (w ^. cWorld . lWorl displayTerminalLineString :: TerminalLineString -> (String, Color) displayTerminalLineString (TerminalLineConst str col) = (str, col) -tmUpdate :: Terminal -> World -> World -tmUpdate tm w = fromMaybe w $ do +updateTerminal :: Terminal -> World -> World +updateTerminal tm w = fromMaybe w $ do guard $ tm ^. tmStatus == TerminalLineRead tl <- w ^? cWorld . lWorld . terminals . ix (_tmID tm) . tmFutureLines . ix 0 return $ case tl of