diff --git a/data/sound/pop3.POP.500.wav b/data/sound/pop3.POP.500.wav new file mode 100644 index 000000000..7d025d170 Binary files /dev/null and b/data/sound/pop3.POP.500.wav differ diff --git a/src/Dodge/Creature/Update.hs b/src/Dodge/Creature/Update.hs index 28834090f..e0547ea98 100644 --- a/src/Dodge/Creature/Update.hs +++ b/src/Dodge/Creature/Update.hs @@ -134,7 +134,7 @@ splitSlimeCrit' :: Point2 -> Point2 -> Int -> Creature -> World -> Maybe World splitSlimeCrit' p v cid cr w = do (cr1,cr2) <- splitSlimeCrit p v cr let cid' = IM.newKey $ w ^. cWorld . lWorld . creatures - (s,g) = runState (takeOne [popS,pop1S,pop2S]) (w ^. randGen) + (s,g) = runState (takeOne [popS,pop1S,pop2S,pop3S]) (w ^. randGen) return $ w & cWorld . lWorld . creatures . ix cid .~ cr1 & cWorld . lWorld . creatures . at cid' ?~ (cr2 & crID .~ cid') & soundStart (CrSound cid) (cr ^. crPos . _xy) s Nothing diff --git a/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs b/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs index a4b19a68e..8e64c9a37 100644 --- a/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs +++ b/src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs @@ -1,4 +1,4 @@ --- generated at 2026-04-15 21:13:20.935856206 UTC +-- generated at 2026-04-15 23:14:13.383166268 UTC module Dodge.SoundLogic.ExternallyGeneratedSounds where import Sound.Data soundToVol :: SoundID -> Float @@ -144,45 +144,46 @@ soundToVol v = case _getSoundID v of 138 -> 100 139 -> 100 140 -> 50 - 141 -> 1000 - 142 -> 500 - 143 -> 40 - 144 -> 100 - 145 -> 200 - 146 -> 500 - 147 -> 1000 - 148 -> 300 - 149 -> 100 - 150 -> 300 + 141 -> 500 + 142 -> 1000 + 143 -> 500 + 144 -> 40 + 145 -> 100 + 146 -> 200 + 147 -> 500 + 148 -> 1000 + 149 -> 300 + 150 -> 100 151 -> 300 - 152 -> 100 + 152 -> 300 153 -> 100 - 154 -> 500 - 155 -> 100 + 154 -> 100 + 155 -> 500 156 -> 100 - 157 -> 500 + 157 -> 100 158 -> 500 - 159 -> 100 + 159 -> 500 160 -> 100 - 161 -> 500 - 162 -> 40 - 163 -> 200 - 164 -> 50 - 165 -> 500 - 166 -> 2000 - 167 -> 200 - 168 -> 2000 - 169 -> 40 - 170 -> 100 + 161 -> 100 + 162 -> 500 + 163 -> 40 + 164 -> 200 + 165 -> 50 + 166 -> 500 + 167 -> 2000 + 168 -> 200 + 169 -> 2000 + 170 -> 40 171 -> 100 - 172 -> 500 - 173 -> 100 - 174 -> 1000 - 175 -> 100 - 176 -> 500 - 177 -> 8000 - 178 -> 200 - 179 -> 300 + 172 -> 100 + 173 -> 500 + 174 -> 100 + 175 -> 1000 + 176 -> 100 + 177 -> 500 + 178 -> 8000 + 179 -> 200 + 180 -> 300 _ -> 50 soundToOnomato :: SoundID -> String soundToOnomato v = case _getSoundID v of @@ -327,45 +328,46 @@ soundToOnomato v = case _getSoundID v of 138 -> "SLP" 139 -> "SPRT" 140 -> "HSS" - 141 -> "TRNKL" - 142 -> "TAK" - 143 -> "CLICK" - 144 -> "DUHDEH" - 145 -> "SHTCK" - 146 -> "DEDUM" - 147 -> "BWMP" - 148 -> "BWAAH" - 149 -> "SLP" - 150 -> "DWAAH" - 151 -> "TNKTONK" - 152 -> "VFVFVF" - 153 -> "SLP" - 154 -> "CRTINK" - 155 -> "VHHP" - 156 -> "SPRT" - 157 -> "PRUM" - 158 -> "POP" - 159 -> "SLPP" - 160 -> "FWUMP" - 161 -> "CLANG" - 162 -> "TIP" - 163 -> "CRAKLE" - 164 -> "HSSS" - 165 -> "TRINKL" - 166 -> "BANG" - 167 -> "ZMM" - 168 -> "CHUGUGUG" - 169 -> "TAPP" - 170 -> "KKSQWL" - 171 -> "SKWLL" - 172 -> "DUDURAH" - 173 -> "SKWLL" - 174 -> "TRNKL" - 175 -> "SLP" - 176 -> "WHUAWUH" - 177 -> "RINGGG" - 178 -> "QWLPH" - 179 -> "WRRR" + 141 -> "POP" + 142 -> "TRNKL" + 143 -> "TAK" + 144 -> "CLICK" + 145 -> "DUHDEH" + 146 -> "SHTCK" + 147 -> "DEDUM" + 148 -> "BWMP" + 149 -> "BWAAH" + 150 -> "SLP" + 151 -> "DWAAH" + 152 -> "TNKTONK" + 153 -> "VFVFVF" + 154 -> "SLP" + 155 -> "CRTINK" + 156 -> "VHHP" + 157 -> "SPRT" + 158 -> "PRUM" + 159 -> "POP" + 160 -> "SLPP" + 161 -> "FWUMP" + 162 -> "CLANG" + 163 -> "TIP" + 164 -> "CRAKLE" + 165 -> "HSSS" + 166 -> "TRINKL" + 167 -> "BANG" + 168 -> "ZMM" + 169 -> "CHUGUGUG" + 170 -> "TAPP" + 171 -> "KKSQWL" + 172 -> "SKWLL" + 173 -> "DUDURAH" + 174 -> "SKWLL" + 175 -> "TRNKL" + 176 -> "SLP" + 177 -> "WHUAWUH" + 178 -> "RINGGG" + 179 -> "QWLPH" + 180 -> "WRRR" _ -> error "unitialised sound" soundPathList :: [String] soundPathList = @@ -510,6 +512,7 @@ soundPathList = , "slap2.SLP.100.wav" , "bloodShort2.SPRT.100.wav" , "foamSprayFadeOut.HSS.50.wav" + , "pop3.POP.500.wav" , "metal6.TRNKL.1000.wav" , "tap1.TAK.500.wav" , "click1.CLICK.40.wav" @@ -832,81 +835,83 @@ bloodShort2S :: SoundID bloodShort2S = SoundID 139 foamSprayFadeOutS :: SoundID foamSprayFadeOutS = SoundID 140 +pop3S :: SoundID +pop3S = SoundID 141 metal6S :: SoundID -metal6S = SoundID 141 +metal6S = SoundID 142 tap1S :: SoundID -tap1S = SoundID 142 +tap1S = SoundID 143 click1S :: SoundID -click1S = SoundID 143 +click1S = SoundID 144 semitoneLoop1S :: SoundID -semitoneLoop1S = SoundID 144 +semitoneLoop1S = SoundID 145 disconnectItemS :: SoundID -disconnectItemS = SoundID 145 +disconnectItemS = SoundID 146 dedumS :: SoundID -dedumS = SoundID 146 +dedumS = SoundID 147 sawtoothFailS :: SoundID -sawtoothFailS = SoundID 147 +sawtoothFailS = SoundID 148 sineRaisePitchTwoSecS :: SoundID -sineRaisePitchTwoSecS = SoundID 148 +sineRaisePitchTwoSecS = SoundID 149 slap4S :: SoundID -slap4S = SoundID 149 +slap4S = SoundID 150 skwareFadeTwoSecS :: SoundID -skwareFadeTwoSecS = SoundID 150 +skwareFadeTwoSecS = SoundID 151 reloadFailS :: SoundID -reloadFailS = SoundID 151 +reloadFailS = SoundID 152 throb1S :: SoundID -throb1S = SoundID 152 +throb1S = SoundID 153 slap5S :: SoundID -slap5S = SoundID 153 +slap5S = SoundID 154 smallGlass3S :: SoundID -smallGlass3S = SoundID 154 +smallGlass3S = SoundID 155 reverseCymbal1S :: SoundID -reverseCymbal1S = SoundID 155 +reverseCymbal1S = SoundID 156 blood2S :: SoundID -blood2S = SoundID 156 +blood2S = SoundID 157 insertOneS :: SoundID -insertOneS = SoundID 157 +insertOneS = SoundID 158 pop2S :: SoundID -pop2S = SoundID 158 +pop2S = SoundID 159 slap1S :: SoundID -slap1S = SoundID 159 +slap1S = SoundID 160 tap4S :: SoundID -tap4S = SoundID 160 +tap4S = SoundID 161 clang1S :: SoundID -clang1S = SoundID 161 +clang1S = SoundID 162 foot1S :: SoundID -foot1S = SoundID 162 +foot1S = SoundID 163 elecCrackleS :: SoundID -elecCrackleS = SoundID 163 +elecCrackleS = SoundID 164 foamSprayLoopS :: SoundID -foamSprayLoopS = SoundID 164 +foamSprayLoopS = SoundID 165 smallGlass1S :: SoundID -smallGlass1S = SoundID 165 +smallGlass1S = SoundID 166 bangS :: SoundID -bangS = SoundID 166 +bangS = SoundID 167 buzz1S :: SoundID -buzz1S = SoundID 167 +buzz1S = SoundID 168 seagullChatterS :: SoundID -seagullChatterS = SoundID 168 +seagullChatterS = SoundID 169 foot3S :: SoundID -foot3S = SoundID 169 +foot3S = SoundID 170 bloodShort3S :: SoundID -bloodShort3S = SoundID 170 +bloodShort3S = SoundID 171 blood4S :: SoundID -blood4S = SoundID 171 +blood4S = SoundID 172 ejectS :: SoundID -ejectS = SoundID 172 +ejectS = SoundID 173 bloodShort4S :: SoundID -bloodShort4S = SoundID 173 +bloodShort4S = SoundID 174 metal1S :: SoundID -metal1S = SoundID 174 +metal1S = SoundID 175 slapClean5S :: SoundID -slapClean5S = SoundID 175 +slapClean5S = SoundID 176 warp1S :: SoundID -warp1S = SoundID 176 +warp1S = SoundID 177 tinitusS :: SoundID -tinitusS = SoundID 177 +tinitusS = SoundID 178 gut1S :: SoundID -gut1S = SoundID 178 +gut1S = SoundID 179 fireFadeS :: SoundID -fireFadeS = SoundID 179 +fireFadeS = SoundID 180 diff --git a/tags b/tags index 83ec65e97..b50bf8e4d 100644 --- a/tags +++ b/tags @@ -2856,8 +2856,8 @@ chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 106;" f chasmWallToSurface src/Dodge/Base/Collide.hs 132;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f -checkDeath src/Dodge/Creature/Update.hs 220;" f -checkDeath' src/Dodge/Creature/Update.hs 223;" f +checkDeath src/Dodge/Creature/Update.hs 222;" f +checkDeath' src/Dodge/Creature/Update.hs 225;" f checkEndGame src/Dodge/Update.hs 875;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -2981,7 +2981,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 136;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 411;" f cornerList src/Preload/Render.hs 236;" f -corpseOrGib src/Dodge/Creature/Update.hs 269;" f +corpseOrGib src/Dodge/Creature/Update.hs 271;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorN src/Dodge/Room/Corridor.hs 58;" f @@ -3030,7 +3030,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 984;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f -crUpdate src/Dodge/Creature/Update.hs 213;" f +crUpdate src/Dodge/Creature/Update.hs 215;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f crVocalResetTime src/Dodge/Creature/Vocalization.hs 65;" f @@ -3323,7 +3323,7 @@ doLoop src/Loop.hs 60;" f doMagnetBuBu src/Dodge/Bullet.hs 35;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f doMouseWarping src/Dodge/Update.hs 165;" f -doPreload appDodge/Main.hs 132;" f +doPreload appDodge/Main.hs 133;" f doQuickload src/Dodge/Save.hs 83;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 8;" f @@ -3332,7 +3332,7 @@ doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f doSectionSize src/Dodge/DisplayInventory.hs 215;" f -doSideEffects appDodge/Main.hs 117;" f +doSideEffects appDodge/Main.hs 118;" f doSlimeRadChange src/Dodge/Creature/Update.hs 126;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 272;" f doTabComplete src/Dodge/Terminal.hs 241;" f @@ -3495,7 +3495,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f -dropAll src/Dodge/Creature/Update.hs 307;" f +dropAll src/Dodge/Creature/Update.hs 309;" f dropInventoryPath src/Dodge/HeldUse.hs 1371;" f dropItem src/Dodge/Creature/Action.hs 169;" f dropper src/Dodge/Item/Scope.hs 82;" f @@ -3585,7 +3585,7 @@ faceEdges src/Polyhedra.hs 62;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f fdiv src/ShortShow.hs 41;" f -feedSlime src/Dodge/Update.hs 1049;" f +feedSlime src/Dodge/Update.hs 1051;" f feet src/Dodge/Creature/Picture.hs 191;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f @@ -3662,7 +3662,7 @@ fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f functionalUpdate src/Dodge/Update.hs 278;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f -fuseSlimes src/Dodge/Update.hs 1062;" f +fuseSlimes src/Dodge/Update.hs 1064;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f @@ -3840,7 +3840,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 201;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 77;" f -hoverCritHoverSound src/Dodge/Creature/Update.hs 190;" f +hoverCritHoverSound src/Dodge/Creature/Update.hs 192;" f hoverCritInternal src/Dodge/Humanoid.hs 46;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 58;" f @@ -4537,7 +4537,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f -poisonSPic src/Dodge/Creature/Update.hs 303;" f +poisonSPic src/Dodge/Creature/Update.hs 305;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 518;" f pokeArrayOff src/Shader/Poke.hs 530;" f @@ -4910,7 +4910,7 @@ scaleSH src/Shape.hs 271;" f scalp src/Dodge/Creature/Picture.hs 349;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/Update.hs 300;" f +scorchSPic src/Dodge/Creature/Update.hs 302;" f screenBox src/Dodge/Base/Window.hs 54;" f screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f @@ -4938,7 +4938,7 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f -segmentArea src/Dodge/Creature/Update.hs 171;" f +segmentArea src/Dodge/Creature/Update.hs 173;" f selNumPos src/Dodge/Render/HUD.hs 475;" f selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f @@ -5107,10 +5107,10 @@ slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 673;" f slideWindow src/ListHelp.hs 81;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 65;" f slimeCritUpdate src/Dodge/Creature/Update.hs 71;" f -slimeEatSound src/Dodge/Update.hs 1081;" f +slimeEatSound src/Dodge/Update.hs 1083;" f slimeFood src/Dodge/Update.hs 1044;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 54;" f -slinkCritUpdate src/Dodge/Creature/Update.hs 174;" f +slinkCritUpdate src/Dodge/Creature/Update.hs 176;" f slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f @@ -5216,7 +5216,7 @@ stackText src/Picture/Base.hs 180;" f stackedInventory src/Dodge/Creature.hs 321;" f startCr src/Dodge/Creature.hs 85;" f startCrafts src/Dodge/Room/Start.hs 94;" f -startDeathTimer src/Dodge/Creature/Update.hs 254;" f +startDeathTimer src/Dodge/Creature/Update.hs 256;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f startInvList src/Dodge/Creature.hs 100;" f startInventory src/Dodge/Creature.hs 103;" f @@ -5368,7 +5368,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 154;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 158;" f -toDeathCarriage src/Dodge/Creature/Update.hs 262;" f +toDeathCarriage src/Dodge/Creature/Update.hs 264;" f toFloatVAs src/Shader/Compile.hs 66;" f toLabel src/Dodge/Cleat.hs 16;" f toMultiset src/Multiset.hs 64;" f @@ -5529,7 +5529,7 @@ updateCreatureStrides src/Dodge/Update.hs 373;" f updateDebris src/Dodge/Update.hs 676;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f -updateDelayedEvents src/Dodge/Update.hs 1088;" f +updateDelayedEvents src/Dodge/Update.hs 1090;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 8;" f updateDistortions src/Dodge/Update.hs 655;" f @@ -5587,7 +5587,7 @@ updatePlasmaBall src/Dodge/Update.hs 527;" f updatePlasmaBalls src/Dodge/Update.hs 669;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f -updatePulse src/Dodge/Creature/Update.hs 315;" f +updatePulse src/Dodge/Creature/Update.hs 317;" f updatePulseBall src/Dodge/Update.hs 547;" f updatePulseLaser src/Dodge/Update.hs 716;" f updatePulseLasers src/Dodge/Update.hs 522;" f