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 <comedian_vs_clown@hotmail.com>
This commit is contained in:
Arendian
2024-01-20 03:50:14 +01:00
committed by GitHub
parent 91e8234a57
commit e89be95d4c

View File

@@ -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<HandsComponent>(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<WallMountComponent>(target)) //if the entering position is offset
{