fix(Core/ObjectGuid): prevent creating copies when looping objects (#6852)

This commit is contained in:
Francesco Borzì
2021-07-10 15:54:16 +02:00
committed by GitHub
parent 2fcafa5f39
commit 4103fca5a4
40 changed files with 69 additions and 69 deletions

View File

@@ -187,7 +187,7 @@ public:
if (type == DATA_SHADE_OF_AKAMA && state == DONE)
{
for (ObjectGuid const guid : ashtongueGUIDs)
for (ObjectGuid const& guid : ashtongueGUIDs)
if (Creature* ashtongue = instance->GetCreature(guid))
ashtongue->setFaction(FACTION_ASHTONGUE);
}
@@ -293,7 +293,7 @@ public:
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
for (ObjectGuid const guid : _turtleSet)
for (ObjectGuid const& guid : _turtleSet)
if (Creature* turtle = ObjectAccessor::GetCreature(*GetUnitOwner(), guid))
{
turtle->TauntFadeOut(GetUnitOwner());

View File

@@ -218,7 +218,7 @@ public:
void ResetPrisoners(GuidSet prisoners)
{
for (ObjectGuid guid : prisoners)
for (ObjectGuid const& guid : prisoners)
if (Creature* prisoner = instance->GetCreature(guid))
ResetPrisoner(prisoner);
}
@@ -300,7 +300,7 @@ public:
void ActivatePrisoners(GuidSet prisoners)
{
for (ObjectGuid guid : prisoners)
for (ObjectGuid const& guid : prisoners)
if (Creature* prisoner = instance->GetCreature(guid))
{
prisoner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE);

View File

@@ -118,7 +118,7 @@ public:
{
if (state == IN_PROGRESS)
{
for (ObjectGuid const guid : _wardersSet)
for (ObjectGuid const& guid : _wardersSet)
if (Creature* warder = instance->GetCreature(guid))
if (warder->IsAlive())
{
@@ -128,7 +128,7 @@ public:
}
else
{
for (ObjectGuid const guid : _cubesSet)
for (ObjectGuid const& guid : _cubesSet)
if (GameObject* cube = instance->GetGameObject(guid))
cube->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
@@ -149,12 +149,12 @@ public:
magtheridon->SetInCombatWithZone();
break;
case DATA_ACTIVATE_CUBES:
for (ObjectGuid const guid : _cubesSet)
for (ObjectGuid const& guid : _cubesSet)
if (GameObject* cube = instance->GetGameObject(guid))
cube->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case DATA_COLLAPSE:
for (ObjectGuid const guid : _columnSet)
for (ObjectGuid const& guid : _columnSet)
if (GameObject* column = instance->GetGameObject(guid))
column->SetGoState(GOState(data));
break;

View File

@@ -105,7 +105,7 @@ public:
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
for (ObjectGuid const guid : _falconSet)
for (ObjectGuid const& guid : _falconSet)
if (Creature* falcon = ObjectAccessor::GetCreature(*GetUnitOwner(), guid))
{
falcon->TauntFadeOut(GetUnitOwner());

View File

@@ -1097,7 +1097,7 @@ public:
{
if (!summons.empty())
{
for (ObjectGuid guid : summons)
for (ObjectGuid const& guid : summons)
if (Creature* cr = ObjectAccessor::GetCreature(*me, guid))
{
float x, y, z, o;