Beispiel #1
0
        void UpdateAI(const uint32 diff)
        {
            if (!UpdateVictim())
                return;

            boss_moroes_guestAI::UpdateAI(diff);

            if (PowerWordShield_Timer <= diff)
            {
                DoCast(me, SPELL_PWSHIELD);
                PowerWordShield_Timer = 15000;
            } else PowerWordShield_Timer -= diff;

            if (GreaterHeal_Timer <= diff)
            {
                Unit *pTarget = SelectGuestTarget();

                DoCast(pTarget, SPELL_GREATERHEAL);
                GreaterHeal_Timer = 17000;
            } else GreaterHeal_Timer -= diff;

            if (HolyFire_Timer <= diff)
            {
                DoCast(me->getVictim(), SPELL_HOLYFIRE);
                HolyFire_Timer = 22000;
            } else HolyFire_Timer -= diff;

            if (DispelMagic_Timer <= diff)
            {
                if (Unit *pTarget = RAND(SelectGuestTarget(), SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)))
                    DoCast(pTarget, SPELL_DISPELMAGIC);

                DispelMagic_Timer = 25000;
            } else DispelMagic_Timer -= diff;
        }
Beispiel #2
0
    void UpdateAI(const uint32 diff)
    {
        if (!UpdateVictim())
            return;

        boss_moroes_guestAI::UpdateAI(diff);

        if (DivineShield_Timer <= diff)
        {
            DoCast(me, SPELL_DIVINESHIELD);
            DivineShield_Timer = 31000;
        }
        else DivineShield_Timer -= diff;

        if (HolyLight_Timer <= diff)
        {
            Unit* pTarget = SelectGuestTarget();

            DoCast(pTarget, SPELL_HOLYLIGHT);
            HolyLight_Timer = 10000;
        }
        else HolyLight_Timer -= diff;

        if (GreaterBless_Timer <= diff)
        {
            Unit* pTarget = SelectGuestTarget();

            DoCast(pTarget, SPELL_GREATERBLESSOFMIGHT);

            GreaterBless_Timer = 50000;
        }
        else GreaterBless_Timer -= diff;

        if (Cleanse_Timer <= diff)
        {
            Unit* pTarget = SelectGuestTarget();

            DoCast(pTarget, SPELL_CLEANSE);

            Cleanse_Timer = 10000;
        }
        else Cleanse_Timer -= diff;
    }