diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index b246a23a7ac..edbc45017c2 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -105,7 +105,10 @@ class npc_millhouse_manastorm : public CreatureScript Initialize(); if (instance->GetData(DATA_WARDEN_2) == DONE) + { Init = true; + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC); + } if (instance->GetBossState(DATA_HARBINGER_SKYRISS) == DONE) Talk(SAY_COMPLETE); @@ -177,6 +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); 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 fbea284b7bb..3de1123fef5 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -97,9 +97,9 @@ class boss_harbinger_skyriss : public CreatureScript void Reset() override { - if (!Intro) - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + _Reset(); + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); Initialize(); } @@ -130,6 +130,9 @@ class boss_harbinger_skyriss : public CreatureScript if (me->GetVictim()) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) summon->AI()->AttackStart(target); + + summons.Summon(summon); + summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); } void KilledUnit(Unit* victim) override @@ -285,7 +288,8 @@ class boss_harbinger_skyriss_illusion : public CreatureScript void Reset() override { - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); } void JustEngagedWith(Unit* /*who*/) override { }