diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Outland/BlackTemple/boss_illidan.cpp | 10 | ||||
-rw-r--r-- | src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp | 6 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 260c496c92c..bd0d3b03117 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -235,7 +235,8 @@ enum IllidanPhases PHASE_MINIONS, PHASE_2, PHASE_3, - PHASE_4 + PHASE_4, + PHASE_OUTRO }; enum IllidanSplineMovement @@ -1621,12 +1622,12 @@ struct npc_maiev : public ScriptedAI { npc_maiev(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _canDown(true) { } - void Reset() override + void JustAppeared() override { if (Creature* illidan = _instance->GetCreature(DATA_ILLIDAN_STORMRAGE)) me->SetFacingToObject(illidan); me->SetReactState(REACT_PASSIVE); - _events.SetPhase(PHASE_INTRO); + _events.SetPhase(PHASE_OUTRO); _events.ScheduleEvent(EVENT_MAIEV_APPEAR, 1s); _events.ScheduleEvent(EVENT_MAIEV_EXCLAMATION, 2s); _events.ScheduleEvent(EVENT_MAIEV_JUSTICE_TEXT, 14s); @@ -1647,6 +1648,7 @@ struct npc_maiev : public ScriptedAI if (actionId == ACTION_START_OUTRO) { _events.Reset(); + _events.SetPhase(PHASE_OUTRO); me->SetReactState(REACT_PASSIVE); me->AttackStop(); if (Creature* illidan = _instance->GetCreature(DATA_ILLIDAN_STORMRAGE)) @@ -1671,7 +1673,7 @@ struct npc_maiev : public ScriptedAI void UpdateAI(uint32 diff) override { - if (!UpdateVictim() && !_events.IsInPhase(PHASE_INTRO)) + if (!_events.IsInPhase(PHASE_OUTRO) && !UpdateVictim()) return; if (me->HasUnitState(UNIT_STATE_CASTING)) diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index f3185f545d6..c8785f30bdf 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -656,6 +656,12 @@ struct npc_reliquary_combat_trigger : public ScriptedAI { SetCombatMovement(false); creature->m_SightDistance = 70.0f; + SetBoundary(_instance->GetBossBoundary(DATA_RELIQUARY_OF_SOULS)); + } + + bool CanAIAttack(Unit const* who) const override + { + return ScriptedAI::CanAIAttack(who) && IsInBoundary(who); } void Reset() override |