From 0792739a98ea5c58e8b99ce8825bccb4a43021cc Mon Sep 17 00:00:00 2001 From: ariel- Date: Tue, 2 Jan 2018 03:18:22 -0300 Subject: [PATCH] Core/Scripts: fixed npc immunity flags during Harbinger Skyriss encounter - Added missing _Reset - Properly register Skyriss summons in SummonList Closes #21154 Who ordered up an extra large can of whoop-ass? (cherry picked from commit f8b148c3346e6d5017bf3b044cc36bce32c0cf45) --- .../scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp | 4 ++-- .../TempestKeep/arcatraz/boss_harbinger_skyriss.cpp | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index b8ab16279a2..c11b29fbfc5 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -107,7 +107,7 @@ class npc_millhouse_manastorm : public CreatureScript if (instance->GetData(DATA_WARDEN_2) == DONE) { Init = true; - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC); + me->SetImmuneToNPC(false); } if (instance->GetBossState(DATA_HARBINGER_SKYRISS) == DONE) @@ -180,7 +180,7 @@ class npc_millhouse_manastorm : public CreatureScript case 7: instance->SetData(DATA_WARDEN_2, DONE); Init = true; - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC); + me->SetImmuneToNPC(false); break; } ++Phase; diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp index 93b04658369..6b9d2533fed 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -98,10 +98,9 @@ class boss_harbinger_skyriss : public CreatureScript void Reset() override { - if (!Intro) - me->SetImmuneToPC(true); + _Reset(); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + me->SetImmuneToAll(!Intro); Initialize(); } @@ -134,7 +133,7 @@ class boss_harbinger_skyriss : public CreatureScript summon->AI()->AttackStart(target); summons.Summon(summon); - summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + summon->SetImmuneToAll(false); } void KilledUnit(Unit* victim) override @@ -186,7 +185,7 @@ class boss_harbinger_skyriss : public CreatureScript Intro_Timer = 3000; break; case 3: - me->SetImmuneToPC(false); + me->SetImmuneToAll(false); Intro = true; break; } @@ -290,7 +289,7 @@ class boss_harbinger_skyriss_illusion : public CreatureScript void Reset() override { - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + me->SetImmuneToPC(false); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); }