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
This commit is contained in:
Эдуард
2024-09-19 13:22:02 +03:00
committed by GitHub
parent 75ff65d108
commit 1468cbdb8a
22 changed files with 579 additions and 34 deletions

View File

@@ -2,6 +2,8 @@ using Content.Shared.IdentityManagement;
using Content.Shared.IdentityManagement.Components;
using Content.Shared.Security;
using Content.Shared.Security.Components;
using Content.Shared.StationRecords;
using Robust.Shared.Serialization;
namespace Content.Shared.CriminalRecords.Systems;
@@ -50,3 +52,22 @@ public abstract class SharedCriminalRecordsSystem : EntitySystem
Dirty(characterUid, record);
}
}
[Serializable, NetSerializable]
public struct WantedRecord(GeneralStationRecord targetInfo, SecurityStatus status, string? reason, string? initiator, List<CrimeHistory> history)
{
public GeneralStationRecord TargetInfo = targetInfo;
public SecurityStatus Status = status;
public string? Reason = reason;
public string? Initiator = initiator;
public List<CrimeHistory> History = history;
};
[ByRefEvent]
public record struct CriminalRecordChangedEvent(CriminalRecord Record);
[ByRefEvent]
public record struct CriminalHistoryAddedEvent(CrimeHistory History);
[ByRefEvent]
public record struct CriminalHistoryRemovedEvent(CrimeHistory History);