using Robust.Shared.Prototypes; namespace Content.Server._DV.Objectives.Components; /// /// When this objective is completed, duplicate it with a new target. /// [RegisterComponent] public sealed partial class RerollAfterCompletionComponent : Component { /// /// If true, the objective has already been rerolled. /// /// /// Ideally this shouldn't matter, as we delete the component once its rolled /// public bool Rerolled; /// /// Tracks a reference of the owner of this objective. /// From what I can see, there is no normaly way to get a mind from an objective, as they're usually passed together. /// [DataField] public EntityUid MindUid = default!; /// /// Prototype of the objective to use for rerolling. /// Probably the same as this entity (If you want a potentially infinite number of objectives), but could be different if you want it to be a different objective. /// [DataField(required: true)] public EntProtoId RerollObjectivePrototype = default!; /// /// Message to display when the objective is rerolled. /// If null, no message will be displayed. /// [DataField] public LocId? RerollObjectiveMessage; }