* WantedListCartridge has been added * WantedListCartridge user interface works * WantedListCartridge is added as standard in some PDAs * The CriminalRecordsSystem can now also take into account who created the record * Added offense history table * Fix of missing loaderUid for a cartridge without installing the program * Added personalized information about the target * The crime history has been finalized * Added StatusList * The officer's name has been added to the automatic history * WantedListCartridge has been added to the HOS locker * WantedListCartridge has been removed from brigmedic's preset programs * The StealConditionSystem now takes into account whether a cartridge is inserted or installed * Added target to thief on WantedListCartridge * Merge fix * Removing copypaste * Fix merge 2 * The sprite of WantedListCartridge has been changed * Update pda.yml * Fix scrollbar in the history table * Upstream localization fix * `StatusList` has been replaced by `ListContainer` with `TextureRect` * Margin fix
45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
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 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);
|