diff options
author | click <none@none> | 2010-04-30 22:35:37 +0200 |
---|---|---|
committer | click <none@none> | 2010-04-30 22:35:37 +0200 |
commit | 697685c3f57ffb9498e1a957333ea4fa6dd87b9a (patch) | |
tree | 096cbf097c629f7f48c00a16520db601ba5e6782 /src/game/Creature.cpp | |
parent | 4b1a9916acb8d2a8281346a430ee178434ec0c4b (diff) |
Add support for vendors selling the same items with different extendedCost - original code by Vladimir (thanks mate)
Closes issue #1756
--HG--
branch : trunk
Diffstat (limited to 'src/game/Creature.cpp')
-rw-r--r-- | src/game/Creature.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 91e21805d5c..3a124b2a999 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -62,29 +62,22 @@ TrainerSpell const* TrainerSpellData::Find(uint32 spell_id) const bool VendorItemData::RemoveItem(uint32 item_id) { + bool found = false; for (VendorItemList::iterator i = m_items.begin(); i != m_items.end(); ++i) { if ((*i)->item == item_id) { - m_items.erase(i); - return true; + i = m_items.erase(i); + found = true; } } - return false; -} - -size_t VendorItemData::FindItemSlot(uint32 item_id) const -{ - for (size_t i = 0; i < m_items.size(); ++i) - if (m_items[i]->item == item_id) - return i; - return m_items.size(); + return found; } -VendorItem const* VendorItemData::FindItem(uint32 item_id) const +VendorItem const* VendorItemData::FindItemCostPair(uint32 item_id, uint32 extendedCost) const { for (VendorItemList::const_iterator i = m_items.begin(); i != m_items.end(); ++i) - if ((*i)->item == item_id) + if((*i)->item == item_id && (*i)->ExtendedCost == extendedCost) return *i; return NULL; } |