diff --git a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs index 9668797..293f01b 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs @@ -90,7 +90,7 @@ namespace HISP.Game.Chat ItemInstance newItemInstance = new ItemInstance(itemId); if (itemId == Item.Present) - newItemInstance.Data = Item.GetRandomItem(false).Id; + newItemInstance.Data = Item.GetRandomItem().Id; if (args.Length >= 3) { @@ -103,7 +103,7 @@ namespace HISP.Game.Chat ItemInstance itmInstance = new ItemInstance(itemId); if (itemId == Item.Present) - itmInstance.Data = Item.GetRandomItem(false).Id; + itmInstance.Data = Item.GetRandomItem().Id; client.LoggedinUser.Inventory.AddIgnoringFull(itmInstance); } diff --git a/HorseIsleServer/HorseIsleServer/Game/Items/Item.cs b/HorseIsleServer/HorseIsleServer/Game/Items/Item.cs index 6f4b405..b59a333 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Items/Item.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Items/Item.cs @@ -122,15 +122,14 @@ namespace HISP.Game.Items public int ItemCount; } - public static ItemInformation GetRandomItem(bool allowQuest) + public static ItemInformation GetRandomItem() { while (true) { Item.ItemInformation itm = Items[GameServer.RandomNumberGenerator.Next(0, Items.Length)]; - if(!allowQuest) - if (itm.Type == "QUEST" || itm.Type == "CONCEPTUAL") - continue; + if (itm.Type == "QUEST" || itm.Type == "CONCEPTUAL" || itm.Type == "TEXT") + continue; return itm; } diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index ba82dfd..0f09a08 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -6453,6 +6453,11 @@ namespace HISP.Server { InventoryItem item = sender.LoggedinUser.Inventory.GetItemByRandomid(randomId); int newItem = item.ItemInstances[0].Data; + if(newItem == 0) + { + // TODO: Get "Present is empty" message. + sender.LoggedinUser.Inventory.Remove(item.ItemInstances[0]); + } try { sender.LoggedinUser.Inventory.Add(new ItemInstance(newItem));