diff --git a/Content.Client/Explosion/ExplosionOverlaySystem.cs b/Content.Client/Explosion/ExplosionOverlaySystem.cs
index 60208ea1a0..064b068a97 100644
--- a/Content.Client/Explosion/ExplosionOverlaySystem.cs
+++ b/Content.Client/Explosion/ExplosionOverlaySystem.cs
@@ -19,11 +19,6 @@ public sealed class ExplosionOverlaySystem : EntitySystem
[Dependency] private readonly IOverlayManager _overlayMan = default!;
[Dependency] private readonly SharedPointLightSystem _lights = default!;
- ///
- /// For how many seconds should an explosion stay on-screen once it has finished expanding?
- ///
- public float ExplosionPersistence = 0.3f;
-
public override void Initialize()
{
base.Initialize();
diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs
index 9df735ff6a..d9bfbece23 100644
--- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs
+++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs
@@ -63,7 +63,7 @@ public sealed partial class ExplosionSystem : EntitySystem
///
public const ushort DefaultTileSize = 1;
- private AudioParams _audioParams = AudioParams.Default.WithVolume(-3f);
+ public const int MaxExplosionAudioRange = 30;
///
/// The "default" explosion prototype.
@@ -328,15 +328,33 @@ public sealed partial class ExplosionSystem : EntitySystem
var visualEnt = CreateExplosionVisualEntity(epicenter, type.ID, spaceMatrix, spaceData, gridData.Values, iterationIntensity);
// camera shake
- CameraShake(iterationIntensity.Count * 2.5f, epicenter, totalIntensity);
+ CameraShake(iterationIntensity.Count * 4f, epicenter, totalIntensity);
//For whatever bloody reason, sound system requires ENTITY coordinates.
var mapEntityCoords = EntityCoordinates.FromMap(EntityManager, _mapManager.GetMapEntityId(epicenter.MapId), epicenter);
// play sound.
- var audioRange = iterationIntensity.Count * 5;
+ // for the normal audio, we want everyone in pvs range
+ // + if the bomb is big enough, people outside of it too
+ // this is capped to 30 because otherwise really huge bombs
+ // will attempt to play regular audio for people who can't hear it anyway because the epicenter is so far away
+ var audioRange = Math.Min(iterationIntensity.Count * 2, MaxExplosionAudioRange);
var filter = Filter.Pvs(epicenter).AddInRange(epicenter, audioRange);
- _audio.PlayStatic(type.Sound.GetSound(), filter, mapEntityCoords, true, _audioParams);
+ var sound = iterationIntensity.Count < type.SmallSoundIterationThreshold
+ ? type.SmallSound
+ : type.Sound;
+
+ _audio.PlayStatic(sound, filter, mapEntityCoords, true, sound.Params);
+
+ // play far sound
+ // far sound should play for anyone who wasn't in range of any of the effects of the bomb
+ var farAudioRange = iterationIntensity.Count * 5;
+ var farFilter = Filter.Empty().AddInRange(epicenter, farAudioRange).RemoveInRange(epicenter, audioRange);
+ var farSound = iterationIntensity.Count < type.SmallSoundIterationThreshold
+ ? type.SmallSoundFar
+ : type.SoundFar;
+
+ _audio.PlayGlobal(farSound, farFilter, true, farSound.Params);
return new Explosion(this,
type,
diff --git a/Content.Shared/Anomaly/Components/AnomalyComponent.cs b/Content.Shared/Anomaly/Components/AnomalyComponent.cs
index a6f4f6c086..0e83861863 100644
--- a/Content.Shared/Anomaly/Components/AnomalyComponent.cs
+++ b/Content.Shared/Anomaly/Components/AnomalyComponent.cs
@@ -127,7 +127,7 @@ public sealed partial class AnomalyComponent : Component
/// The sound plays when an anomaly goes supercritical
///
[DataField]
- public SoundSpecifier? SupercriticalSound = new SoundCollectionSpecifier("explosion");
+ public SoundSpecifier? SupercriticalSound = new SoundCollectionSpecifier("Explosion");
#endregion
///
diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs
index ad570ffd3f..b29e227350 100644
--- a/Content.Shared/CCVar/CCVars.cs
+++ b/Content.Shared/CCVar/CCVars.cs
@@ -349,7 +349,7 @@ namespace Content.Shared.CCVar
CVarDef.Create("discord.ahelp_avatar", string.Empty, CVar.SERVERONLY);
///
- /// URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook.
+ /// URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook.
///
public static readonly CVarDef DiscordVoteWebhook =
CVarDef.Create("discord.vote_webhook", string.Empty, CVar.SERVERONLY);
@@ -846,7 +846,7 @@ namespace Content.Shared.CCVar
/// This determines for how many seconds an explosion should stay visible once it has finished expanding.
///
public static readonly CVarDef ExplosionPersistence =
- CVarDef.Create("explosion.persistence", 0.3f, CVar.SERVERONLY);
+ CVarDef.Create("explosion.persistence", 1.0f, CVar.SERVERONLY);
///
/// If an explosion covers a larger area than this number, the damaging/processing will always start during
diff --git a/Content.Shared/Explosion/ExplosionPrototype.cs b/Content.Shared/Explosion/ExplosionPrototype.cs
index 37d0b2b421..1be3e31939 100644
--- a/Content.Shared/Explosion/ExplosionPrototype.cs
+++ b/Content.Shared/Explosion/ExplosionPrototype.cs
@@ -62,8 +62,26 @@ public sealed partial class ExplosionPrototype : IPrototype
[DataField("fireColor")]
public Color? FireColor;
- [DataField("Sound")]
- public SoundSpecifier Sound = new SoundCollectionSpecifier("explosion");
+ ///
+ /// If an explosion finishes in less than this many iterations, play a small sound instead.
+ ///
+ ///
+ /// This value is tuned such that a minibomb is considered small, but just about anything larger is normal
+ ///
+ [DataField("smallSoundIterationThreshold")]
+ public int SmallSoundIterationThreshold = 6;
+
+ [DataField("sound")]
+ public SoundSpecifier Sound = new SoundCollectionSpecifier("Explosion");
+
+ [DataField("smallSound")]
+ public SoundSpecifier SmallSound = new SoundCollectionSpecifier("ExplosionSmall");
+
+ [DataField("soundFar")]
+ public SoundSpecifier SoundFar = new SoundCollectionSpecifier("ExplosionFar", AudioParams.Default.WithVolume(2f));
+
+ [DataField("smallSoundFar")]
+ public SoundSpecifier SmallSoundFar = new SoundCollectionSpecifier("ExplosionSmallFar", AudioParams.Default.WithVolume(2f));
[DataField("texturePath")]
public ResPath TexturePath = new("/Textures/Effects/fire.rsi");
diff --git a/Content.Shared/Light/Components/LightBulbComponent.cs b/Content.Shared/Light/Components/LightBulbComponent.cs
index 01b348d13a..35b04be897 100644
--- a/Content.Shared/Light/Components/LightBulbComponent.cs
+++ b/Content.Shared/Light/Components/LightBulbComponent.cs
@@ -71,7 +71,7 @@ public sealed partial class LightBulbComponent : Component
///
[DataField("breakSound")]
[ViewVariables(VVAccess.ReadWrite)]
- public SoundSpecifier BreakSound = new SoundCollectionSpecifier("GlassBreak");
+ public SoundSpecifier BreakSound = new SoundCollectionSpecifier("GlassBreak", AudioParams.Default.WithVolume(-6f));
#region Appearance
diff --git a/Resources/Audio/Effects/attributions.yml b/Resources/Audio/Effects/attributions.yml
index 2e14f74815..aa5609ab3d 100644
--- a/Resources/Audio/Effects/attributions.yml
+++ b/Resources/Audio/Effects/attributions.yml
@@ -171,3 +171,8 @@
copyright: '"jumps from reason.3.Rev.wav" by martian of Freesound.org. Modified by reversing and altering volume.'
license: CC0-1.0
source: https://freesound.org/people/martian/sounds/19261/
+
+- files: ["explosion_small1.ogg", "explosion_small2.ogg", "explosion_small3.ogg", "explosion1.ogg", "explosion2.ogg", "explosion3.ogg", "explosion4.ogg", "explosion5.ogg", "explosion6.ogg", "explosionfar.ogg", "explosionsmallfar.ogg"]
+ copyright: "vgstation at c5edbfd7179288080f081e2b8ac2496b7e4455db"
+ license: CC-BY-SA-3.0
+ source: https://github.com/vgstation-coders/vgstation13/tree/c5edbfd7179288080f081e2b8ac2496b7e4455db/sound/effects
diff --git a/Resources/Audio/Effects/explosion_small1.ogg b/Resources/Audio/Effects/explosion_small1.ogg
new file mode 100644
index 0000000000..929c318696
Binary files /dev/null and b/Resources/Audio/Effects/explosion_small1.ogg differ
diff --git a/Resources/Audio/Effects/explosion_small2.ogg b/Resources/Audio/Effects/explosion_small2.ogg
new file mode 100644
index 0000000000..018fe3da91
Binary files /dev/null and b/Resources/Audio/Effects/explosion_small2.ogg differ
diff --git a/Resources/Audio/Effects/explosion_small3.ogg b/Resources/Audio/Effects/explosion_small3.ogg
new file mode 100644
index 0000000000..154d695f71
Binary files /dev/null and b/Resources/Audio/Effects/explosion_small3.ogg differ
diff --git a/Resources/Audio/Effects/explosionfar.ogg b/Resources/Audio/Effects/explosionfar.ogg
new file mode 100644
index 0000000000..aecdd0aab1
Binary files /dev/null and b/Resources/Audio/Effects/explosionfar.ogg differ
diff --git a/Resources/Audio/Effects/explosionsmallfar.ogg b/Resources/Audio/Effects/explosionsmallfar.ogg
new file mode 100644
index 0000000000..1fa4039758
Binary files /dev/null and b/Resources/Audio/Effects/explosionsmallfar.ogg differ
diff --git a/Resources/Audio/Effects/metalbreak.ogg b/Resources/Audio/Effects/metalbreak.ogg
index 0b447cc699..0864824075 100644
Binary files a/Resources/Audio/Effects/metalbreak.ogg and b/Resources/Audio/Effects/metalbreak.ogg differ
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index fc2a75780a..56f49df391 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -149,7 +149,8 @@
damage: 300
behaviors:
- !type:PlaySoundBehavior
- sound: /Audio/Effects/metalbreak.ogg
+ sound:
+ path: /Audio/Effects/metalbreak.ogg
- !type:EmptyContainersBehaviour
containers:
- borg_brain
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml
index e54167aa3e..9e0bd89184 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml
@@ -34,6 +34,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -8
- !type:SpawnEntitiesBehavior
spawn:
FoodPlateTrash:
@@ -84,6 +86,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -8
- !type:SpawnEntitiesBehavior
spawn:
FoodPlateSmallTrash:
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
index ccb0923694..0dca39ea48 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
@@ -48,6 +48,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -8
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
index 56d8d26319..b5d98cf7ab 100644
--- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
+++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
@@ -36,6 +36,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
@@ -157,6 +159,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
ShardGlassReinforced:
@@ -231,6 +235,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
ShardGlassPlasma:
@@ -357,6 +363,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
ShardGlassUranium:
diff --git a/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml b/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml
index 94b459e00a..843b402a6c 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml
@@ -39,6 +39,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml
index 3a13ac239c..02033a137a 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml
@@ -24,7 +24,7 @@
thresholds:
- trigger:
!type:DamageTrigger
- damage: 40
+ damage: 30
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
@@ -33,7 +33,10 @@
damage: 20
behaviors:
- !type:PlaySoundBehavior
- sound: /Audio/Effects/metalbreak.ogg
+ sound:
+ path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -8
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
@@ -353,7 +356,7 @@
- FloorMiningLight
- type: Stack
stackType: FloorTileMiningLight
-
+
# Departamental
- type: entity
name: freezer tile
diff --git a/Resources/Prototypes/Entities/Objects/Power/lights.yml b/Resources/Prototypes/Entities/Objects/Power/lights.yml
index 17b7ec179e..05454c374f 100644
--- a/Resources/Prototypes/Entities/Objects/Power/lights.yml
+++ b/Resources/Prototypes/Entities/Objects/Power/lights.yml
@@ -39,6 +39,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -8
- !type:DoActsBehavior
acts: [ "Breakage" ]
- trigger:
@@ -48,6 +50,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -8
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml
index 7dddb71c0d..acfb65aa54 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml
@@ -79,6 +79,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
index d22e5d1418..2fad96411f 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
@@ -62,6 +62,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpillBehavior
solution: beaker
- !type:SpawnEntitiesBehavior
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
index aa383b6f0c..e704fc90a4 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
@@ -93,6 +93,8 @@
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml
index 5036ab83c8..5c42e7cf32 100644
--- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml
+++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml
@@ -42,6 +42,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
@@ -140,6 +142,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
@@ -179,6 +183,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
@@ -215,6 +221,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
@@ -601,6 +609,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml
index 70a4d7e3da..b1804e6b7b 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml
@@ -91,6 +91,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml
index a312979507..1441d6f308 100644
--- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml
+++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml
@@ -34,6 +34,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -8
- !type:SpawnEntitiesBehavior
spawn:
GasPipeBroken:
diff --git a/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml b/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml
index 40fb09f7ef..2fcc18e1b3 100644
--- a/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml
+++ b/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml
@@ -56,6 +56,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
index 8dac19d80d..1b5bf42923 100644
--- a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
+++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
@@ -36,6 +36,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
index 5edad73e33..cf1482b8af 100644
--- a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
+++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
@@ -75,6 +75,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
@@ -148,6 +150,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
@@ -254,6 +258,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/Entities/Structures/Storage/storage.yml b/Resources/Prototypes/Entities/Structures/Storage/storage.yml
index c8723ffefa..2069fb1e3f 100644
--- a/Resources/Prototypes/Entities/Structures/Storage/storage.yml
+++ b/Resources/Prototypes/Entities/Structures/Storage/storage.yml
@@ -48,6 +48,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml
index 3e91daaa39..ad3997fe6d 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml
@@ -103,6 +103,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -4
- type: entity
id: AirAlarmAssembly
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml
index 44e1ff4add..ca2b381142 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml
@@ -55,6 +55,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -4
placement:
mode: SnapgridCenter
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml
index 7e0635edc8..52cc3458f7 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml
@@ -102,6 +102,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -4
placement:
mode: SnapgridCenter
snap:
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml
index c8cdcfd40a..375cd359c6 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml
@@ -82,6 +82,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -4
- type: GenericVisualizer
visuals:
enum.PowerDeviceVisuals.Powered:
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/surveillance_camera.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/surveillance_camera.yml
index 8679d595e3..86eb9badf9 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/surveillance_camera.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/surveillance_camera.yml
@@ -64,6 +64,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -8
placement:
mode: SnapgridCenter
snap:
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
index 86ac24169a..d000993aea 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
@@ -92,6 +92,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -8
- type: entity
id: ApcNetSwitch
diff --git a/Resources/Prototypes/Entities/Structures/Walls/railing.yml b/Resources/Prototypes/Entities/Structures/Walls/railing.yml
index b083771ea9..87a89dfc57 100644
--- a/Resources/Prototypes/Entities/Structures/Walls/railing.yml
+++ b/Resources/Prototypes/Entities/Structures/Walls/railing.yml
@@ -44,6 +44,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
@@ -111,6 +113,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
@@ -169,6 +173,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
@@ -242,6 +248,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -6
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml
index 37c2b27f89..96bc6bee19 100644
--- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml
+++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml
@@ -720,8 +720,6 @@
path: /Audio/Effects/metalbreak.ogg
- !type:DoActsBehavior
acts: ["Destruction"]
- destroySound:
- path: /Audio/Effects/metalbreak.ogg
- type: Construction
graph: Girder
node: diagonalshuttleWall
diff --git a/Resources/Prototypes/Entities/Structures/meat_spike.yml b/Resources/Prototypes/Entities/Structures/meat_spike.yml
index 182ec09c8e..a312fcb835 100644
--- a/Resources/Prototypes/Entities/Structures/meat_spike.yml
+++ b/Resources/Prototypes/Entities/Structures/meat_spike.yml
@@ -32,6 +32,8 @@
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
+ params:
+ volume: -4
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
diff --git a/Resources/Prototypes/SoundCollections/explosion.yml b/Resources/Prototypes/SoundCollections/explosion.yml
index e208c9d854..afc4869aec 100644
--- a/Resources/Prototypes/SoundCollections/explosion.yml
+++ b/Resources/Prototypes/SoundCollections/explosion.yml
@@ -1,5 +1,5 @@
- type: soundCollection
- id: explosion
+ id: Explosion
files:
- /Audio/Effects/explosion1.ogg
- /Audio/Effects/explosion2.ogg
@@ -7,3 +7,20 @@
- /Audio/Effects/explosion4.ogg
- /Audio/Effects/explosion5.ogg
- /Audio/Effects/explosion6.ogg
+
+- type: soundCollection
+ id: ExplosionSmall
+ files:
+ - /Audio/Effects/explosion_small1.ogg
+ - /Audio/Effects/explosion_small2.ogg
+ - /Audio/Effects/explosion_small3.ogg
+
+- type: soundCollection
+ id: ExplosionFar
+ files:
+ - /Audio/Effects/explosionfar.ogg
+
+- type: soundCollection
+ id: ExplosionSmallFar
+ files:
+ - /Audio/Effects/explosionsmallfar.ogg