aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCraftedRO <24683355+CraftedRO@users.noreply.github.com>2021-04-04 23:01:46 +0300
committerGitHub <noreply@github.com>2021-04-04 22:01:46 +0200
commitdb69b832b9d5da1f755824a36fed37b1b4e39dcd (patch)
tree128ca40b09a29da066312661e6558d25ee5c13bc /src
parent00da074109e713280264761eedfbf6e5dc7ef912 (diff)
Group repair command attempt (#26304)
* Group repair command attempt * Update cs_group.cpp
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_group.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index 94d090b12d7..f9b36afb67e 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -61,6 +61,7 @@ public:
{ "list", rbac::RBAC_PERM_COMMAND_GROUP_LIST, false, &HandleGroupListCommand, "" },
{ "summon", rbac::RBAC_PERM_COMMAND_GROUP_SUMMON, false, &HandleGroupSummonCommand, "" },
{ "revive", rbac::RBAC_PERM_COMMAND_REVIVE, true, &HandleGroupReviveCommand, "" },
+ { "repair", rbac::RBAC_PERM_COMMAND_REPAIRITEMS, true, &HandleGroupRepairCommand, "" },
{ "level", rbac::RBAC_PERM_COMMAND_CHARACTER_LEVEL, true, &HandleGroupLevelCommand, "" }
};
@@ -139,6 +140,30 @@ public:
return true;
}
+ // Repair group of players
+ static bool HandleGroupRepairCommand(ChatHandler* handler, char const* args)
+ {
+ Player* playerTarget;
+ ObjectGuid playerTargetGuid;
+ if (!handler->extractPlayerTarget((char*)args, &playerTarget, &playerTargetGuid))
+ return false;
+
+ Group* groupTarget = playerTarget->GetGroup();
+ if (!groupTarget)
+ return false;
+
+ for (GroupReference* it = groupTarget->GetFirstMember(); it != nullptr; it = it->next())
+ {
+ Player* target = it->GetSource();
+ if (target)
+ {
+ target->DurabilityRepairAll(false, 0, false);
+ }
+ }
+
+ return true;
+ }
+
// Summon group of player
static bool HandleGroupSummonCommand(ChatHandler* handler, char const* args)
{