mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Groups: Use iterators instead of raw LinkedListElement to interact with group members
This commit is contained in:
@@ -60,10 +60,9 @@ void EscortAI::JustDied(Unit* /*killer*/)
|
||||
{
|
||||
if (Group* group = player->GetGroup())
|
||||
{
|
||||
for (GroupReference* groupRef = group->GetFirstMember(); groupRef != nullptr; groupRef = groupRef->next())
|
||||
if (Player* member = groupRef->GetSource())
|
||||
if (member->IsInMap(player))
|
||||
member->FailQuest(_escortQuest->GetQuestId());
|
||||
for (GroupReference const& groupRef : group->GetMembers())
|
||||
if (groupRef.GetSource()->IsInMap(player))
|
||||
groupRef.GetSource()->FailQuest(_escortQuest->GetQuestId());
|
||||
}
|
||||
else
|
||||
player->FailQuest(_escortQuest->GetQuestId());
|
||||
@@ -417,10 +416,9 @@ bool EscortAI::IsPlayerOrGroupInRange()
|
||||
{
|
||||
if (Group* group = player->GetGroup())
|
||||
{
|
||||
for (GroupReference* groupRef = group->GetFirstMember(); groupRef != nullptr; groupRef = groupRef->next())
|
||||
if (Player* member = groupRef->GetSource())
|
||||
if (me->IsWithinDistInMap(member, GetMaxPlayerDistance()))
|
||||
return true;
|
||||
for (GroupReference const& groupRef : group->GetMembers())
|
||||
if (me->IsWithinDistInMap(groupRef.GetSource(), GetMaxPlayerDistance()))
|
||||
return true;
|
||||
}
|
||||
else if (me->IsWithinDistInMap(player, GetMaxPlayerDistance()))
|
||||
return true;
|
||||
|
||||
@@ -51,10 +51,9 @@ void FollowerAI::JustDied(Unit* /*killer*/)
|
||||
{
|
||||
if (Group* group = player->GetGroup())
|
||||
{
|
||||
for (GroupReference* groupRef = group->GetFirstMember(); groupRef != nullptr; groupRef = groupRef->next())
|
||||
if (Player* member = groupRef->GetSource())
|
||||
if (member->IsInMap(player))
|
||||
member->FailQuest(_questForFollow);
|
||||
for (GroupReference const& groupRef : group->GetMembers())
|
||||
if (groupRef.GetSource()->IsInMap(player))
|
||||
groupRef.GetSource()->FailQuest(_questForFollow);
|
||||
}
|
||||
else
|
||||
player->FailQuest(_questForFollow);
|
||||
@@ -101,11 +100,9 @@ void FollowerAI::UpdateAI(uint32 uiDiff)
|
||||
{
|
||||
if (Group* group = player->GetGroup())
|
||||
{
|
||||
for (GroupReference* groupRef = group->GetFirstMember(); groupRef && (maxRangeExceeded || questAbandoned); groupRef = groupRef->next())
|
||||
for (GroupReference const& groupRef : group->GetMembers())
|
||||
{
|
||||
Player* member = groupRef->GetSource();
|
||||
if (!member)
|
||||
continue;
|
||||
Player* member = groupRef.GetSource();
|
||||
if (maxRangeExceeded && me->IsWithinDistInMap(member, MAX_PLAYER_DISTANCE))
|
||||
maxRangeExceeded = false;
|
||||
if (questAbandoned)
|
||||
@@ -238,10 +235,10 @@ Player* FollowerAI::GetLeaderForFollower()
|
||||
{
|
||||
if (Group* group = player->GetGroup())
|
||||
{
|
||||
for (GroupReference* groupRef = group->GetFirstMember(); groupRef != nullptr; groupRef = groupRef->next())
|
||||
for (GroupReference const& groupRef : group->GetMembers())
|
||||
{
|
||||
Player* member = groupRef->GetSource();
|
||||
if (member && me->IsWithinDistInMap(member, MAX_PLAYER_DISTANCE) && member->IsAlive())
|
||||
Player* member = groupRef.GetSource();
|
||||
if (me->IsWithinDistInMap(member, MAX_PLAYER_DISTANCE) && member->IsAlive())
|
||||
{
|
||||
TC_LOG_DEBUG("scripts.ai.followerai", "FollowerAI::GetLeaderForFollower: GetLeader changed and returned new leader. ({})", me->GetGUID().ToString());
|
||||
_leaderGUID = member->GetGUID();
|
||||
|
||||
Reference in New Issue
Block a user