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

54 lines
1.3 KiB
C#

using Content.Shared.DoAfter;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
namespace Content.Shared._Offbrand.Wounds;
[RegisterComponent, NetworkedComponent]
[Access(typeof(CprSystem))]
public sealed partial class CprTargetComponent : Component
{
/// <summary>
/// The status effect to apply when CPR is performed
/// </summary>
[DataField(required: true)]
public EntProtoId Effect;
/// <summary>
/// How long the CPR effect lasts
/// </summary>
[DataField(required: true)]
public TimeSpan EffectDuration;
/// <summary>
/// How long the doafter takes
/// </summary>
[DataField(required: true)]
public TimeSpan DoAfterDuration;
/// <summary>
/// Which wound can be caused by CPR
/// </summary>
[DataField(required: true)]
public EntProtoId Wound;
/// <summary>
/// How likely is the wound to happen when CPR happens?
/// </summary>
[DataField(required: true)]
public double WoundProbability;
[DataField]
public LocId WoundPopup = "cpr-wound-caused";
[DataField]
public LocId UserPopup = "cpr-target-started-user";
[DataField]
public LocId OtherPopup = "cpr-target-started-others";
}
[Serializable, NetSerializable]
public sealed partial class CprDoAfterEvent : SimpleDoAfterEvent;