Core/Scripts: fixed npc immunity flags during Harbinger Skyriss encounter

- Added missing _Reset

- Properly register Skyriss summons in SummonList
This commit is contained in:
Aokromes
2018-01-03 04:31:51 +01:00
parent 85fe41f0f2
commit 24e7272e48
2 changed files with 11 additions and 3 deletions

View File

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

View File

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