Co-authored-by: Kara <lunarautomaton6@gmail.com> Co-authored-by: T-Stalker <le0nel_1van@hotmail.com> Co-authored-by: T-Stalker <43253663+DogZeroX@users.noreply.github.com> Co-authored-by: ElectroJr <leonsfriedrich@gmail.com> Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using Content.Shared.Damage.Prototypes;
|
|
using Content.Shared.Sound;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
|
|
|
namespace Content.Server.Weapon.Ranged.Components;
|
|
|
|
/// <summary>
|
|
/// Plays the specified sound upon receiving damage of that type.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed class RangedDamageSoundComponent : Component
|
|
{
|
|
// TODO: Limb damage changing sound type.
|
|
|
|
/// <summary>
|
|
/// Specified sounds to apply when the entity takes damage with the specified group.
|
|
/// Will fallback to defaults if none specified.
|
|
/// </summary>
|
|
[ViewVariables, DataField("soundGroups",
|
|
customTypeSerializer: typeof(PrototypeIdDictionarySerializer<SoundSpecifier, DamageGroupPrototype>))]
|
|
public Dictionary<string, SoundSpecifier>? SoundGroups;
|
|
|
|
/// <summary>
|
|
/// Specified sounds to apply when the entity takes damage with the specified type.
|
|
/// Will fallback to defaults if none specified.
|
|
/// </summary>
|
|
[ViewVariables, DataField("soundTypes",
|
|
customTypeSerializer: typeof(PrototypeIdDictionarySerializer<SoundSpecifier, DamageTypePrototype>))]
|
|
public Dictionary<string, SoundSpecifier>? SoundTypes;
|
|
}
|