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;
}