aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp23
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp22
2 files changed, 43 insertions, 2 deletions
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp
index c5f7b402df6..cae3a17ff02 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp
@@ -225,15 +225,21 @@ struct TRINITY_DLL_DECL mob_towering_infernalAI : public ScriptedAI
{
mob_towering_infernalAI(Creature *c) : ScriptedAI(c)
{
- Reset();
+ pInstance = ((ScriptedInstance*)c->GetInstanceData());
+ if(pInstance)
+ AnetheronGUID = pInstance->GetData64(DATA_ANETHERON);
}
uint32 ImmolationTimer;
+ uint32 CheckTimer;
+ uint64 AnetheronGUID;
+ ScriptedInstance* pInstance;
void Reset()
{
DoCast(m_creature, SPELL_INFERNO_EFFECT);
ImmolationTimer = 5000;
+ CheckTimer = 5000;
}
void Aggro(Unit *who)
@@ -262,6 +268,21 @@ struct TRINITY_DLL_DECL mob_towering_infernalAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
+ if(CheckTimer < diff)
+ {
+ if(AnetheronGUID)
+ {
+ Creature* boss = Unit::GetCreature((*m_creature),AnetheronGUID);
+ if(!boss || (boss && boss->isDead()))
+ {
+ m_creature->setDeathState(JUST_DIED);
+ m_creature->RemoveCorpse();
+ return;
+ }
+ }
+ CheckTimer = 5000;
+ }else CheckTimer -= diff;
+
//Return since we have no target
if (!UpdateVictim())
return;
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp
index fac53fbda02..9bdee9887e5 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp
@@ -188,17 +188,22 @@ struct TRINITY_DLL_DECL mob_lesser_doomguardAI : public hyjal_trashAI
mob_lesser_doomguardAI(Creature *c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- Reset();
+ if(pInstance)
+ AzgalorGUID = pInstance->GetData64(DATA_AZGALOR);
}
uint32 CrippleTimer;
uint32 WarstompTimer;
+ uint32 CheckTimer;
+ uint64 AzgalorGUID;
+ ScriptedInstance* pInstance;
void Reset()
{
CrippleTimer = 50000;
WarstompTimer = 10000;
DoCast(m_creature, SPELL_THRASH);
+ CheckTimer = 5000;
}
void Aggro(Unit *who)
@@ -231,6 +236,21 @@ struct TRINITY_DLL_DECL mob_lesser_doomguardAI : public hyjal_trashAI
void UpdateAI(const uint32 diff)
{
+ if(CheckTimer < diff)
+ {
+ if(AzgalorGUID)
+ {
+ Creature* boss = Unit::GetCreature((*m_creature),AzgalorGUID);
+ if(!boss || (boss && boss->isDead()))
+ {
+ m_creature->setDeathState(JUST_DIED);
+ m_creature->RemoveCorpse();
+ return;
+ }
+ }
+ CheckTimer = 5000;
+ }else CheckTimer -= diff;
+
//Return since we have no target
if (!UpdateVictim() )
return;