From 554c28d56b9fdbd70f9c1376d0cad5e72a357c87 Mon Sep 17 00:00:00 2001 From: Keader Date: Fri, 23 Dec 2016 18:02:31 -0300 Subject: Core/Ulduar: Fixed XT002 Heart phase Closes #18557 Thanks to xinef1 * Fixed Heart Phase * Fixed Combat bug with Heart after wipe * Added DespawnAtEvadeMethod --- .../scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index c77d21035d0..edc73bca889 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -209,6 +209,12 @@ class boss_xt002 : public CreatureScript instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER); } + void EnterEvadeMode(EvadeReason /*why*/) override + { + summons.DespawnAll(); + _DespawnAtEvade(); + } + void EnterCombat(Unit* /*who*/) override { Talk(SAY_AGGRO); @@ -444,24 +450,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: -- cgit v1.2.3