aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 37b3c3c2f0e..9a77c3da55c 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -919,6 +919,8 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
Field* fields = resultGuild->Fetch();
pCurrChar->SetInGuild(fields[0].GetUInt32());
pCurrChar->SetRank(fields[1].GetUInt8());
+ if (Guild* guild = sGuildMgr->GetGuildById(pCurrChar->GetGuildId()))
+ pCurrChar->SetUInt32Value(PLAYER_GUILDLEVEL, guild->GetLevel());
}
else if (pCurrChar->GetGuildId()) // clear guild related fields in case wrong data about non existed membership
{
@@ -926,18 +928,6 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
pCurrChar->SetRank(0);
}
- if (pCurrChar->GetGuildId() != 0)
- {
- if (Guild* guild = sGuildMgr->GetGuildById(pCurrChar->GetGuildId()))
- guild->SendLoginInfo(this);
- else
- {
- // remove wrong guild data
- sLog->outError("Player %s (GUID: %u) marked as member of not existing guild (id: %u), removing guild membership for player.", pCurrChar->GetName(), pCurrChar->GetGUIDLow(), pCurrChar->GetGuildId());
- pCurrChar->SetInGuild(0);
- }
- }
-
data.Initialize(SMSG_LEARNED_DANCE_MOVES, 4+4);
data << uint64(0);
SendPacket(&data);
@@ -997,6 +987,18 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
sObjectAccessor->AddObject(pCurrChar);
//sLog->outDebug("Player %s added to Map.", pCurrChar->GetName());
+ if (pCurrChar->GetGuildId() != 0)
+ {
+ if (Guild* guild = sGuildMgr->GetGuildById(pCurrChar->GetGuildId()))
+ guild->SendLoginInfo(this);
+ else
+ {
+ // remove wrong guild data
+ sLog->outError("Player %s (GUID: %u) marked as member of not existing guild (id: %u), removing guild membership for player.", pCurrChar->GetName(), pCurrChar->GetGUIDLow(), pCurrChar->GetGuildId());
+ pCurrChar->SetInGuild(0);
+ }
+ }
+
pCurrChar->SendInitialPacketsAfterAddToMap();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_ONLINE);