Код:
m_creature->CombatStop(false);
Вам не стоит это добавлять. Вы же оверрайдите EvadeMode. Нашёл примерно похожий примерчик.
Код:
void AttackStart(Unit* pWho) override
{
// Don't attack while banished
if (m_creature->HasAura(SPELL_LEOTHERAS_BANISH))
return;
ScriptedAI::AttackStart(pWho);
}
if(если) (m_creature - то есть само существо(так обозначают в Мангосе)->указатель
HasAura(имеет ауру) -SPELL_LEOTHERAS_BANISH(номера теперь не обозначают, берут из enum)
return; - идёт возврат.
Тоесть Слепец имеет ауру - атаку не начнёт. Аура исчезла - бой начнёт с помощью
Код:
ScriptedAI::AttackStart(pWho);
Эксперты кода поправьте меня пожалуйста, если я ошибаюсь.