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 { /// /// The status effect to apply when CPR is performed /// [DataField(required: true)] public EntProtoId Effect; /// /// How long the CPR effect lasts /// [DataField(required: true)] public TimeSpan EffectDuration; /// /// How long the doafter takes /// [DataField(required: true)] public TimeSpan DoAfterDuration; /// /// Which wound can be caused by CPR /// [DataField(required: true)] public EntProtoId Wound; /// /// How likely is the wound to happen when CPR happens? /// [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;