Files
tbd-station-14/Content.Shared/_Offbrand/StatusEffects/RemovableStatusEffectComponent.cs
Janet Blackquill 5fa17e22a1 De-MPL Offbrand
2025-09-27 22:43:24 -04:00

56 lines
1.2 KiB
C#

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
{
/// <summary>
/// Verb message to display when removing this status effect
/// </summary>
[DataField(required: true)]
public LocId Verb;
/// <summary>
/// How long the status effect removal takes
/// </summary>
[DataField]
public TimeSpan RemovalTime = TimeSpan.FromSeconds(1);
/// <summary>
/// Entity to spawn when removed
/// </summary>
[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;