diff options
author | Shauren <shauren.trinity@gmail.com> | 2013-04-29 15:29:51 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2013-04-29 15:29:51 +0200 |
commit | 2e1b1b8ceb08dcbe35f11605486c45f52717f2e2 (patch) | |
tree | a1edffb6f1853daa3a0fd3766ad9a35bff777427 /src | |
parent | 48dbccc352f39f62a56cc1be24d658478257a350 (diff) |
Core/Players: Fixed deleting characters, remove CharacterNameData only after the character is deleted, not before
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b8e1233593b..2b39045e1e7 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -5013,10 +5013,13 @@ void Player::DeleteFromDB(uint64 playerguid, uint32 accountId, bool updateRealmC } default: sLog->outError(LOG_FILTER_PLAYER, "Player::DeleteFromDB: Unsupported delete method: %u.", charDelete_method); + return; } if (updateRealmChars) sWorld->UpdateRealmCharCount(accountId); + + sWorld->DeleteCharacterNameData(GUID_LOPART(guid)); } /** diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index f1ec017962e..3e27157ed66 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -738,7 +738,6 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket& recvData) std::string IP_str = GetRemoteAddress(); sLog->outInfo(LOG_FILTER_CHARACTER, "Account: %d, IP: %s deleted character: %s, GUID: %u, Level: %u", accountId, IP_str.c_str(), name.c_str(), GUID_LOPART(guid), level); sScriptMgr->OnPlayerDelete(guid); - sWorld->DeleteCharacterNameData(GUID_LOPART(guid)); if (sLog->ShouldLog(LOG_FILTER_PLAYER_DUMP, LOG_LEVEL_INFO)) // optimize GetPlayerDump call { |