From 6ce2c33a421b57505f390809fd1a0b58d23ad442 Mon Sep 17 00:00:00 2001
From: SilicaAndPina <earsyum@gmail.com>
Date: Fri, 5 Feb 2021 14:37:19 +1300
Subject: [PATCH] fix "Grabbed what you could but your inventory is full" not
 showing up

---
 .../HorseIsleServer/Game/Items/DroppedItems.cs      |  2 ++
 .../HorseIsleServer/Server/GameServer.cs            | 13 ++++++-------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs b/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs
index 55348c1..d07fabc 100755
--- a/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs	
+++ b/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs	
@@ -106,6 +106,8 @@ namespace HISP.Game.Items
                 droppedItemsList[i].DespawnTimer--;
                 if(droppedItemsList[i].DespawnTimer <= 0)
                 {
+                    if (GameServer.GetUsersAt(droppedItemsList[i].X, droppedItemsList[i].Y, true, true).Length > 0) // Dont despawn items players are standing on
+                        continue;
                     Logger.DebugPrint("Despawned Item at " + droppedItemsList[i].X + ", " + droppedItemsList[i].Y);
                     RemoveDroppedItem(droppedItemsList[i]);
                 }
diff --git a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs
index a5f0fe8..3a7fcfb 100755
--- a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs	
+++ b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs	
@@ -2933,18 +2933,17 @@ namespace HISP.Server
                     string chatMsg = Messages.GrabAllItemsMessage;
                     DroppedItems.DroppedItem[] droppedItems = DroppedItems.GetItemsAt(sender.LoggedinUser.X, sender.LoggedinUser.Y);
 
-                    try
+                    foreach (DroppedItems.DroppedItem item in droppedItems)
                     {
-                        foreach (DroppedItems.DroppedItem item in droppedItems)
+                        try
                         {
                             sender.LoggedinUser.Inventory.Add(item.Instance);
                             DroppedItems.RemoveDroppedItem(item);
                         }
-                    }
-                    catch (InventoryException)
-                    {
-                        chatMsg = Messages.GrabbedAllItemsButInventoryFull;
-                        break;
+                        catch (InventoryException)
+                        {
+                            chatMsg = Messages.GrabbedAllItemsButInventoryFull;
+                        }
                     }
 
                     UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y);