diff options
author | Keader <keader.android@gmail.com> | 2016-12-23 18:02:31 -0300 |
---|---|---|
committer | DoctorKraft <DoctorKraft@users.noreply.github.com> | 2018-03-18 00:19:32 +0100 |
commit | 7a1f2bf873dca1b89c2e66f51ce03989acc87525 (patch) | |
tree | 40384af20b1a701031410b1f4b8c8cb8d56d8caa /src | |
parent | d35b737b1cefdba10aa0118efdae702b05e84efb (diff) |
Core/Ulduar: Fixed XT002 Heart phase
Closes #18557
Thanks to xinef1
* Fixed Heart Phase
* Fixed Combat bug with Heart after wipe
* Added DespawnAtEvadeMethod
(cherry picked from commit 554c28d56b9fdbd70f9c1376d0cad5e72a357c87)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index 14728976600..a92056767e3 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -212,6 +212,12 @@ class boss_xt002 : public CreatureScript instance->DoStopCriteriaTimer(CRITERIA_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER); } + void EnterEvadeMode(EvadeReason /*why*/) override + { + summons.DespawnAll(); + _DespawnAtEvade(); + } + void EnterCombat(Unit* /*who*/) override { Talk(SAY_AGGRO); @@ -448,24 +454,17 @@ class npc_xt002_heart : public CreatureScript public: npc_xt002_heart() : CreatureScript("npc_xt002_heart") { } - struct npc_xt002_heartAI : public ScriptedAI + struct npc_xt002_heartAI : public NullCreatureAI { - npc_xt002_heartAI(Creature* creature) : ScriptedAI(creature), - _instance(creature->GetInstanceScript()) - { - SetCombatMovement(false); - } - - void UpdateAI(uint32 /*diff*/) override { } + npc_xt002_heartAI(Creature* creature) : NullCreatureAI(creature), _instance(creature->GetInstanceScript()) { } void JustDied(Unit* /*killer*/) override { - Creature* xt002 = _instance ? ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002)) : nullptr; - if (!xt002 || !xt002->AI()) - return; - - xt002->AI()->SetData(DATA_TRANSFERED_HEALTH, me->GetHealth()); - xt002->AI()->DoAction(ACTION_ENTER_HARD_MODE); + if (Creature* xt002 = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002))) + { + xt002->AI()->SetData(DATA_TRANSFERED_HEALTH, me->GetHealth()); + xt002->AI()->DoAction(ACTION_ENTER_HARD_MODE); + } } private: |