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