Thread: Формулы!
View Single Post
Old 09-02-2004, 07:01   #7
Silicoid
Камрад
 
Join Date: апр 2003
Posts: 330
Обобщенный алгоритм роста навыков:

В конце хода для каждого перса вызывается функция увеличения навыков.
В эту функцию передается:
- Навыки, которые были использованы в течении хода
- Количество попыток увеличения по каждому навыку

ЦИКЛ ПО Навыкам
ЦИКЛ ПО Попыткам
1. Формируется Число на основе Навыка, Аттрибутов от которых он зависит и плюс еще несколько коэффициентов.
- Высокие Аттрибуты увеличивают это Число
- Высокое значение Навыка понижает это Число
2. Бросается "кубик", если он выпал успешно (значение "кубика больше" Числа), то навык увеличивается (если быть точнее, то сначала увеличивается специальный промежуточный счетчик, и только когда он достигает определеного значения, вот тогда уже и происходит увеличение собствено навыка.).
КОНЕЦ
КОНЕЦ

Количество попыток определяется по таблице:
1. Перс промазал - 1 попытка
2. Перс попал, но не нанес урон - 2 попытки
3. Перс попал и нанес урон - 4 попытки
4. Перс попал и нанес удвоеный урон (воин под Берсерком, вор подлым ударом) - 5 попыток
...

Примечание:
1. Оружейные навыки идут парой. Например: Меч/Ближний бой, Лук/Дальний бой.
В цикле кидается "кубик" и по нему определяется, что будет увеличиваться. Таким образом из 4-х попыток может скажем вызваться 3 раза увеличение Меча и 1 раз увеличение ближнего боя. Как фишка выпадет. + по коду видно что Random идет от 1 до 3 и берется наугад три параметра, точно не проверял, но предположительно 3-й параметр это Двойное оружие.
3. Для тех персов которые делают множественые удары расчет для каждого удара идет отдельно. Например:
Самурай выкинул x4 из них один раз попал, и три раза промахнулся. В массив увеличений попадет:
Меч/Ближний/Двойное оружие(?) - 4 попытки
Меч/Ближний/Двойное оружие(?) - 1 попытка
Меч/Ближний/Двойное оружие(?) - 1 попытка
Меч/Ближний/Двойное оружие(?) - 1 попытка

P.S. Конкретную формулу расчета вероятности увеличения навыка в зависимости первичных аттрибутов и текущего значения навыка, приведу позже, когда закончу приведение ее к нормальному математическому виду.
Silicoid is offline   [Ответить с цитированием]