diff options
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index ff1937defa7..18c1a8b1f3e 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -199,8 +199,8 @@ ObjectMgr::~ObjectMgr() delete[] playerInfo[race][class_].levelInfo; // free group and guild objects - for (GroupSet::iterator itr = mGroupSet.begin(); itr != mGroupSet.end(); ++itr) - delete (*itr); + for (GroupMap::iterator itr = mGroupMap.begin(); itr != mGroupMap.end(); ++itr) + delete itr->second; for (GuildMap::iterator itr = mGuildMap.begin(); itr != mGuildMap.end(); ++itr) delete itr->second; @@ -215,11 +215,11 @@ ObjectMgr::~ObjectMgr() itr->second.Clear(); } -Group * ObjectMgr::GetGroupByGUID(const uint64 &guid) const +Group * ObjectMgr::GetGroupByGUID(const uint32 &guid) const { - for (GroupSet::const_iterator itr = mGroupSet.begin(); itr != mGroupSet.end(); ++itr) - if ((*itr)->GetGUID() == guid) - return *itr; + GroupMap::const_iterator itr = mGroupMap.find(guid); + if (itr != mGroupMap.end()) + return itr->second; return NULL; } @@ -3525,7 +3525,6 @@ void ObjectMgr::LoadGroups() { Group *group = NULL; Field *fields = NULL; - uint64 groupGuid = 0; uint32 count = 0; // Consistency cleaning before load to avoid having to do some checks later @@ -3559,8 +3558,7 @@ void ObjectMgr::LoadGroups() fields = result->Fetch(); ++count; group = new Group; - groupGuid = MAKE_NEW_GUID(fields[15].GetUInt32(),0,HIGHGUID_GROUP); - group->LoadGroupFromDB(groupGuid, result, false); + group->LoadGroupFromDB(fields[15].GetUInt32(), result, false); // group load will never be false (we have run consistency sql's before loading) AddGroup(group); }while (result->NextRow()); @@ -3591,8 +3589,7 @@ void ObjectMgr::LoadGroups() if (groupLowGuid != fields[0].GetUInt32()) { groupLowGuid = fields[0].GetUInt32(); - groupGuid = MAKE_NEW_GUID(groupLowGuid, 0, HIGHGUID_GROUP); - group = GetGroupByGUID(groupGuid); + group = GetGroupByGUID(groupLowGuid); // group will never be NULL (we have run consistency sql's before loading) } group->LoadMemberFromDB(fields[1].GetUInt32(), fields[2].GetUInt8(), fields[3].GetUInt8()); @@ -3625,8 +3622,7 @@ void ObjectMgr::LoadGroups() { bar3.step(); fields = result->Fetch(); - groupGuid = MAKE_NEW_GUID(fields[0].GetUInt32(), 0, HIGHGUID_GROUP); - group = GetGroupByGUID(groupGuid); + group = GetGroupByGUID(fields[0].GetUInt32()); // group will never be NULL (we have run consistency sql's before loading) MapEntry const* mapEntry = sMapStore.LookupEntry(fields[1].GetUInt32()); |