diff options
author | Necroo <none@none> | 2009-07-19 13:36:55 +0200 |
---|---|---|
committer | Necroo <none@none> | 2009-07-19 13:36:55 +0200 |
commit | a91296aec675dda685e14e02a574a4ec7d4e2110 (patch) | |
tree | b54a7d44c301417f27617fe37a47127779d929fc | |
parent | b7ac1c253b8e16ecf993df35adbf0e323fa95c08 (diff) |
*Add cooldown timer for boss Grand Magus Telestra.
--HG--
branch : trunk
-rw-r--r-- | src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp b/src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp index cec5e3546e5..24482bf837a 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp +++ b/src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp @@ -83,6 +83,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI uint32 SPELL_ICE_NOVA_Timer; uint32 SPELL_FIREBOMB_Timer; uint32 SPELL_GRAVITY_WELL_Timer; + uint32 Cooldown; void Reset() { @@ -91,6 +92,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI SPELL_ICE_NOVA_Timer = 7000; SPELL_FIREBOMB_Timer = 0; SPELL_GRAVITY_WELL_Timer = 15000; + Cooldown = 0; FireMagusGUID = 0; FrostMagusGUID = 0; @@ -238,26 +240,44 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI return; } + if(Cooldown) + { + if(Cooldown < diff) + Cooldown = 0; + else + { + Cooldown -= diff; + return; + } + } + if (SPELL_ICE_NOVA_Timer < diff) { - m_creature->CastStop(); if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) + { DoCast(target, HeroicMode ? SPELL_ICE_NOVA_H : SPELL_ICE_NOVA_N); + Cooldown = 1500; + } SPELL_ICE_NOVA_Timer = 15000; }else SPELL_ICE_NOVA_Timer -=diff; if (SPELL_GRAVITY_WELL_Timer < diff) { - m_creature->CastStop(); if (Unit* target = m_creature->getVictim()) + { DoCast(target, SPELL_GRAVITY_WELL); + Cooldown = 6000; + } SPELL_GRAVITY_WELL_Timer = 15000; }else SPELL_GRAVITY_WELL_Timer -=diff; if (SPELL_FIREBOMB_Timer < diff) { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) + { DoCast(target, HeroicMode ? SPELL_FIREBOMB_H : SPELL_FIREBOMB_N); + Cooldown = 2000; + } SPELL_FIREBOMB_Timer = 2000; }else SPELL_FIREBOMB_Timer -=diff; |