From: Arendian <137322659+Arendian@users.noreply.github.com> Date: Sat, 20 Jan 2024 02:50:14 +0000 (+0100) Subject: Prevent EntityStorages from being opened while inside another container (#24253) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=e89be95d4c3085d7d6d08ad5aafa942cfc32c934;p=space-station-14.git Prevent EntityStorages from being opened while inside another container (#24253) * Prevent EntityStorages from being opened while inside a mech. * compressed into few lines * unneeded line * Popup client --------- Co-authored-by: metalgearsloth --- diff --git a/Content.Shared/Storage/EntitySystems/SharedEntityStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedEntityStorageSystem.cs index 911c6e5380..19e41848a1 100644 --- a/Content.Shared/Storage/EntitySystems/SharedEntityStorageSystem.cs +++ b/Content.Shared/Storage/EntitySystems/SharedEntityStorageSystem.cs @@ -336,6 +336,17 @@ public abstract class SharedEntityStorageSystem : EntitySystem return false; } + if (_container.IsEntityInContainer(target)) + { + if (_container.TryGetOuterContainer(target,Transform(target) ,out var container) && + !HasComp(container.Owner)) + { + Popup.PopupClient(Loc.GetString("entity-storage-component-already-contains-user-message"), user, user); + + return false; + } + } + //Checks to see if the opening position, if offset, is inside of a wall. if (component.EnteringOffset != new Vector2(0, 0) && !HasComp(target)) //if the entering position is offset {