void UpdateAI(const uint32 uiDiff) { if (!m_uiPlayerGUID || !m_bEventStarted) return; if (!m_uiMobCount && m_uiWaveCount < 4) { if (!m_bWaveAnnounced && m_uiAnnounceTimer < uiDiff) { DoScriptText(WavesInfo[m_uiWaveCount].iTextId, m_creature); m_bWaveAnnounced = true; } else m_uiAnnounceTimer -= uiDiff; if (m_uiWaveTimer < uiDiff) SummonWave(); else m_uiWaveTimer -= uiDiff; } if (m_uiCheckTimer < uiDiff) { CheckEventFail(); m_uiCheckTimer = 2000; } else m_uiCheckTimer -= uiDiff; if (m_bEventFailed) Reset(); }
void UpdateAI(const uint32 diff) { if (!PlayerGUID || !EventStarted) return; if (WaveCount < 4) { if (!Announced && AnnounceTimer <= diff) { DoScriptText(WavesInfo[WaveCount].WaveTextId, me); Announced = true; } else AnnounceTimer -= diff; if (WaveTimer <= diff) SummonNextWave(); else WaveTimer -= diff; } CheckEventFail(); if (WaveCount == 4 || Failed) EnterEvadeMode(); };