mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-10 10:51:14 +03:00
* Scope creep my ass * why was this shit not pushed???? * gone... * fix that * review plus buildd * asfsafsafsafsafas * grug * burber * I'll fix this later * shrimply die * also this * it's snerf or snuthin * assaads * round snend * aaaa * fix this shit for real * actually, don't start GameRules until MapInit now that I think aboot it. * forgot u * don't actually need this part nullable * Deffer comp removal * one liner * do that too * chungus * Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?) * deferred removal :V * aaaaaaaaaaaaaaa * whhop * Whoop * better * landmine that I placed for myself then forgot about lmao * cleanup * FUCKING `!` * gotovo * amogus * please don't check by metadata I beg * waawsasfdfsasfa * sfafsasfafsas * fdsaasffsasfa * code * fix * fasasffasfasfsad * chungaas * I may be stupid * gra * graaaaaaaaaaaaaaaaa * comment * gra * clearing is not predicted and would require major refactors, so don't cache on client. * lame shit :P * last holes * nukeopsfsafsasafsfafsa * why was that shit public bruh * bubrbgwahrghfaka * dynamic * revert change that did nothing lmao
43 lines
1.6 KiB
C#
43 lines
1.6 KiB
C#
using Content.Shared.IdentityManagement;
|
|
using Content.Shared.Security;
|
|
using Content.Shared.Security.Components;
|
|
using Content.Shared.Station;
|
|
using Content.Shared.Station.Systems;
|
|
using Content.Shared.StationRecords;
|
|
using Content.Shared.StationRecords.Systems;
|
|
|
|
namespace Content.Shared.CriminalRecords.Systems;
|
|
|
|
public abstract partial class SharedCriminalRecordsConsoleSystem : EntitySystem
|
|
{
|
|
[Dependency] private SharedCriminalRecordsSystem _criminalRecords = default!;
|
|
[Dependency] private StationRecordsSystem _records = default!;
|
|
[Dependency] private StationSystem _station = default!;
|
|
|
|
/// <summary>
|
|
/// Checks if the new identity's name has a criminal record attached to it, and gives the entity the icon that
|
|
/// belongs to the status if it does.
|
|
/// </summary>
|
|
public void CheckNewIdentity(EntityUid uid)
|
|
{
|
|
var name = Identity.Name(uid, EntityManager);
|
|
var xform = Transform(uid);
|
|
|
|
// TODO use the entity's station? Not the station of the map that it happens to currently be on?
|
|
var station = _station.GetStationInMap(xform.MapID);
|
|
|
|
if (station != null && _records.GetRecordByName(station.Value, name) is { } id)
|
|
{
|
|
if (_records.TryGetRecord<CriminalRecord>(new StationRecordKey(id, station.Value),
|
|
out var record))
|
|
{
|
|
if (record.Status != SecurityStatus.None)
|
|
{
|
|
_criminalRecords.SetCriminalIcon(name, record.Status, uid);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
RemComp<CriminalRecordComponent>(uid);
|
|
}
|
|
}
|