*Violet Hold - Cyangosa: rudimentary timers.

--HG--
branch : trunk
This commit is contained in:
maximius
2009-10-31 00:31:56 -07:00
parent ad12344d6a
commit 664503fea0
2 changed files with 20 additions and 10 deletions
@@ -78,7 +78,7 @@ struct TRINITY_DLL_DECL boss_auriaya_AI : public BossAI
TERRIFYING_SCREECH_Timer = 180000; TERRIFYING_SCREECH_Timer = 180000;
} else TERRIFYING_SCREECH_Timer -= diff; } else TERRIFYING_SCREECH_Timer -= diff;
if (SONIC_BOOM_Timer <= diff) if (SONIC_SCREECH_Timer <= diff)
{ {
DoCastVictim(SPELL_SONIC_SCREECH); DoCastVictim(SPELL_SONIC_SCREECH);
SONIC_SCREECH_Timer = 30000; SONIC_SCREECH_Timer = 30000;
@@ -14,7 +14,7 @@ update creature_template set scriptname = '' where entry = '';
enum Spells enum Spells
{ {
SPELL_ARCANE_VACUM = 58694, SPELL_ARCANE_VACUUM = 58694,
SPELL_BLIZZARD = 58693, SPELL_BLIZZARD = 58693,
H_SPELL_BLIZZARD = 59369, H_SPELL_BLIZZARD = 59369,
SPELL_MANA_DESTRUCTION = 59374, SPELL_MANA_DESTRUCTION = 59374,
@@ -45,7 +45,7 @@ struct TRINITY_DLL_DECL boss_cyanigosaAI : public ScriptedAI
pInstance = c->GetInstanceData(); pInstance = c->GetInstanceData();
} }
uint32 uiArcaneVacumTimer; uint32 uiArcaneVacuumTimer;
uint32 uiBlizzardTimer; uint32 uiBlizzardTimer;
uint32 uiManaDestructionTimer; uint32 uiManaDestructionTimer;
uint32 uiTailSweepTimer; uint32 uiTailSweepTimer;
@@ -55,6 +55,11 @@ struct TRINITY_DLL_DECL boss_cyanigosaAI : public ScriptedAI
void Reset() void Reset()
{ {
uiArcaneVacuumTimer = 10000;
uiBlizzardTimer = 15000;
uiManaDestructionTimer = 30000;
uiTailSweepTimer = 20000;
uiUncontrollableEnergyTimer = 25000;
if (pInstance) if (pInstance)
pInstance->SetData(DATA_CYANIGOSA_EVENT, NOT_STARTED); pInstance->SetData(DATA_CYANIGOSA_EVENT, NOT_STARTED);
} }
@@ -75,25 +80,29 @@ struct TRINITY_DLL_DECL boss_cyanigosaAI : public ScriptedAI
if (!UpdateVictim()) if (!UpdateVictim())
return; return;
if (uiArcaneVacumTimer <= diff) if (uiArcaneVacuumTimer <= diff)
{ {
DoCast(m_creature, SPELL_ARCANE_VACUM); DoCast(SPELL_ARCANE_VACUUM);
} else uiArcaneVacumTimer -= diff; uiArcaneVacuumTimer = 10000;
} else uiArcaneVacuumTimer -= diff;
if (uiBlizzardTimer <= diff) if (uiBlizzardTimer <= diff)
{ {
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, HEROIC(SPELL_BLIZZARD,H_SPELL_BLIZZARD)); DoCast(pTarget, HEROIC(SPELL_BLIZZARD,H_SPELL_BLIZZARD));
uiBlizzardTimer = 15000;
} else uiBlizzardTimer -= diff; } else uiBlizzardTimer -= diff;
if (uiTailSweepTimer <= diff) if (uiTailSweepTimer <= diff)
{ {
DoCast(m_creature, HEROIC(SPELL_TAIL_SWEEP,H_SPELL_TAIL_SWEEP)); DoCast(HEROIC(SPELL_TAIL_SWEEP,H_SPELL_TAIL_SWEEP));
uiTailSweepTimer = 20000;
} else uiTailSweepTimer -= diff; } else uiTailSweepTimer -= diff;
if (uiUncontrollableEnergyTimer <= diff) if (uiUncontrollableEnergyTimer <= diff)
{ {
DoCast(m_creature->getVictim(), HEROIC(SPELL_UNCONTROLLABLE_ENERGY,H_SPELL_UNCONTROLLABLE_ENERGY)); DoCastVictim(HEROIC(SPELL_UNCONTROLLABLE_ENERGY,H_SPELL_UNCONTROLLABLE_ENERGY));
uiUncontrollableEnergyTimer = 25000;
} else uiUncontrollableEnergyTimer -= diff; } else uiUncontrollableEnergyTimer -= diff;
if (HeroicMode) if (HeroicMode)
@@ -101,6 +110,7 @@ struct TRINITY_DLL_DECL boss_cyanigosaAI : public ScriptedAI
{ {
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, SPELL_MANA_DESTRUCTION); DoCast(pTarget, SPELL_MANA_DESTRUCTION);
uiManaDestructionTimer = 30000;
} else uiManaDestructionTimer -= diff; } else uiManaDestructionTimer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();