AlexSpl писал(а):
А в случае с Моралью/Удачей коэффициенты применяются прямо в этой функции.
Кстати, важный момент. Посмотрю повнимательнее позже, но пока не нахожу признаков, что все (хотя некоторые - возможно) заклы модифицируются кэффициентами с потолка. По всей видимости ИИ в бою почти всегда считает выгоду через ущерб, выраженный в fight values.
***
Если посмотреть, например, combatMan_00437D50_BloodlustWeightAI или combatMan_004389E0_StoneSkinWeightAI - там тоже результат взвешивания находится через математическое ожидание ущерба/снижения ущерба, выраженное в едииницах fight values. Безо всяких коэффициентов, взятых с потолка (а также каких-либо "эмпирических" или основанных на суждениях о том, как примерно должна протекать игра, исходя из наиболее вероятных стратегий игроков (подобных вашим суждениям, что, например, "с минусом ходят очень редко" ) - подобные факторы кодерами NWC даже близко никогда не учитывались при программировании ИИ, тем более что и большого опыта игр накоплено еще не было в то время).
Так что и для спеллов удачи/морали, похоже, должны быть именно вероятности.
***
Кстати, в процедуре взвешивания для Удачи (но не для Неудачи) sub_004380E0 обсуждаемые константы не используются. И в итоге результат делится на 24 (то есть умножается на 0.0416).