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?
This commit is contained in:
ariel-
2018-01-02 03:18:22 -03:00
parent a5d4f34c31
commit f8b148c334
2 changed files with 12 additions and 4 deletions

View File

@@ -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;

View File

@@ -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 { }