using Content.Shared.Damage.Prototypes; using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary; namespace Content.Shared.Weapons.Melee.Components; /// /// Plays the specified sound upon receiving damage of the specified type. /// [RegisterComponent] public sealed partial class MeleeSoundComponent : Component { /// /// Specified sounds to apply when the entity takes damage with the specified group. /// Will fallback to defaults if none specified. /// [DataField("soundGroups", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))] public Dictionary? SoundGroups; /// /// Specified sounds to apply when the entity takes damage with the specified type. /// Will fallback to defaults if none specified. /// [DataField("soundTypes", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))] public Dictionary? SoundTypes; /// /// Sound that plays if no damage is done. /// [DataField("noDamageSound")] public SoundSpecifier? NoDamageSound; }