From e43b8d84639e9944bed70e9cd4b3fe3af1cb0523 Mon Sep 17 00:00:00 2001 From: Uleat Date: Sun, 18 Nov 2018 21:11:22 -0500 Subject: [PATCH] Limited Client::GetTraderItems() to 80-item return --- zone/trading.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zone/trading.cpp b/zone/trading.cpp index 8c07db9fc..154fdf148 100644 --- a/zone/trading.cpp +++ b/zone/trading.cpp @@ -1295,7 +1295,7 @@ EQEmu::ItemInstance* Client::FindTraderItemBySerialNumber(int32 SerialNumber){ GetItems_Struct* Client::GetTraderItems(){ const EQEmu::ItemInstance* item = nullptr; - uint16 SlotID = 0; + uint16 SlotID = INVALID_INDEX; auto gis = new GetItems_Struct; @@ -1304,9 +1304,14 @@ GetItems_Struct* Client::GetTraderItems(){ uint8 ndx = 0; for (int i = EQEmu::invslot::GENERAL_BEGIN; i <= EQEmu::invslot::GENERAL_END; i++) { + if (ndx >= 80) + break; item = this->GetInv().GetItem(i); if(item && item->GetItem()->ID == 17899){ //Traders Satchel for (int x = EQEmu::invbag::SLOT_BEGIN; x <= EQEmu::invbag::SLOT_END; x++) { + if (ndx >= 80) + break; + SlotID = EQEmu::InventoryProfile::CalcSlotId(i, x); item = this->GetInv().GetItem(SlotID);