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;