Genpop Closets & IDs (#36392)

* Genpop IDs and Lockers

* placeholder generation, no ui yet.

* UI

* Fix time offset

* fix meta.jsons

* big speller

* Scarkyo review

* Add turnstile prototypes

* make IDs recyclable

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
This commit is contained in:
Nemanja
2025-04-24 10:32:11 -04:00
committed by GitHub
parent 896f73c59d
commit dc9844edd1
37 changed files with 1403 additions and 580 deletions

View File

@@ -1,5 +1,6 @@
using System.Linq;
using Content.Server.Administration.Logs;
using Content.Server.Chat.Systems;
using Content.Server.Kitchen.Components;
using Content.Server.Popups;
using Content.Shared.Access;
@@ -19,6 +20,7 @@ public sealed class IdCardSystem : SharedIdCardSystem
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly ChatSystem _chat = default!;
[Dependency] private readonly MicrowaveSystem _microwave = default!;
public override void Initialize()
@@ -93,4 +95,22 @@ public sealed class IdCardSystem : SharedIdCardSystem
}
}
public override void ExpireId(Entity<ExpireIdCardComponent> ent)
{
if (ent.Comp.Expired)
return;
base.ExpireId(ent);
if (ent.Comp.ExpireMessage != null)
{
_chat.TrySendInGameICMessage(
ent,
Loc.GetString(ent.Comp.ExpireMessage),
InGameICChatType.Speak,
ChatTransmitRange.Normal,
true);
}
}
}