aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Loot/LootMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Loot/LootMgr.cpp')
-rwxr-xr-xsrc/server/game/Loot/LootMgr.cpp162
1 files changed, 80 insertions, 82 deletions
diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp
index 64e9b9a27e4..3522571775c 100755
--- a/src/server/game/Loot/LootMgr.cpp
+++ b/src/server/game/Loot/LootMgr.cpp
@@ -147,7 +147,6 @@ uint32 LootStore::LoadLootTable()
// Adds current row to the template
tab->second->AddEntry(storeitem);
++count;
-
}
while (result->NextRow());
@@ -205,12 +204,12 @@ LootTemplate* LootStore::GetLootForConditionFill(uint32 loot_id)
return tab->second;
}
-uint32 LootStore::LoadAndCollectLootIds(LootIdSet& ids_set)
+uint32 LootStore::LoadAndCollectLootIds(LootIdSet& lootIdSet)
{
uint32 count = LoadLootTable();
for (LootTemplateMap::const_iterator tab = m_LootTemplates.begin(); tab != m_LootTemplates.end(); ++tab)
- ids_set.insert(tab->first);
+ lootIdSet.insert(tab->first);
return count;
}
@@ -221,16 +220,16 @@ void LootStore::CheckLootRefs(LootIdSet* ref_set) const
ltItr->second->CheckLootRefs(m_LootTemplates, ref_set);
}
-void LootStore::ReportUnusedIds(LootIdSet const& ids_set) const
+void LootStore::ReportUnusedIds(LootIdSet const& lootIdSet) const
{
// all still listed ids isn't referenced
- for (LootIdSet::const_iterator itr = ids_set.begin(); itr != ids_set.end(); ++itr)
+ for (LootIdSet::const_iterator itr = lootIdSet.begin(); itr != lootIdSet.end(); ++itr)
sLog->outErrorDb("Table '%s' entry %d isn't %s and not referenced from loot, and then useless.", GetName(), *itr, GetEntryName());
}
void LootStore::ReportNotExistedId(uint32 id) const
{
- sLog->outErrorDb("Table '%s' entry %d (%s) not exist but used as loot id in DB.", GetName(), id, GetEntryName());
+ sLog->outErrorDb("Table '%s' entry %d (%s) does not exist but used as loot id in DB.", GetName(), id, GetEntryName());
}
//
@@ -296,7 +295,6 @@ bool LootStoreItem::IsValid(LootStore const& store, uint32 entry) const
sLog->outErrorDb("Table '%s' entry %d item %d: max count (%u) less that min count (%i) - skipped", store.GetName(), entry, itemid, int32(maxcount), mincountOrRef);
return false;
}
-
}
else // mincountOrRef < 0
{
@@ -1420,8 +1418,8 @@ void LoadLootTemplates_Creature()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set, ids_setUsed;
- uint32 count = LootTemplates_Creature.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet, lootIdSetUsed;
+ uint32 count = LootTemplates_Creature.LoadAndCollectLootIds(lootIdSet);
// Remove real entries and check loot existence
CreatureTemplateContainer const* ctc = sObjectMgr->GetCreatureTemplates();
@@ -1429,18 +1427,18 @@ void LoadLootTemplates_Creature()
{
if (uint32 lootid = itr->second.lootid)
{
- if (ids_set.find(lootid) == ids_set.end())
+ if (lootIdSet.find(lootid) == lootIdSet.end())
LootTemplates_Creature.ReportNotExistedId(lootid);
else
- ids_setUsed.insert(lootid);
+ lootIdSetUsed.insert(lootid);
}
}
- for (LootIdSet::const_iterator itr = ids_setUsed.begin(); itr != ids_setUsed.end(); ++itr)
- ids_set.erase(*itr);
+ for (LootIdSet::const_iterator itr = lootIdSetUsed.begin(); itr != lootIdSetUsed.end(); ++itr)
+ lootIdSet.erase(*itr);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Creature.ReportUnusedIds(ids_set);
+ LootTemplates_Creature.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u creature loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1456,7 +1454,7 @@ void LoadLootTemplates_Disenchant()
uint32 oldMSTime = getMSTime();
- LootIdSet lootIdSet, loodIdSetUsed;
+ LootIdSet lootIdSet, lootIdSetUsed;
uint32 count = LootTemplates_Disenchant.LoadAndCollectLootIds(lootIdSet);
ItemTemplateContainer const* its = sObjectMgr->GetItemTemplateStore();
@@ -1467,11 +1465,11 @@ void LoadLootTemplates_Disenchant()
if (lootIdSet.find(lootid) == lootIdSet.end())
LootTemplates_Disenchant.ReportNotExistedId(lootid);
else
- loodIdSetUsed.insert(lootid);
+ lootIdSetUsed.insert(lootid);
}
}
- for (LootIdSet::const_iterator itr = loodIdSetUsed.begin(); itr != loodIdSetUsed.end(); ++itr)
+ for (LootIdSet::const_iterator itr = lootIdSetUsed.begin(); itr != lootIdSetUsed.end(); ++itr)
lootIdSet.erase(*itr);
// output error for any still listed (not referenced from appropriate table) ids
@@ -1490,17 +1488,17 @@ void LoadLootTemplates_Fishing()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- uint32 count = LootTemplates_Fishing.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ uint32 count = LootTemplates_Fishing.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
for (uint32 i = 1; i < sAreaStore.GetNumRows(); ++i)
if (AreaTableEntry const* areaEntry = sAreaStore.LookupEntry(i))
- if (ids_set.find(areaEntry->ID) != ids_set.end())
- ids_set.erase(areaEntry->ID);
+ if (lootIdSet.find(areaEntry->ID) != lootIdSet.end())
+ lootIdSet.erase(areaEntry->ID);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Fishing.ReportUnusedIds(ids_set);
+ LootTemplates_Fishing.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u fishing loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1516,8 +1514,8 @@ void LoadLootTemplates_Gameobject()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set, ids_setUsed;
- uint32 count = LootTemplates_Gameobject.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet, lootIdSetUsed;
+ uint32 count = LootTemplates_Gameobject.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
GameObjectTemplateContainer const* gotc = sObjectMgr->GetGameObjectTemplates();
@@ -1525,18 +1523,18 @@ void LoadLootTemplates_Gameobject()
{
if (uint32 lootid = itr->second.GetLootId())
{
- if (sObjectMgr->IsGoOfSpecificEntrySpawned(itr->second.entry) && ids_set.find(lootid) == ids_set.end())
+ if (sObjectMgr->IsGoOfSpecificEntrySpawned(itr->second.entry) && lootIdSet.find(lootid) == lootIdSet.end())
LootTemplates_Gameobject.ReportNotExistedId(lootid);
else
- ids_setUsed.insert(lootid);
+ lootIdSetUsed.insert(lootid);
}
}
- for (LootIdSet::const_iterator itr = ids_setUsed.begin(); itr != ids_setUsed.end(); ++itr)
- ids_set.erase(*itr);
+ for (LootIdSet::const_iterator itr = lootIdSetUsed.begin(); itr != lootIdSetUsed.end(); ++itr)
+ lootIdSet.erase(*itr);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Gameobject.ReportUnusedIds(ids_set);
+ LootTemplates_Gameobject.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u gameobject loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1552,17 +1550,17 @@ void LoadLootTemplates_Item()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- uint32 count = LootTemplates_Item.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ uint32 count = LootTemplates_Item.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
ItemTemplateContainer const* its = sObjectMgr->GetItemTemplateStore();
for (ItemTemplateContainer::const_iterator itr = its->begin(); itr != its->end(); ++itr)
- if (ids_set.find(itr->second.ItemId) != ids_set.end() && itr->second.Flags & ITEM_PROTO_FLAG_OPENABLE)
- ids_set.erase(itr->second.ItemId);
+ if (lootIdSet.find(itr->second.ItemId) != lootIdSet.end() && itr->second.Flags & ITEM_PROTO_FLAG_OPENABLE)
+ lootIdSet.erase(itr->second.ItemId);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Item.ReportUnusedIds(ids_set);
+ LootTemplates_Item.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u prospecting loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1578,8 +1576,8 @@ void LoadLootTemplates_Milling()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- uint32 count = LootTemplates_Milling.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ uint32 count = LootTemplates_Milling.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
ItemTemplateContainer const* its = sObjectMgr->GetItemTemplateStore();
@@ -1588,12 +1586,12 @@ void LoadLootTemplates_Milling()
if (!(itr->second.Flags & ITEM_PROTO_FLAG_MILLABLE))
continue;
- if (ids_set.find(itr->second.ItemId) != ids_set.end())
- ids_set.erase(itr->second.ItemId);
+ if (lootIdSet.find(itr->second.ItemId) != lootIdSet.end())
+ lootIdSet.erase(itr->second.ItemId);
}
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Milling.ReportUnusedIds(ids_set);
+ LootTemplates_Milling.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u milling loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1609,8 +1607,8 @@ void LoadLootTemplates_Pickpocketing()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set, ids_setUsed;
- uint32 count = LootTemplates_Pickpocketing.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet, lootIdSetUsed;
+ uint32 count = LootTemplates_Pickpocketing.LoadAndCollectLootIds(lootIdSet);
// Remove real entries and check loot existence
CreatureTemplateContainer const* ctc = sObjectMgr->GetCreatureTemplates();
@@ -1618,18 +1616,18 @@ void LoadLootTemplates_Pickpocketing()
{
if (uint32 lootid = itr->second.pickpocketLootId)
{
- if (ids_set.find(lootid) == ids_set.end())
+ if (lootIdSet.find(lootid) == lootIdSet.end())
LootTemplates_Pickpocketing.ReportNotExistedId(lootid);
else
- ids_setUsed.insert(lootid);
+ lootIdSetUsed.insert(lootid);
}
}
- for (LootIdSet::const_iterator itr = ids_setUsed.begin(); itr != ids_setUsed.end(); ++itr)
- ids_set.erase(*itr);
+ for (LootIdSet::const_iterator itr = lootIdSetUsed.begin(); itr != lootIdSetUsed.end(); ++itr)
+ lootIdSet.erase(*itr);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Pickpocketing.ReportUnusedIds(ids_set);
+ LootTemplates_Pickpocketing.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u pickpocketing loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1645,8 +1643,8 @@ void LoadLootTemplates_Prospecting()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- uint32 count = LootTemplates_Prospecting.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ uint32 count = LootTemplates_Prospecting.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
ItemTemplateContainer const* its = sObjectMgr->GetItemTemplateStore();
@@ -1655,12 +1653,12 @@ void LoadLootTemplates_Prospecting()
if (!(itr->second.Flags & ITEM_PROTO_FLAG_PROSPECTABLE))
continue;
- if (ids_set.find(itr->second.ItemId) != ids_set.end())
- ids_set.erase(itr->second.ItemId);
+ if (lootIdSet.find(itr->second.ItemId) != lootIdSet.end())
+ lootIdSet.erase(itr->second.ItemId);
}
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Prospecting.ReportUnusedIds(ids_set);
+ LootTemplates_Prospecting.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u prospecting loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1676,17 +1674,17 @@ void LoadLootTemplates_Mail()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- uint32 count = LootTemplates_Mail.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ uint32 count = LootTemplates_Mail.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
for (uint32 i = 1; i < sMailTemplateStore.GetNumRows(); ++i)
if (sMailTemplateStore.LookupEntry(i))
- if (ids_set.find(i) != ids_set.end())
- ids_set.erase(i);
+ if (lootIdSet.find(i) != lootIdSet.end())
+ lootIdSet.erase(i);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Mail.ReportUnusedIds(ids_set);
+ LootTemplates_Mail.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u mail loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1702,8 +1700,8 @@ void LoadLootTemplates_Skinning()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set, ids_setUsed;
- uint32 count = LootTemplates_Skinning.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet, lootIdSetUsed;
+ uint32 count = LootTemplates_Skinning.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
CreatureTemplateContainer const* ctc = sObjectMgr->GetCreatureTemplates();
@@ -1711,18 +1709,18 @@ void LoadLootTemplates_Skinning()
{
if (uint32 lootid = itr->second.SkinLootId)
{
- if (ids_set.find(lootid) == ids_set.end())
+ if (lootIdSet.find(lootid) == lootIdSet.end())
LootTemplates_Skinning.ReportNotExistedId(lootid);
else
- ids_setUsed.insert(lootid);
+ lootIdSetUsed.insert(lootid);
}
}
- for (LootIdSet::const_iterator itr = ids_setUsed.begin(); itr != ids_setUsed.end(); ++itr)
- ids_set.erase(*itr);
+ for (LootIdSet::const_iterator itr = lootIdSetUsed.begin(); itr != lootIdSetUsed.end(); ++itr)
+ lootIdSet.erase(*itr);
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Skinning.ReportUnusedIds(ids_set);
+ LootTemplates_Skinning.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u skinning loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1738,8 +1736,8 @@ void LoadLootTemplates_Spell()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- uint32 count = LootTemplates_Spell.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ uint32 count = LootTemplates_Spell.LoadAndCollectLootIds(lootIdSet);
// remove real entries and check existence loot
for (uint32 spell_id = 1; spell_id < sSpellMgr->GetSpellInfoStoreSize(); ++spell_id)
@@ -1752,7 +1750,7 @@ void LoadLootTemplates_Spell()
if (!spellInfo->IsLootCrafting())
continue;
- if (ids_set.find(spell_id) == ids_set.end())
+ if (lootIdSet.find(spell_id) == lootIdSet.end())
{
// not report about not trainable spells (optionally supported by DB)
// ignore 61756 (Northrend Inscription Research (FAST QA VERSION) for example
@@ -1762,11 +1760,11 @@ void LoadLootTemplates_Spell()
}
}
else
- ids_set.erase(spell_id);
+ lootIdSet.erase(spell_id);
}
// output error for any still listed (not referenced from appropriate table) ids
- LootTemplates_Spell.ReportUnusedIds(ids_set);
+ LootTemplates_Spell.ReportUnusedIds(lootIdSet);
if (count)
sLog->outString(">> Loaded %u spell loot templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
@@ -1781,24 +1779,24 @@ void LoadLootTemplates_Reference()
uint32 oldMSTime = getMSTime();
- LootIdSet ids_set;
- LootTemplates_Reference.LoadAndCollectLootIds(ids_set);
+ LootIdSet lootIdSet;
+ LootTemplates_Reference.LoadAndCollectLootIds(lootIdSet);
// check references and remove used
- LootTemplates_Creature.CheckLootRefs(&ids_set);
- LootTemplates_Fishing.CheckLootRefs(&ids_set);
- LootTemplates_Gameobject.CheckLootRefs(&ids_set);
- LootTemplates_Item.CheckLootRefs(&ids_set);
- LootTemplates_Milling.CheckLootRefs(&ids_set);
- LootTemplates_Pickpocketing.CheckLootRefs(&ids_set);
- LootTemplates_Skinning.CheckLootRefs(&ids_set);
- LootTemplates_Disenchant.CheckLootRefs(&ids_set);
- LootTemplates_Prospecting.CheckLootRefs(&ids_set);
- LootTemplates_Mail.CheckLootRefs(&ids_set);
- LootTemplates_Reference.CheckLootRefs(&ids_set);
+ LootTemplates_Creature.CheckLootRefs(&lootIdSet);
+ LootTemplates_Fishing.CheckLootRefs(&lootIdSet);
+ LootTemplates_Gameobject.CheckLootRefs(&lootIdSet);
+ LootTemplates_Item.CheckLootRefs(&lootIdSet);
+ LootTemplates_Milling.CheckLootRefs(&lootIdSet);
+ LootTemplates_Pickpocketing.CheckLootRefs(&lootIdSet);
+ LootTemplates_Skinning.CheckLootRefs(&lootIdSet);
+ LootTemplates_Disenchant.CheckLootRefs(&lootIdSet);
+ LootTemplates_Prospecting.CheckLootRefs(&lootIdSet);
+ LootTemplates_Mail.CheckLootRefs(&lootIdSet);
+ LootTemplates_Reference.CheckLootRefs(&lootIdSet);
// output error for any still listed ids (not referenced from any loot table)
- LootTemplates_Reference.ReportUnusedIds(ids_set);
+ LootTemplates_Reference.ReportUnusedIds(lootIdSet);
sLog->outString(">> Loaded refence loot templates in %u ms", GetMSTimeDiffToNow(oldMSTime));
sLog->outString();