From d4c75dddea881d544524ac4373f097f15a603c18 Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 27 Apr 2009 18:46:44 -0500 Subject: [7720] Fixed crash at .character level use from console. Include GM name in message for command target if report need. Author: VladimirMangos --HG-- branch : trunk --- src/game/Level3.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 0b5923f3f19..ca1ef59ec6c 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -4494,12 +4494,15 @@ void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint3 player->InitTalentForLevel(); player->SetUInt32Value(PLAYER_XP,0); - if(oldlevel == newlevel) - ChatHandler(player).SendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET); - else if(oldlevel < newlevel) - ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,newlevel-oldlevel); - else // if(oldlevel > newlevel) - ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,newlevel-oldlevel); + if(needReportToTarget(player)) + { + if(oldlevel == newlevel) + ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET,GetNameLink().c_str()); + else if(oldlevel < newlevel) + ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,GetNameLink().c_str(),newlevel); + else // if(oldlevel > newlevel) + ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,GetNameLink().c_str(),newlevel); + } } else { @@ -4592,7 +4595,7 @@ bool ChatHandler::HandleCharacterLevelCommand(const char* args) HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel); - if(m_session->GetPlayer() != chr) // including player==NULL + if(m_session && m_session->GetPlayer() != chr) // including player==NULL { std::string nameLink = playerLink(name); PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel); @@ -4677,11 +4680,12 @@ bool ChatHandler::HandleLevelUpCommand(const char* args) HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel); - if(m_session->GetPlayer() != chr) // including chr==NULL + if(m_session && m_session->GetPlayer() != chr) // including chr==NULL { std::string nameLink = playerLink(name); PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel); } + return true; } -- cgit v1.2.3