mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 01:08:35 +00:00
feat(Scripts/Commands): Add group revive command (#22204)
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
--
|
||||
DELETE FROM `command` WHERE `name` = 'group revive';
|
||||
INSERT INTO `command` (`name`, `security`, `help`) VALUES
|
||||
('group revive', 2, 'Syntax: .group revive\r\n\r\nRevives all players in your group.');
|
||||
@@ -36,6 +36,7 @@ public:
|
||||
{ "join", HandleGroupJoinCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "remove", HandleGroupRemoveCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "disband", HandleGroupDisbandCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "revive", HandleGroupReviveCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "leader", HandleGroupLeaderCommand, SEC_GAMEMASTER, Console::No }
|
||||
};
|
||||
|
||||
@@ -257,6 +258,39 @@ public:
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupReviveCommand(ChatHandler* handler, Optional<PlayerIdentifier> target)
|
||||
{
|
||||
if (!target)
|
||||
target = PlayerIdentifier::FromTargetOrSelf(handler);
|
||||
|
||||
if (!target)
|
||||
return false;
|
||||
|
||||
Player* targetPlayer = target->GetConnectedPlayer();
|
||||
Group* group = targetPlayer->GetGroup();
|
||||
std::string nameLink = handler->playerLink(target->GetName());
|
||||
|
||||
if (!group)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_NOT_IN_GROUP, nameLink);
|
||||
return false;
|
||||
}
|
||||
|
||||
for (GroupReference* it = group->GetFirstMember(); it != nullptr; it = it->next())
|
||||
{
|
||||
Player* target = it->GetSource();
|
||||
if (target)
|
||||
{
|
||||
target->RemoveAurasDueToSpell(27827); // Spirit of Redemption
|
||||
target->ResurrectPlayer(!AccountMgr::IsPlayerAccount(target->GetSession()->GetSecurity()) ? 1.0f : 0.5f);
|
||||
target->SpawnCorpseBones();
|
||||
target->SaveToDB(false, false);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_group_commandscript()
|
||||
|
||||
Reference in New Issue
Block a user