void UpdateAI(const uint32 diff) { if (AnimationTimer) { if (AnimationTimer <= diff) HandleAnimation(); else AnimationTimer -= diff; } if (AnimationCount < 65) me->CombatStop(); if (AnimationCount == 65 || eventEnd) me->AI()->EnterEvadeMode(); }
void UpdateAI(const uint32 uiDiff) { if (m_uiAnimationCount < 7) { if (m_uiAnimationTimer < uiDiff) HandleAnimation(); else m_uiAnimationTimer -= uiDiff; } else { if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; if (m_uiCleaveTimer < uiDiff) { DoCastSpellIfCan(m_creature->getVictim(), SPELL_CLEAVE); m_uiCleaveTimer = 15000; } else m_uiCleaveTimer -= uiDiff; if (m_uiShadowfuryTimer < uiDiff) { DoCastSpellIfCan(m_creature->getVictim(), SPELL_SHADOWFURY); m_uiShadowfuryTimer = 20000; } else m_uiShadowfuryTimer -= uiDiff; if (m_uiSpellReflectionTimer < uiDiff) { DoCastSpellIfCan(m_creature, SPELL_SPELL_REFLECTION); m_uiSpellReflectionTimer = 30000; } else m_uiSpellReflectionTimer -= uiDiff; DoMeleeAttackIfReady(); } }