void UpdateAI(const uint32 uiDiff)
    {
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

        if (!m_bHealthBelow && m_creature->GetHealthPercent() <= 30.0f)
        {
            if (m_pInstance)
                PrepareAndDescendMount();

            m_bHealthBelow = true;
        }

        DoMeleeAttackIfReady();
    }
    void UpdateAI(const uint32 uiDiff)
    {
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

        if (!m_bHealthBelow && m_creature->GetHealthPercent() <= 30.0f)
        {
            if (m_pInstance)
                PrepareAndDescendMount();

            m_bHealthBelow = true;
        }

        if (m_uiRevengeTimer < uiDiff)
        {
            if (DoCastSpellIfCan(m_creature->getVictim(), m_bIsRegularMode ? SPELL_REVENGE : SPELL_REVENGE_H) == CAST_OK)
                m_uiRevengeTimer = urand(11400, 14300);
        }
        else
            m_uiRevengeTimer -= uiDiff;

        DoMeleeAttackIfReady();
    }