From fa0cdf4b7aee48bb3c5806341dc52053b2cbcdb4 Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Fri, 5 Nov 2021 02:56:08 -0400 Subject: [PATCH] Fix crashing when PO w full inventory --- .../HorseIsleServer/Game/Inventory/HorseInventory.cs | 4 ++-- HorseIsleServer/HorseIsleServer/Game/Meta.cs | 2 +- HorseIsleServer/HorseIsleServer/Server/GameServer.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HorseIsleServer/HorseIsleServer/Game/Inventory/HorseInventory.cs b/HorseIsleServer/HorseIsleServer/Game/Inventory/HorseInventory.cs index 3be3de2..d3df140 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Inventory/HorseInventory.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Inventory/HorseInventory.cs @@ -41,9 +41,9 @@ namespace HISP.Game.Inventory } } } - public void AddHorse(HorseInstance horse, bool addToDb=true) + public void AddHorse(HorseInstance horse, bool addToDb=true, bool ignoreFull=false) { - if (HorseList.Length + 1 > baseUser.MaxHorses) + if (HorseList.Length + 1 > baseUser.MaxHorses && !ignoreFull) throw new InventoryFullException(); horse.Owner = baseUser.Id; diff --git a/HorseIsleServer/HorseIsleServer/Game/Meta.cs b/HorseIsleServer/HorseIsleServer/Game/Meta.cs index af2d530..e1a20ce 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Meta.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Meta.cs @@ -2702,7 +2702,7 @@ namespace HISP.Game private static string buildPawneer(User user) { string message = ""; - if (user.Inventory.HasItemId(Item.PawneerOrder)) + if (user.Inventory.HasItemId(Item.PawneerOrder) && (user.HorseInventory.HorseList.Length < user.MaxHorses)) message += Messages.PawneerOrderMeta; message += Messages.PawneerUntackedHorsesICanBuy; foreach(HorseInstance horse in user.HorseInventory.HorseList.OrderBy(o => o.Name).ToList()) diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index fa8c05c..0bff6ce 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -3331,7 +3331,7 @@ namespace HISP.Server horseInstance.Name = "Pawneer Order"; sender.LoggedinUser.Inventory.Remove(sender.LoggedinUser.Inventory.GetItemByItemId(Item.PawneerOrder).ItemInstances[0]); - sender.LoggedinUser.HorseInventory.AddHorse(horseInstance); + sender.LoggedinUser.HorseInventory.AddHorse(horseInstance, true, true); sender.LoggedinUser.MetaPriority = true; metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPawneerOrderFound(horseInstance));