diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-01-02 03:18:22 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2018-01-02 03:24:37 -0300 |
commit | f8b148c3346e6d5017bf3b044cc36bce32c0cf45 (patch) | |
tree | 0aeeff5b5e48a6c024f40e8368c20ccfb8ed7192 /src | |
parent | a5d4f34c3158bbbd65436bd2bd1dd8a9fad1ff52 (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.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp | 12 |
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 { } |