aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp10
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp6
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