aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp27
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: