все что осмыслил ,пересмотрел все спелы с первым if
(думаю что как то так)
в коде есть я думаю ошибки(по синтаксису) ,но тому кому надо поймет суть.
Код:
if (SPELL_AURA_MOD_STUN && m_spellInfo->maxlevel > 0 && m_spellInfo->maxlevel < m_targets.getUnitTarget()->GetLevel())
{
int32 targetLevel = m_targets.getUnitTarget()->GetLevel();
int32 maxlevel = m_spellInfo->maxlevel();
float change = change-((targetLevel - maxlevel)*10));
if (chance <= 1)
return SPELL_FAILED_FIZZLE;
}