[10680] Update item buy code for new way vendor item lists work.

This commit is contained in:
VladimirMangos 2010-11-04 20:39:39 +03:00
parent 0bf8b0aa79
commit ef8789f780
2 changed files with 6 additions and 3 deletions

View file

@ -18694,13 +18694,16 @@ bool Player::BuyItemFromVendorSlot(uint64 vendorguid, uint32 vendorslot, uint32
return false; return false;
} }
if (vendorslot >= vItems->GetItemCount()) uint32 vCount = vItems ? vItems->GetItemCount() : 0;
uint32 tCount = tItems ? tItems->GetItemCount() : 0;
if (vendorslot >= vCount+tCount)
{ {
SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0); SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0);
return false; return false;
} }
VendorItem const* crItem = vItems->GetItem(vendorslot); VendorItem const* crItem = vendorslot < vCount ? vItems->GetItem(vendorslot) : tItems->GetItem(vendorslot - vCount);
if(!crItem || crItem->item != item) // store diff item (cheating) if(!crItem || crItem->item != item) // store diff item (cheating)
{ {
SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0); SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0);

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "10679" #define REVISION_NR "10680"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__