aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Groups/Group.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index e886dfcee16..4c5fca4ff47 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -267,7 +267,8 @@ void Group::LoadMemberFromDB(ObjectGuid::LowType guidLow, uint8 memberFlags, uin
member.guid = ObjectGuid::Create<HighGuid::Player>(guidLow);
// skip non-existed member
- if (!sCharacterCache->GetCharacterNameAndClassByGUID(member.guid, member.name, member._class))
+ CharacterCacheEntry const* character = sCharacterCache->GetCharacterCacheByGuid(member.guid);
+ if (!character)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GROUP_MEMBER);
stmt->setUInt64(0, guidLow);
@@ -275,6 +276,9 @@ void Group::LoadMemberFromDB(ObjectGuid::LowType guidLow, uint8 memberFlags, uin
return;
}
+ member.name = character->Name;
+ member.race = Races(character->Race);
+ member._class = character->Class;
member.group = subgroup;
member.flags = memberFlags;
member.roles = roles;