diff --git a/Content.Server/Tools/Components/ToolComponent.cs b/Content.Server/Tools/Components/ToolComponent.cs index be65dd3ff4..de29c0a930 100644 --- a/Content.Server/Tools/Components/ToolComponent.cs +++ b/Content.Server/Tools/Components/ToolComponent.cs @@ -3,7 +3,6 @@ using System.Threading.Tasks; using Content.Server.DoAfter; using Content.Shared.ActionBlocker; using Content.Shared.Audio; -using Content.Shared.Interaction.Events; using Content.Shared.Sound; using Content.Shared.Tool; using Robust.Shared.Audio; @@ -44,8 +43,9 @@ namespace Content.Server.Tools.Components [DataField("speed")] public float SpeedModifier { get; set; } = 1; - [DataField("useSound", required: true)] - public SoundSpecifier UseSound { get; set; } = default!; + // Some tools don't play a sound on use. + [DataField("useSound")] + public SoundSpecifier? UseSound { get; set; } public void AddQuality(ToolQuality quality) { @@ -96,6 +96,9 @@ namespace Content.Server.Tools.Components public void PlayUseSound(float volume = -5f) { + if (UseSound == null) + return; + SoundSystem.Play(Filter.Pvs(Owner), UseSound.GetSound(), Owner, AudioHelpers.WithVariation(0.15f).WithVolume(volume)); } } diff --git a/Content.Server/Tools/Components/WelderComponent.cs b/Content.Server/Tools/Components/WelderComponent.cs index 2faf2a0d96..440c090930 100644 --- a/Content.Server/Tools/Components/WelderComponent.cs +++ b/Content.Server/Tools/Components/WelderComponent.cs @@ -1,7 +1,6 @@ using System; using System.Threading.Tasks; using Content.Server.Act; -using Content.Server.Atmos; using Content.Server.Atmos.EntitySystems; using Content.Server.Chat.Managers; using Content.Server.Chemistry.Components; @@ -14,7 +13,6 @@ using Content.Shared.Chemistry.Reagent; using Content.Shared.Chemistry.Solution.Components; using Content.Shared.Examine; using Content.Shared.Interaction; -using Content.Shared.Notification; using Content.Shared.Notification.Managers; using Content.Shared.Sound; using Content.Shared.Temperature; @@ -60,8 +58,8 @@ namespace Content.Server.Tools.Components private SolutionContainerComponent? _solutionComponent; private PointLightComponent? _pointLightComponent; - [DataField("weldSounds", required: true)] - private SoundSpecifier WeldSounds { get; set; } = default!; + [DataField("weldSounds")] + private SoundSpecifier WeldSounds { get; set; } = new SoundCollectionSpecifier("Welder"); [DataField("welderOffSounds")] private SoundSpecifier WelderOffSounds { get; set; } = new SoundCollectionSpecifier("WelderOff"); diff --git a/Resources/Changelog/Parts/welder.yml b/Resources/Changelog/Parts/welder.yml new file mode 100644 index 0000000000..2e7cdf6b53 --- /dev/null +++ b/Resources/Changelog/Parts/welder.yml @@ -0,0 +1,4 @@ +author: Zumorica +changes: + - type: Fix + message: Fixes some tool sounds not playing. diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 0f470756ed..bfc2ddbc2b 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -54,7 +54,8 @@ - type: Tool qualities: - Screwing - useSoundCollection: Screwdriver + useSound: + collection: Screwdriver - type: RandomSpriteColor state: screwdriver colors: diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml index c358189902..7497858c6d 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml @@ -26,7 +26,6 @@ - ReagentId: WeldingFuel Quantity: 100 - type: Welder - weldSoundCollection: Welder - type: PointLight enabled: false radius: 1.5