From 4a7638c80ee9490068d78dc62193b78de0f306a6 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Tue, 21 Dec 2010 19:35:07 +0300 Subject: [PATCH] [10905] Fixed vendor templates work. * Avoid unexpected errors at template loading for shared templates for many npc. * Really use vendor template in work. --- src/game/Creature.cpp | 2 +- src/game/ObjectMgr.cpp | 2 +- src/shared/revision_nr.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 22d63a9cb..334f2af2a 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -2183,7 +2183,7 @@ VendorItemData const* Creature::GetVendorItems() const VendorItemData const* Creature::GetVendorTemplateItems() const { uint32 vendorId = GetCreatureInfo()->vendorId; - return vendorId ? sObjectMgr.GetNpcVendorItemList(vendorId) : NULL; + return vendorId ? sObjectMgr.GetNpcVendorTemplateItemList(vendorId) : NULL; } uint32 Creature::GetVendorItemCurrentCount(VendorItem const* vItem) diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 433d75f1c..82846ffa8 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -9066,7 +9066,7 @@ void ObjectMgr::LoadVendorTemplates() { if (cInfo->vendorId) { - if (vendor_ids.count(cInfo->vendorId) > 0) + if (m_mCacheVendorTemplateItemMap.find(cInfo->vendorId) != m_mCacheVendorTemplateItemMap.end()) vendor_ids.erase(cInfo->vendorId); else sLog.outErrorDb("Creature (Entry: %u) has vendor_id = %u for nonexistent vendor template", cInfo->Entry, cInfo->vendorId); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b369f2620..d97e55468 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10904" + #define REVISION_NR "10905" #endif // __REVISION_NR_H__