//Affliction_Timer if (Affliction_Timer < diff) { std::list::iterator i = m_creature->getThreatManager().getThreatList().begin(); switch (rand()%5) { case 0: for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); if(pUnit) { m_creature->CastSpell(pUnit, SPELL_BROODAF_BLUE, true); } } break; case 1: for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); if(pUnit) { m_creature->CastSpell(pUnit, SPELL_BROODAF_BLACK, true); } } break; case 2: for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); if(pUnit) { m_creature->CastSpell(pUnit, SPELL_BROODAF_RED, true); } } break; case 3: for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); if(pUnit) { m_creature->CastSpell(pUnit, SPELL_BROODAF_BRONZE, true); } } break; case 4: for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); if(pUnit) { m_creature->CastSpell(pUnit, SPELL_BROODAF_GREEN, true); } } break; } //8-16 seconds until we should cast this agian Affliction_Timer = 8000 + (rand() % 8000); }else Affliction_Timer -= diff; if (Check_Timer ::iterator i = m_creature->getThreatManager().getThreatList().begin(); for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); if(pUnit && pUnit->HasAura(SPELL_BROODAF_BLUE,0) && pUnit->HasAura(SPELL_BROODAF_BLACK,0) && pUnit->HasAura(SPELL_BROODAF_RED,0) && pUnit->HasAura(SPELL_BROODAF_BRONZE,0) && pUnit->HasAura(SPELL_BROODAF_GREEN,0)) { //Chromatic mutation is causing issues //Assuming it is caused by a lack of core support for Charm //So instead we instant kill our target //DoCast(target,SPELL_CHROMATIC_MUT_1); pUnit->DealDamage(pUnit, pUnit->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, true); } } Check_Timer = 1000; }else Check_Timer -= diff;