From 86704c7d83ef3eaa95daf28c1b43b1982614a8a7 Mon Sep 17 00:00:00 2001 From: juanjp600 Date: Sun, 28 Aug 2016 20:00:46 -0300 Subject: [PATCH] Stricter item interaction check --- Subsurface/Source/Items/Item.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs index 12dbc4508..a31e53b2a 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Subsurface/Source/Items/Item.cs @@ -1722,16 +1722,21 @@ namespace Barotrauma Condition = (float)message.ReadByte()/2.55f; - switch (type) + Client sender = null; + if (GameMain.Server != null) + { + sender = GameMain.Server.ConnectedClients.Find(c => c.Connection == message.SenderConnection); + if (sender == null || sender.Character == null || !sender.Character.CanAccessItem(this)) + { + return false; + } + } + + switch (type) { case NetworkEventType.DropItem: if (GameMain.Server != null) { - Client sender = GameMain.Server.ConnectedClients.Find(c => c.Connection == message.SenderConnection); - if (sender == null || sender.Character == null || !sender.Character.CanAccessItem(this)) - { - return false; - } Drop(sender.Character, false); if (body != null) {