Иногда на меня находит, я говорил. Лежал вот сейчас, как Архимед, в ванне и, так же как он, думал о математике. Формула урона в «Гильдии» устроена примерно так:
Урон=Сила*(1-Защита/16+Мастерство/12)
Против врагов с высокой защитой Мастерство выступает необходимым условием, чтобы пробивать защиту и наносить урон. С другой стороны, для врагов с низкой защитой Мастерство становится множителем урона. И таким образом, в тайне от игрока, Мастерство является существенно более важной характеристикой, чем другие.
Чтобы это как-то сгладить, я решил ограничить влияние Мастерства, чтобы урон не превышал Силу персонажа. Таким образом, запредельно высокие значения Мастерства ничего не дадут в плане увеличения урона.
В игровой механике для этого пришлось ввести дополнительную переменную v[95] и формула урона приобрела такой вид:
v[95]=(1+a.luk/12-b.def/16); if (v[95]>1) {v[95]=1}; a.atk*v[95]
И вот я просидел над этой формулой уже кучу времени, начертил десяток графиков, и пожалуй я попробую её использовать. Посмотрю, как это всё будет работать. Осталось только формулы для двух с половиной сотен навыков переписать.