void instance_sunwell_plateau::Update(uint32 uiDiff)
{
    // Only check for Spectral Realm if Kalecgos Encounter is running
    if (m_auiEncounter[TYPE_KALECGOS] == IN_PROGRESS)
    {
        if (m_uiSpectralRealmTimer <= uiDiff)
        {
            DoEjectSpectralRealmPlayers();
            m_uiSpectralRealmTimer = 1000;
        }
        else
            m_uiSpectralRealmTimer -= uiDiff;
    }

    // Muru berserk timer; needs to be done here because it involves two distinct creatures
    if (m_auiEncounter[TYPE_MURU] == IN_PROGRESS)
    {
        if (m_uiMuruBerserkTimer <= uiDiff)
        {
            if (Creature* pEntrpius = GetSingleCreatureFromStorage(NPC_ENTROPIUS, true))
                pEntrpius->CastSpell(pEntrpius, SPELL_MURU_BERSERK, true);
            else if (Creature* pMuru = GetSingleCreatureFromStorage(NPC_MURU))
                pMuru->CastSpell(pMuru, SPELL_MURU_BERSERK, true);

            m_uiMuruBerserkTimer = 10*MINUTE*IN_MILLISECONDS;
        }
        else
            m_uiMuruBerserkTimer -= uiDiff;
    }
}
Beispiel #2
0
void instance_sunwell_plateau::Update(uint32 uiDiff)
{
    // Only check for Spectral Realm if Kalecgos Encounter is running
    if (m_auiEncounter[TYPE_KALECGOS] == IN_PROGRESS)
    {
        if (m_uiSpectralRealmTimer <= uiDiff)
        {
            DoEjectSpectralRealmPlayers();
            m_uiSpectralRealmTimer = 1000;
        }
        else
            m_uiSpectralRealmTimer -= uiDiff;
    }
}