From a406ca419a1c5e2098033b1f3770fd52c9a07da5 Mon Sep 17 00:00:00 2001 From: Ed Date: Sun, 12 Jan 2025 23:46:53 +0300 Subject: [PATCH] token unfinished --- .../_CP14/Jobs/CP14JobTokenComponent.cs | 11 +++++++ .../_CP14/Jobs/CP14JobTokenSystem.cs | 33 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 Content.Server/_CP14/Jobs/CP14JobTokenComponent.cs create mode 100644 Content.Server/_CP14/Jobs/CP14JobTokenSystem.cs diff --git a/Content.Server/_CP14/Jobs/CP14JobTokenComponent.cs b/Content.Server/_CP14/Jobs/CP14JobTokenComponent.cs new file mode 100644 index 0000000000..8640a959b2 --- /dev/null +++ b/Content.Server/_CP14/Jobs/CP14JobTokenComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server._CP14.Jobs; + +/// +/// +/// +[RegisterComponent] +public sealed partial class CP14JobTokenComponent : Component +{ + [DataField] + public LocId? Description; +} diff --git a/Content.Server/_CP14/Jobs/CP14JobTokenSystem.cs b/Content.Server/_CP14/Jobs/CP14JobTokenSystem.cs new file mode 100644 index 0000000000..7605f2e432 --- /dev/null +++ b/Content.Server/_CP14/Jobs/CP14JobTokenSystem.cs @@ -0,0 +1,33 @@ +using Content.Shared.GameTicking; +using Content.Shared.Inventory; +using Content.Shared.Mind; +using Robust.Server.Player; + +namespace Content.Server._CP14.Jobs; + +public partial class CP14JobTokenSystem : EntitySystem +{ + [Dependency] private readonly IPlayerManager _player = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(GivePlayerToken); + } + + private void GivePlayerToken(PlayerSpawnCompleteEvent ev) + { + var playerName = ev.Player.Name; + var playerEntity = ev.Player.AttachedEntity; + + if (playerEntity is null) + return; + + if (!_inventory.TryGetSlot(playerEntity.Value, "back", out var backSlot)) + return; + + var token = Spawn("CP14Paper"); + + } +}