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