aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaks Szokalski <42069493+illunix@users.noreply.github.com>2020-08-28 23:13:26 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-04 12:06:01 +0100
commit663ec927947c77a1668515334cf0f2e8c7673d31 (patch)
tree26c43c4f270fde348efe61cb32aa1b8551ee93ef
parent5a20f14a9920a16545d913fc8e444c161c2a92bb (diff)
Scripts: Minor loop refactors (#25325)
(cherry picked from commit dc9e0c1e86efbabb52085b3977ec1258f4fbb986)
-rw-r--r--src/server/scripts/Pet/pet_dk.cpp8
-rw-r--r--src/server/scripts/Pet/pet_hunter.cpp16
2 files changed, 13 insertions, 11 deletions
diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp
index eaa850a1671..902b6c45327 100644
--- a/src/server/scripts/Pet/pet_dk.cpp
+++ b/src/server/scripts/Pet/pet_dk.cpp
@@ -56,12 +56,14 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
Trinity::AnyUnfriendlyUnitInObjectRangeCheck u_check(me, me, 30.0f);
Trinity::UnitListSearcher<Trinity::AnyUnfriendlyUnitInObjectRangeCheck> searcher(me, targets, u_check);
Cell::VisitAllObjects(me, searcher, 30.0f);
- for (std::list<Unit*>::const_iterator iter = targets.begin(); iter != targets.end(); ++iter)
- if ((*iter)->HasAura(SPELL_DK_SUMMON_GARGOYLE_1, ownerGuid))
+ for (Unit* target : targets)
+ {
+ if (target->HasAura(SPELL_DK_SUMMON_GARGOYLE_1, ownerGuid))
{
- me->Attack((*iter), false);
+ me->Attack(target, false);
break;
}
+ }
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Pet/pet_hunter.cpp b/src/server/scripts/Pet/pet_hunter.cpp
index 769867ecbf9..38bb2bb599c 100644
--- a/src/server/scripts/Pet/pet_hunter.cpp
+++ b/src/server/scripts/Pet/pet_hunter.cpp
@@ -78,20 +78,20 @@ class npc_pet_hunter_snake_trap : public CreatureScript
Unit* summoner = me->ToTempSummon()->GetSummonerUnit();
std::vector<Unit*> targets;
- for (std::pair<ObjectGuid const, PvPCombatReference*> const& pair : summoner->GetCombatManager().GetPvPCombatRefs())
+
+ auto addTargetIfValid = [this, &targets, summoner](CombatReference* ref) mutable
{
- Unit* enemy = pair.second->GetOther(summoner);
+ Unit* enemy = ref->GetOther(summoner);
if (!enemy->HasBreakableByDamageCrowdControlAura() && me->CanCreatureAttack(enemy) && me->IsWithinDistInMap(enemy, me->GetAttackDistance(enemy)))
targets.push_back(enemy);
- }
+ };
+
+ for (std::pair<ObjectGuid const, PvPCombatReference*> const& pair : summoner->GetCombatManager().GetPvPCombatRefs())
+ addTargetIfValid(pair.second);
if (targets.empty())
for (std::pair<ObjectGuid const, CombatReference*> const& pair : summoner->GetCombatManager().GetPvECombatRefs())
- {
- Unit* enemy = pair.second->GetOther(summoner);
- if (!enemy->HasBreakableByDamageCrowdControlAura() && me->CanCreatureAttack(enemy) && me->IsWithinDistInMap(enemy, me->GetAttackDistance(enemy)))
- targets.push_back(enemy);
- }
+ addTargetIfValid(pair.second);
for (Unit* target : targets)
me->EngageWithTarget(target);