aboutsummaryrefslogtreecommitdiff
path: root/src/game/Creature.cpp
diff options
context:
space:
mode:
authorclick <none@none>2010-04-30 22:35:37 +0200
committerclick <none@none>2010-04-30 22:35:37 +0200
commit697685c3f57ffb9498e1a957333ea4fa6dd87b9a (patch)
tree096cbf097c629f7f48c00a16520db601ba5e6782 /src/game/Creature.cpp
parent4b1a9916acb8d2a8281346a430ee178434ec0c4b (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.cpp19
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;
}