Core/Ulduar: Fixed XT002 Heart phase

Closes #18557
Thanks to xinef1
* Fixed Heart Phase
* Fixed Combat bug with Heart after wipe
* Added DespawnAtEvadeMethod
This commit is contained in:
Keader
2016-12-23 18:02:31 -03:00
committed by Aokromes
parent 54d6d0ead3
commit d192ff2e7c
2 changed files with 14 additions and 14 deletions

View File

@@ -0,0 +1 @@
UPDATE `vehicle_template_accessory` SET `minion`=0 WHERE `entry`=33293 AND `accessory_entry`=33329;

View File

@@ -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: