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;
}