diff --git a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs index 68835303773..829e10eddad 100644 --- a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs +++ b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs @@ -10,6 +10,7 @@ using Content.Shared.Polymorph; using Content.Shared.Polymorph.Components; using Content.Shared.Popups; +using Content.Shared.Storage.Components; using Robust.Shared.Containers; using Robust.Shared.Network; using Robust.Shared.Physics.Components; @@ -43,6 +44,7 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnDisguiseEquippedHand); + SubscribeLocalEvent(OnDisguiseInsertAttempt); SubscribeLocalEvent(OnDisguiseShutdown); SubscribeLocalEvent(OnDamageChanged); @@ -63,6 +65,12 @@ private void OnDisguiseEquippedHand(Entity ent, ref args.Handled = true; } + private void OnDisguiseInsertAttempt(Entity ent, ref InsertIntoEntityStorageAttemptEvent args) + { + // stay parented to the user, not the storage + args.Cancelled = true; + } + private void OnDisguiseShutdown(Entity ent, ref ComponentShutdown args) { _actions.RemoveProvidedActions(ent.Comp.User, ent.Comp.Projector);