using Robust.Shared.Audio; using Robust.Shared.GameStates; namespace Content.Shared.Damage.Components; /// /// This component is added to entities that you want to damage the player /// if the player interacts with it. For example, if a player tries touching /// a hot light bulb or an anomaly. This damage can be cancelled if the user /// has a component that protects them from this. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class DamageOnAttackedComponent : Component { /// /// How much damage to apply to the person making contact /// [DataField(required: true), AutoNetworkedField] public DamageSpecifier Damage = default!; /// /// Whether the damage should be resisted by a person's armor values /// and the /// [DataField] public bool IgnoreResistances = false; /// /// What kind of localized text should pop up when they interact with the entity /// [DataField] public LocId? PopupText; /// /// The sound that should be made when interacting with the entity /// [DataField] public SoundSpecifier InteractSound = new SoundPathSpecifier("/Audio/Effects/lightburn.ogg"); /// /// Generic boolean to toggle the damage application on and off /// This is useful for things that can be toggled on or off, like a stovetop /// [DataField, AutoNetworkedField] public bool IsDamageActive = true; }