using Content.Shared.Security; using Robust.Shared.Serialization; namespace Content.Shared.CriminalRecords; /// /// Criminal record for a crewmember. /// Can be viewed and edited in a criminal records console by security. /// [Serializable, NetSerializable, DataRecord] public sealed partial record CriminalRecord { /// /// Status of the person (None, Wanted, Detained). /// [DataField] public SecurityStatus Status = SecurityStatus.None; /// /// When Status is Wanted, the reason for it. /// Should never be set otherwise. /// [DataField] public string? Reason; /// /// The name of the person who changed the status. /// [DataField] public string? InitiatorName; /// /// Criminal history of the person. /// This should have charges and time served added after someone is detained. /// [DataField] public List History = new(); } /// /// A line of criminal activity and the time it was added at. /// [Serializable, NetSerializable] public record struct CrimeHistory(TimeSpan AddTime, string Crime, string? InitiatorName);