diff options
author | Matan Shukry <matanshukry@gmail.com> | 2021-01-26 17:48:28 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2021-01-31 16:02:39 +0100 |
commit | dd27485a649ad3b6086712e1907dbb58c4ee8e46 (patch) | |
tree | b712be82756587feffd42b0db4bcbac58341168a /src | |
parent | 7cf9a2a028811170cda3c41d681836d7aa7505fd (diff) |
Core/Player: remaining XP logging overflow correction (#25934)
(cherry picked from commit 6dbaba76699400e5c2ef64a0fb478258cd1560b7)
# Conflicts:
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Server/WorldSession.cpp
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 2253540eb16..0d8b6760f14 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -994,7 +994,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder const& holder) std::string IP_str = GetRemoteAddress(); TC_LOG_INFO("entities.player.character", "Account: %d (IP: %s) Login Character:[%s] %s Level: %d, XP: %u/%u (%u left)", GetAccountId(), IP_str.c_str(), pCurrChar->GetName().c_str(), pCurrChar->GetGUID().ToString().c_str(), pCurrChar->GetLevel(), - _player->GetXP(), _player->GetXPForNextLevel(), _player->GetXPForNextLevel() - _player->GetXP()); + _player->GetXP(), _player->GetXPForNextLevel(), std::max(0, (int32)_player->GetXPForNextLevel() - (int32)_player->GetXP())); if (!pCurrChar->IsStandState() && !pCurrChar->HasUnitState(UNIT_STATE_STUNNED)) pCurrChar->SetStandState(UNIT_STAND_STATE_STAND); diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 9da7b5c9b83..18b46ffd73e 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -590,7 +590,7 @@ void WorldSession::LogoutPlayer(bool save) _player->CleanupsBeforeDelete(); TC_LOG_INFO("entities.player.character", "Account: %d (IP: %s) Logout Character:[%s] %s Level: %d, XP: %u/%u (%u left)", GetAccountId(), GetRemoteAddress().c_str(), _player->GetName().c_str(), _player->GetGUID().ToString().c_str(), _player->GetLevel(), - _player->GetXP(), _player->GetXPForNextLevel(), _player->GetXPForNextLevel() - _player->GetXP()); + _player->GetXP(), _player->GetXPForNextLevel(), std::max(0, (int32)_player->GetXPForNextLevel() - (int32)_player->GetXP())); if (Map* _map = _player->FindMap()) _map->RemovePlayerFromMap(_player, true); |