Files
tbd-station-14/Content.Shared/CriminalRecords/CriminalRecord.cs
Эдуард 1468cbdb8a Wanted list cartridge (#31223)
* 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
2024-09-19 12:22:02 +02:00

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