using Content.Shared.DoAfter; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared._Offbrand.StatusEffects; [RegisterComponent] [Access(typeof(RemovableStatusEffectSystem))] public sealed partial class RemovableStatusEffectComponent : Component { /// /// Verb message to display when removing this status effect /// [DataField(required: true)] public LocId Verb; /// /// How long the status effect removal takes /// [DataField] public TimeSpan RemovalTime = TimeSpan.FromSeconds(1); /// /// Entity to spawn when removed /// [DataField] public EntProtoId? SpawnOnRemove; [DataField] public LocId? SelfUserCompleted; [DataField] public LocId? SelfOtherCompleted; [DataField] public LocId? UserCompleted; [DataField] public LocId? OtherCompleted; [DataField] public LocId? SelfUserStarted; [DataField] public LocId? SelfOtherStarted; [DataField] public LocId? UserStarted; [DataField] public LocId? OtherStarted; } [Serializable, NetSerializable] public sealed partial class RemoveStatusEffectEvent : SimpleDoAfterEvent;