mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
[7693] Allow use .revive command in console, support revive offline players. Author: VladimirMangos
--HG-- branch : trunk
This commit is contained in:
@@ -640,7 +640,7 @@ ChatCommand * ChatHandler::getCommandTable()
|
||||
{ "commands", SEC_PLAYER, true, &ChatHandler::HandleCommandsCommand, "", NULL },
|
||||
{ "demorph", SEC_GAMEMASTER, false, &ChatHandler::HandleDeMorphCommand, "", NULL },
|
||||
{ "die", SEC_ADMINISTRATOR, false, &ChatHandler::HandleDieCommand, "", NULL },
|
||||
{ "revive", SEC_ADMINISTRATOR, false, &ChatHandler::HandleReviveCommand, "", NULL },
|
||||
{ "revive", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReviveCommand, "", NULL },
|
||||
{ "dismount", SEC_PLAYER, false, &ChatHandler::HandleDismountCommand, "", NULL },
|
||||
{ "gps", SEC_MODERATOR, false, &ChatHandler::HandleGPSCommand, "", NULL },
|
||||
{ "guid", SEC_GAMEMASTER, false, &ChatHandler::HandleGUIDCommand, "", NULL },
|
||||
|
||||
@@ -4024,33 +4024,44 @@ bool ChatHandler::HandleModifyArenaCommand(const char * args)
|
||||
|
||||
bool ChatHandler::HandleReviveCommand(const char* args)
|
||||
{
|
||||
Player* SelectedPlayer = NULL;
|
||||
Player* player = NULL;
|
||||
uint32 player_guid = 0;
|
||||
|
||||
if (*args)
|
||||
{
|
||||
std::string name = extractPlayerNameFromLink((char*)args);
|
||||
if(name.empty())
|
||||
if (name.empty())
|
||||
{
|
||||
SendSysMessage(LANG_PLAYER_NOT_FOUND);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
SelectedPlayer = objmgr.GetPlayer(name.c_str());
|
||||
player = objmgr.GetPlayer(name.c_str());
|
||||
if (!player)
|
||||
player_guid = objmgr.GetPlayerGUIDByName(name);
|
||||
}
|
||||
else
|
||||
SelectedPlayer = getSelectedPlayer();
|
||||
player = getSelectedPlayer();
|
||||
|
||||
if(!SelectedPlayer)
|
||||
if (player)
|
||||
{
|
||||
player->ResurrectPlayer(0.5f);
|
||||
player->SpawnCorpseBones();
|
||||
player->SaveToDB();
|
||||
}
|
||||
else if (player_guid)
|
||||
{
|
||||
// will resurrected at login without corpse
|
||||
ObjectAccessor::Instance().ConvertCorpseForPlayer(player_guid);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendSysMessage(LANG_NO_CHAR_SELECTED);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
SelectedPlayer->ResurrectPlayer(0.5f);
|
||||
SelectedPlayer->SpawnCorpseBones();
|
||||
SelectedPlayer->SaveToDB();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user