using Content.Shared.Inventory; using Robust.Shared.GameStates; namespace Content.Shared.Damage.Components; /// /// This component is added to entities to protect them from being damaged /// when interacting with objects with the /// If the entity has sufficient protection, interaction with the object is not cancelled. /// This allows the user to do things like remove a lightbulb. /// [RegisterComponent, NetworkedComponent] public sealed partial class DamageOnInteractProtectionComponent : Component, IClothingSlots { /// /// How much and what kind of damage to protect the user from /// when interacting with something with /// [DataField(required: true)] public DamageModifierSet DamageProtection = default!; /// /// Only protects if the item is in the correct slot /// i.e. having gloves in your pocket doesn't protect you, it has to be on your hands /// [DataField] public SlotFlags Slots { get; set; } = SlotFlags.GLOVES; }