итоговый рабочий вариант
Код:
case SPELL_AURA_MOD_STUN
Код:
if (m_spellInfo->maxLevel > 0 && m_spellInfo->maxLevel < m_targets.getUnitTarget()->getLevel())
{
int32 targetLevel = m_targets.getUnitTarget()->getLevel();
int32 maxlevel = m_spellInfo->maxLevel;
float change = m_spellInfo->procChance;
change -= (targetLevel - maxlevel)*10;
if (change <= 1)
return SPELL_FAILED_FIZZLE;
}
вопрос 1:куда запихнуть?(вопрос2,3)
вопрос 2:что конкретно не срабатывает Эффект ? Урон
вопрос 3 когда проверят до каста ? после каста
вопрос 4: учитывая как я понял что почти везде шанс каста 101% ,возникает вопрос учитывать ли 1% как рандом - тоесть
Код:
//101 - ( 60 - 50 ) * 10 = 1%
change -= (targetLevel - maxlevel)*10;
if (change <= 1) ? if (change <=0)
вопрос5: как вернуть шанс в функцию в которой будет производится вычисления с шансом (если проверка уже после каста)