diff options
author | Keader <keader.android@gmail.com> | 2020-11-05 12:05:14 -0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-28 23:46:41 +0100 |
commit | 281aef7c40f2a222b1189bbd6573d020653673db (patch) | |
tree | 93d6029e5b60f9245ff0b780e7c92e32166b20a9 /src | |
parent | 442824e807d82d8f97568b25501a8dffe8bbec71 (diff) |
Scripts/Black Temple: Some little fixes
- Fixed Reliquary of Souls ignoring boundary
- Fixed Maiev texts timer
- Fixed Shadow Prison hitting every single npc on black temple
Many thanks to Ovahlord
(cherry picked from commit 83e0a70ddce81ac3d3552689d975b0f2c0262b49)
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 |