From 7117b925a5591fa6f929e2a77400f5bbac41d7fe Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Tue, 6 Aug 2024 13:00:15 +0200 Subject: [PATCH] Add whitelist to cryostorage (#30574) --- .../Bed/Cryostorage/CanEnterCryostorageComponent.cs | 10 ++++++++++ .../Bed/Cryostorage/SharedCryostorageSystem.cs | 2 +- Resources/Prototypes/Entities/Mobs/Species/base.yml | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 Content.Shared/Bed/Cryostorage/CanEnterCryostorageComponent.cs diff --git a/Content.Shared/Bed/Cryostorage/CanEnterCryostorageComponent.cs b/Content.Shared/Bed/Cryostorage/CanEnterCryostorageComponent.cs new file mode 100644 index 0000000000..2e5b200055 --- /dev/null +++ b/Content.Shared/Bed/Cryostorage/CanEnterCryostorageComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Bed.Cryostorage; + +/// +/// Serves as a whitelist that allows an entity with this component to enter cryostorage. +/// It will also require MindContainerComponent. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class CanEnterCryostorageComponent : Component { } diff --git a/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs b/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs index c3fa21e293..f6b7a34785 100644 --- a/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs +++ b/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs @@ -89,7 +89,7 @@ public abstract class SharedCryostorageSystem : EntitySystem return; } - if (!TryComp(args.EntityUid, out var mindContainer)) + if (!HasComp(args.EntityUid) || !TryComp(args.EntityUid, out var mindContainer)) { args.Cancel(); return; diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index af309e93ad..4a14b5332e 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -167,6 +167,7 @@ - type: Dna - type: MindContainer showExamineInfo: true + - type: CanEnterCryostorage - type: InteractionPopup successChance: 1 interactSuccessString: hugging-success-generic -- 2.52.0