void UpdateAI(const uint32 uiDiff) override { if (m_bIsComplete || !m_creature->isAlive()) return; if (m_uiSpawnButtressTimer <= uiDiff) { if (m_uiButtressCount >= MAX_BUTTRESS) { m_creature->CastSpell(m_creature, SPELL_SUCKER_DESPAWN_MOB, TRIGGERED_NONE); if (m_creature->isInCombat()) { m_creature->DeleteThreatList(); m_creature->CombatStop(); } m_bIsComplete = true; return; } m_uiSpawnButtressTimer = 45000; DoSpawnButtress(); } else m_uiSpawnButtressTimer -= uiDiff; if (m_uiSpawnDemonTimer <= uiDiff) { DoSpawnDemon(); m_uiSpawnDemonTimer = 15000; } else m_uiSpawnDemonTimer -= uiDiff; }
void UpdateAI(uint32 const uiDiff) { if (m_bIsComplete || !me->IsAlive()) return; if (m_uiSpawnButtressTimer <= uiDiff) { if (m_uiButtressCount >= MAX_BUTTRESS) { me->CastSpell(me, SPELL_SUCKER_DESPAWN_MOB, false); if (me->IsInCombat()) { me->RemoveAllAuras(); me->DeleteThreatList(); me->CombatStop(true); } m_bIsComplete = true; return; } m_uiSpawnButtressTimer = 45000; DoSpawnButtress(); } else m_uiSpawnButtressTimer -= uiDiff; if (m_uiSpawnDemonTimer <= uiDiff) { DoSpawnDemon(); m_uiSpawnDemonTimer = 15000; } else m_uiSpawnDemonTimer -= uiDiff; }