EQLive does send an 80 item list, however the server side merchant list is > 80.
Code:
--- ../../../cvs/NightDumps/Source/zone/client_process.cpp 2003-02-03 08:38:21.000000000 -0700
+++ client_process.cpp 2003-02-05 05:24:38.000000000 -0700
@@ -5287,12 +5287,12 @@
void Client::BulkSendMerchantInventory(int merchant_id, int16 npcid) {
const Item_Struct* handyitem = NULL;
- int cpisize = sizeof(MerchantItem_Struct) + (29 * sizeof(MerchantItemD_Struct));
+ int cpisize = sizeof(MerchantItem_Struct) + (80 * sizeof(MerchantItemD_Struct));
MerchantItem_Struct* cpi = (MerchantItem_Struct*) new uchar[cpisize];
memset(cpi, 0, cpisize);
const Item_Struct *item;
- for (unsigned int i=0;i<database.GetMerchantListNumb(merchant_id) && i < 29; i++)
+ for (unsigned int i=0;i<database.GetMerchantListNumb(merchant_id) && i < 80; i++)
{
item=database.GetItem(database.GetMerchantData(merchant_id,i+1));
if (item)
@@ -5301,9 +5301,9 @@
memcpy(&cpi->packets[cpi->count].item, item, sizeof(Item_Struct));
cpi->packets[cpi->count].item.equipSlot = i;
cpi->count++;
- if (cpi->count >= 29)
+ if (cpi->count >= 81)
{
- cout << "ERROR: cpi->count>=29 in BulkSendMerchantInventory()" << endl;
+ cout << "ERROR: cpi->count>=81 in BulkSendMerchantInventory()" << endl;
return;
}
}