From 69b3df03d8ee6a624b675537ec1542c4008bcdb2 Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:09:40 +0200 Subject: [PATCH] Don't show item dropping popup when wielding. (#40032) silence --- .../Inventory/VirtualItem/SharedVirtualItemSystem.cs | 9 +++++---- Content.Shared/Wieldable/SharedWieldableSystem.cs | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs b/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs index 8842223afc..db3a4fd95c 100644 --- a/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs +++ b/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs @@ -103,13 +103,14 @@ public abstract class SharedVirtualItemSystem : EntitySystem /// The entity we will make a virtual entity copy of /// The entity that we want to insert the virtual entity /// Whether or not to try and drop other items to make space - public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, bool dropOthers = false) + /// If true this won't show a popup when dropping other items + public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, bool dropOthers = false, bool silent = false) { - return TrySpawnVirtualItemInHand(blockingEnt, user, out _, dropOthers); + return TrySpawnVirtualItemInHand(blockingEnt, user, out _, dropOthers, silent: silent); } /// - public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, [NotNullWhen(true)] out EntityUid? virtualItem, bool dropOthers = false, string? empty = null) + public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, [NotNullWhen(true)] out EntityUid? virtualItem, bool dropOthers = false, string? empty = null, bool silent = false) { virtualItem = null; if (empty == null && !_handsSystem.TryGetEmptyHand(user, out empty)) @@ -128,7 +129,7 @@ public abstract class SharedVirtualItemSystem : EntitySystem if (!_handsSystem.TryDrop(user, hand)) continue; - if (!TerminatingOrDeleted(held)) + if (!silent && !TerminatingOrDeleted(held)) _popup.PopupClient(Loc.GetString("virtual-item-dropped-other", ("dropped", held)), user, user); empty = hand; diff --git a/Content.Shared/Wieldable/SharedWieldableSystem.cs b/Content.Shared/Wieldable/SharedWieldableSystem.cs index 0a49622f8b..3b9b8dd8e7 100644 --- a/Content.Shared/Wieldable/SharedWieldableSystem.cs +++ b/Content.Shared/Wieldable/SharedWieldableSystem.cs @@ -314,7 +314,8 @@ public abstract class SharedWieldableSystem : EntitySystem var virtuals = new ValueList(); for (var i = 0; i < component.FreeHandsRequired; i++) { - if (_virtualItem.TrySpawnVirtualItemInHand(used, user, out var virtualItem, true)) + // don't show a popup when dropping items because it will overlap with the popup for wielding + if (_virtualItem.TrySpawnVirtualItemInHand(used, user, out var virtualItem, true, silent: true)) { virtuals.Add(virtualItem.Value); continue;