aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-07-11 17:40:34 +0200
committerShauren <shauren.trinity@gmail.com>2025-07-11 17:40:34 +0200
commitcbb532e4bec11d59f2072441a43b7c797de6d16d (patch)
tree27a0dc63805e527d2f47744963fc2f341493ce27 /src/server/scripts/Commands
parentae197a62b77cd93799571b16756c372081704929 (diff)
Core/Groups: Use iterators instead of raw LinkedListElement to interact with group members
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_group.cpp62
-rw-r--r--src/server/scripts/Commands/cs_tele.cpp7
2 files changed, 27 insertions, 42 deletions
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index 24e412e0c93..83471c9716a 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -92,27 +92,24 @@ public:
if (!groupTarget)
return false;
- for (GroupReference* it = groupTarget->GetFirstMember(); it != nullptr; it = it->next())
+ for (GroupReference const& it : groupTarget->GetMembers())
{
- target = it->GetSource();
- if (target)
- {
- uint8 oldlevel = static_cast<uint8>(target->GetLevel());
+ target = it.GetSource();
+ uint8 oldlevel = static_cast<uint8>(target->GetLevel());
- if (level != oldlevel)
- {
- target->SetLevel(static_cast<uint8>(level));
- target->InitTalentForLevel();
- target->SetXP(0);
- }
+ if (level != oldlevel)
+ {
+ target->SetLevel(static_cast<uint8>(level));
+ target->InitTalentForLevel();
+ target->SetXP(0);
+ }
- if (handler->needReportToTarget(target))
- {
- if (oldlevel < static_cast<uint8>(level))
- ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_LEVEL_UP, handler->GetNameLink().c_str(), level);
- else // if (oldlevel > newlevel)
- ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_LEVEL_DOWN, handler->GetNameLink().c_str(), level);
- }
+ if (handler->needReportToTarget(target))
+ {
+ if (oldlevel < static_cast<uint8>(level))
+ ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_LEVEL_UP, handler->GetNameLink().c_str(), level);
+ else // if (oldlevel > newlevel)
+ ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_LEVEL_DOWN, handler->GetNameLink().c_str(), level);
}
}
return true;
@@ -128,15 +125,12 @@ public:
if (!groupTarget)
return false;
- for (GroupReference* it = groupTarget->GetFirstMember(); it != nullptr; it = it->next())
+ for (GroupReference const& it : groupTarget->GetMembers())
{
- Player* target = it->GetSource();
- if (target)
- {
- target->ResurrectPlayer(target->GetSession()->HasPermission(rbac::RBAC_PERM_RESURRECT_WITH_FULL_HPS) ? 1.0f : 0.5f);
- target->SpawnCorpseBones();
- target->SaveToDB();
- }
+ Player* target = it.GetSource();
+ target->ResurrectPlayer(target->GetSession()->HasPermission(rbac::RBAC_PERM_RESURRECT_WITH_FULL_HPS) ? 1.0f : 0.5f);
+ target->SpawnCorpseBones();
+ target->SaveToDB();
}
return true;
@@ -153,14 +147,8 @@ public:
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);
- }
- }
+ for (GroupReference const& it : groupTarget->GetMembers())
+ it.GetSource()->DurabilityRepairAll(false, 0, false);
return true;
}
@@ -204,11 +192,11 @@ public:
}
}
- for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next())
+ for (GroupReference const& itr : group->GetMembers())
{
- Player* player = itr->GetSource();
+ Player* player = itr.GetSource();
- if (!player || player == gmPlayer || !player->GetSession())
+ if (player == gmPlayer)
continue;
// check online security
diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp
index 0e1b2178bac..48866791fcb 100644
--- a/src/server/scripts/Commands/cs_tele.cpp
+++ b/src/server/scripts/Commands/cs_tele.cpp
@@ -249,12 +249,9 @@ public:
return false;
}
- for (GroupReference* itr = grp->GetFirstMember(); itr != nullptr; itr = itr->next())
+ for (GroupReference const& itr : grp->GetMembers())
{
- Player* player = itr->GetSource();
-
- if (!player || !player->GetSession())
- continue;
+ Player* player = itr.GetSource();
// check online security
if (handler->HasLowerSecurity(player, ObjectGuid::Empty))