aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-07-22 17:12:29 +0200
committerShauren <shauren.trinity@gmail.com>2013-07-22 17:12:29 +0200
commit3a4e3a5fa94ca7191448dbd79dee9c7a8494dde7 (patch)
tree3ddf1dd9e1a47ee55d3fe4f531da9d8caaa8c596 /src
parent3d6b88f5aad984ff1f35bc6bc2f67bf72c74b14e (diff)
Core/Creatures: Removed vendor item check during loading, MAX_VENDOR_ITEMS should apply to filtered list of items depending on player opening the vendor, not global list size
Closes #10330
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp9
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp5
2 files changed, 3 insertions, 11 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 8a970963c37..817aafb18dc 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -8362,15 +8362,6 @@ bool ObjectMgr::IsVendorItemValid(uint32 vendor_entry, uint32 item_id, int32 max
return false;
}
- if (vItems->GetItemCount() >= MAX_VENDOR_ITEMS)
- {
- if (player)
- ChatHandler(player->GetSession()).SendSysMessage(LANG_COMMAND_ADDVENDORITEMITEMS);
- else
- TC_LOG_ERROR(LOG_FILTER_SQL, "Table `npc_vendor` has too many items (%u >= %i) for vendor (Entry: %u), ignore", vItems->GetItemCount(), MAX_VENDOR_ITEMS, vendor_entry);
- return false;
- }
-
return true;
}
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 90c1bc4599f..5f458edbb07 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -784,8 +784,6 @@ void WorldSession::SendListInventory(uint64 vendorGuid)
continue;
}
- ++count;
-
// reputation discount
int32 price = item->IsGoldRequired(itemTemplate) ? uint32(floor(itemTemplate->BuyPrice * discountMod)) : 0;
@@ -797,6 +795,9 @@ void WorldSession::SendListInventory(uint64 vendorGuid)
data << uint32(itemTemplate->MaxDurability);
data << uint32(itemTemplate->BuyCount);
data << uint32(item->ExtendedCost);
+
+ if (++count >= MAX_VENDOR_ITEMS)
+ break;
}
}
}