Цитата:
Поле spell_success есть в массивах структур int_app и wis_app. Но в int_app это поле везде нулевое, а в wis_app похоже несет отведенный смысл. Здесь берестся мудрость, но почему-то применяется к массиву от интелекта, у которого эти поля нулевые. Если это баг...
|
Посмотрим...
Ты предлагаешь рассматривать массив wis_app. У него значение поля spell_success для 20 мудры (минимальном, к примеру, для волша) равно 90. Плюс GET_CAST_SUCCESS(ch) (+5 - по роду, +n - по стафу) - уже получим реальный каст приближенный к 100 или выше. Это не есть гуд, т.к. в конце spell_use_success мы видим
Код:
return (prob > number(0,100));
Т.о. для мудры 20 закла проходит грубо говоря в 100% случаев.
Напротив у массива int_app. Такой гига-а-анской плюхи нет. Там тупо все поля забиты нулями (это ты верно заметил). Но мудра должна ролять на каст, и это вроде бы записано на скрижалях былиновского manual, - чего в итоге не наблюдается. Смею предположить, то сей вопиющий факт есть не что иное, как простой недогляд со стороны кодеров. Т.к. в файле constants.c поля int_app смещены по вертикали начиная с 25 позиции. Что приводит к ошибочному восприятию (сам купился), что на 25 позиции spell_success равен 9 и медленно, но растет. Имхо, кодеры также не заметили такого смещения.
Так что твой патч, заменяющий структуру int_app на wis_app не адекватен, т.к. дает просто нереально высокий каст. А вот кодерам надо бы (если они этого еще не сделали) сесть и заполнить поля int_app.spell_success в соответствии с РП-легендой. За что им будет всеобщее спасибо.
вбр, Кудояр