[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
This commit is contained in:
megamage
2009-04-27 18:46:44 -05:00
parent f62415a30c
commit d4c75dddea
3 changed files with 23 additions and 12 deletions
+12 -8
View File
@@ -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;
}