aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-01-02 03:18:22 -0300
committerariel- <ariel-@users.noreply.github.com>2018-01-02 03:24:37 -0300
commitf8b148c3346e6d5017bf3b044cc36bce32c0cf45 (patch)
tree0aeeff5b5e48a6c024f40e8368c20ccfb8ed7192 /src
parenta5d4f34c3158bbbd65436bd2bd1dd8a9fad1ff52 (diff)
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?
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp12
2 files changed, 12 insertions, 4 deletions
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index 594ee184245..b62c1fcfc54 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -107,7 +107,10 @@ class npc_millhouse_manastorm : public CreatureScript
Initialize();
if (instance->GetData(DATA_WARDEN_2) == DONE)
+ {
Init = true;
+ me->SetImmuneToNPC(false);
+ }
if (instance->GetBossState(DATA_HARBINGER_SKYRISS) == DONE)
Talk(SAY_COMPLETE);
@@ -179,6 +182,7 @@ class npc_millhouse_manastorm : public CreatureScript
case 7:
instance->SetData(DATA_WARDEN_2, DONE);
Init = true;
+ 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 30c4aa89cf2..b60a76de4c6 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -99,9 +99,9 @@ class boss_harbinger_skyriss : public CreatureScript
void Reset() override
{
- if (!Intro)
- me->SetImmuneToPC(true);
+ _Reset();
+ me->SetImmuneToAll(!Intro);
Initialize();
}
@@ -132,6 +132,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->SetImmuneToAll(false);
}
void KilledUnit(Unit* victim) override
@@ -183,7 +186,7 @@ class boss_harbinger_skyriss : public CreatureScript
Intro_Timer = 3000;
break;
case 3:
- me->SetImmuneToPC(false);
+ me->SetImmuneToAll(false);
Intro = true;
break;
}
@@ -287,7 +290,8 @@ class boss_harbinger_skyriss_illusion : public CreatureScript
void Reset() override
{
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
+ me->SetImmuneToPC(false);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
}
void JustEngagedWith(Unit* /*who*/) override { }