Speedup loading in LoadCreatureFormations
Signed-off-by: Subv2112 <[email protected]>
This commit is contained in:
@@ -88,21 +88,6 @@ void LoadCreatureFormations()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<uint32> guidSet;
|
|
||||||
|
|
||||||
QueryResult guidResult = WorldDatabase.PQuery("SELECT guid FROM creature");
|
|
||||||
if (guidResult)
|
|
||||||
{
|
|
||||||
do
|
|
||||||
{
|
|
||||||
Field* fields = guidResult->Fetch();
|
|
||||||
uint32 guid = fields[0].GetUInt32();
|
|
||||||
|
|
||||||
guidSet.insert(guid);
|
|
||||||
|
|
||||||
} while (guidResult->NextRow());
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32 count = 0;
|
uint32 count = 0;
|
||||||
Field* fields;
|
Field* fields;
|
||||||
FormationInfo* group_member;
|
FormationInfo* group_member;
|
||||||
@@ -130,14 +115,14 @@ void LoadCreatureFormations()
|
|||||||
|
|
||||||
// check data correctness
|
// check data correctness
|
||||||
{
|
{
|
||||||
if (guidSet.find(group_member->leaderGUID) == guidSet.end())
|
if (!sObjectMgr->GetCreatureData(group_member->leaderGUID))
|
||||||
{
|
{
|
||||||
sLog->outErrorDb("creature_formations table leader guid %u incorrect (not exist)", group_member->leaderGUID);
|
sLog->outErrorDb("creature_formations table leader guid %u incorrect (not exist)", group_member->leaderGUID);
|
||||||
delete group_member;
|
delete group_member;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (guidSet.find(memberGUID) == guidSet.end())
|
if (!sObjectMgr->GetCreatureData(memberGUID))
|
||||||
{
|
{
|
||||||
sLog->outErrorDb("creature_formations table member guid %u incorrect (not exist)", memberGUID);
|
sLog->outErrorDb("creature_formations table member guid %u incorrect (not exist)", memberGUID);
|
||||||
delete group_member;
|
delete group_member;
|
||||||
|
|||||||
Reference in New Issue
Block a user