Airborne [8] (23.12.2017 01:46)+0 (0 / 0)-
Исходные данные:
Урон (Y) - наше искомое значение
Базовый урон (B) - мин значение 5, макс значение 9 (урон на 0м лвле при силе 3)
Уровень (L) - уровень персонажа
Урон оружия (W) (минимальный урон оружия добавляется к минимальному, максимальный - к максимальному)
Мастерство владения оружием (U) - усиливает только урон оружия, а не весь урон. +7% к урону оружием за каждое владение
Мощность урона (M) Мощность урона выбирается в соответствии с профилем атаки (через if/then, думаю)
Мощность крита (K)Влияние статов (S) - влияние наших статов на профильный урон
Колющий: S = Сила * 0,60 + Ловкость * 0,40
Рубящий: S = Сила * 0,70 + Ловкость * 0,20 + Интуиция * 0,20
Дробящий: S = Сила * 1
Режущий: S = Сила * 0,60 + Интуиция * 0,40
Формула урона выглядит так:
Y = (B+L+S+W*(1+0,07*U))*(1+M/100) для обычного удара
Y = (B+L+S+W*(1+0,07*U))*(1+M/100)*2*(1+K/100) - для критического удара (умножаем сначала на 2, потому что крит наносит
даже без мощи крита в 2 раза больше урона. А потом уже умножаем полученный урон на мощь крита).
Для минимального и максимального урона формулы выглядят следующим образом:
Y(min) = (B(min)+L+S+W(min)*(1+0,07*U))*(1+M/100)
Y(max) = (B(max)+L+S+W(max)*(1+0,07*U))*(1+M/100)
Вероятности атак оружия:
Ничтожно редки 1% - 9%
Редки 10% - 19%
Малы 20% - 39%
Временами 40% - 69%
Регулярны 70% - 89%
Часты 90% - 99%
Перейдем к броне, защите от урона и пробою брони.
Параметр БРОНЯ является *плавающим*. Для примера возьмем осаду.
Броня по частям тела:
Голова 44-192
Корпус 39-192
Пояс 40-217
Ноги 55-232
Как работает пробой брони? Рассмотрим на примере удара ножом с пробоем в 70% (Pr) в голову осаднику. Расчетный урон (по формуле выше) у нас Y.
Обязательно необходимо учитывать тот факт, что пробой работает только на *плавающей* части брони. У нас *плавающая* часть являет собой диапазон 44-192. Это значит, что урон меньше 44 не может не поглотиться по определению.
Для примера возьмем урон Y = 200.
Для начала *кидается кубик*, то-есть, с помощью генератора случайных чисел в диапазоне от 44 до 192 решается, какая броня *сработает*
на данный удар. Br=random(44,192). Допустим, выпало число 100. Наш пробой на ноже в 70% означает, что сработает лишь 30% от сыгравшей брони, то есть, броня должна поглотить всего 30 урона. НО!!! Меньше минимального значения брони (у нас он 44) поглотиться не может по определению.
Поэтому, после *работы* брони наш урон Y1 будет следующим: Y1 = Y - (100 - 100 * 70/100) = Y-30 = Y-44
Сама формула имеет вид:
Y1 = Y - (Br-BR*Pr/100). (в коде удобно будет скобки (Br-BR*Pr/100) представить отдельной переменной для упрощения проверки на допустимость
поглощаемого урона)
при условии, что Y=200, имеем:
Y1 = 156
Обязательно необходимо ввести ограничение, что броня не может уменьшать урон Y более, чем в 3 раза (во избежание ударов на 0).
После брони начинает работать Защита от урона.
Точная формула зависимости поглощения урона от параметра *Защита от урона*:
x=(1-0.5^(N/250))*100, где:
х - процент поглощаемого урона
N - наш параметр *Защита от урона*
Пример: у нас 400 защиты от урона, имеем:
x=(1-0,5^(400/250))*100 = (1-0,5^1,6)*100 = 67,0123% . То есть, при защите от урона в 400 ед по нам пройдет лишь 33% урона.
Еще необходимо учесть такой момент, как атака старшего уровня по младшему. В таком случае защита от урона у младшего уровня работает не на 100%. Если атакующий игрок на 1 уровень выше, то показатель защиты от урона (N) предварительно умножаем на 0,83, если 10-ый - на 0,69, если 11-ый - на 0,58.
В нашем примере (оба бойца одного уровня) урон после работы брони (Y1) равен 156. При защите от урона в 400 единиц, итоговый урон будет:
156*0,33 = 51,48 = 51 (округляем)
При действии приемов на усиление удара (сильный удар, удачный удар, усиленные удары) значение урона этих приемов можно как добавлять к
полученному с помощью расчетов урону, так и добавлять в саму формулу начального урона (Y = (B+L+S+W*(1+0,07*U))*(1+M/100)) к параметрам B,L,S и W.
В разное время по-разному пробовали. От этого зависел, к примеру, сумасшедший руль уворотов в свое время.
Завтра постараюсь выложить расчет урона на примере реальных комплектов и боев.
Эти формулы, разумеется, придуманы не мной, а честно собранные и позаимствованные со скролов знающих людей в старом БК. За что им большое заочное спасибо. Формулы проверены временем и большим количеством игроков.
Расчетные примеры и предположения относительно работы кубика и т.д. - мои, тут могу ошибаться. так что, если кто заметит неточность - поправляйте. Спасибо.
jk-fleks [8] (18.09.11 05:59)
Позновательно и непонятно )))
Kennedy [8] (18.09.11 07:53)
Базовый урон (B) : 5-9
Уровень (L) : 8
Урон оружия (W) : Меч темного пламен+5 : 16-35
Мастерство владения оружием (U) : в данном комплекте 12
Мощность урона (M) : Мф. мощности удара: 5%
Мощность крита (K) : Мф. мощности критического удара: 120%
Влияние статов (S) : Сила 30
Ловкость 15
Интуиция 66+4 (Сова)
Профильный урон рубящий (72,73%). Подставляем эти статы в формулу расчета рубящего урона:
Рубящий: S = Сила * 0,5 + Ловкость * 0,25 + Интуиция * 0,25 = 30*0,5 + 15*0,25 + 70*0,25 = 15+3,75+17,5=36,25.
S=36,25
Теперь расчитаем минимальный урон для меча :
Y(min) = (B(min)+L+S+W(min)*(1+0,07*U))*(1+M/100)
а это равно:
(5+8+36,25+16*(1+0,07*12))*(1+5/100) = 78,69*1,05 = 82,6245 . Округляем до ближайшего целого значения, имеем
минимальный урон МТП+5 = 83
Расчитаем максимальный урон :
(9+8+36,25+35*(1+0,07*12))*(1+5/100) = 117,65*1,05 = 123,5325 = 124.
Критовый урон:
Минимальный: 83*2*(1+K/100) = 83*2*(1+120/100) = 83*2*2,2=365,2=365
Максимальный: 124*2*2,2=545,6=546
Дикая удача ,к слову, наносит именно этот самый максимальный крит :)
Это урон без учета брони противника и без учета различных усилений (Сильный удар и т.д.)
Теперь рассмотрим этот урон на фоне самого стандартного осадника с 50 выносливости.
Имеем брони:
Голова 44-192
Корпус 40-195
Пояс 40-217
Ноги 55-232
Защита от урона (нас интересует защита от рубящего урона на голове) : 395 (комплект+выносливость+каст защита от урона (100) + элик (100) )
Рассмотрим на примере удара в голову
Сначала выведем минимальный удар (а это значит, что броня сработала по максимуму). Пробоя брони на мече нет, а это значит:
83-192 = -109. Имеем минусовый результат. Это значило бы, что удар пройдет на 0. Именно поэтому я и говорил, что броня не должна минусовать урон более, чем в 3 раза. 83/3=27,6666=28. - урон после работы брони.
Теперь защита от урона. её у нас 395. по формуле x=(1-0.5^(N/250))*100 высчитываем, сколько % урона от 28 у нас отнимется защитой от урона:
х=(1-0,5^(395/250))*100=66,55% . Теперь эти 66,55% вычитаем из 28. имеем: 28-18,634=9.
минимальный урон меча по упитому осаднику будет равен 9
та же процедура с максимальным уроном меча и минимально срабатываемой защитой дает нам результат :
(124-44)-(124-44)*0,6655 = 80-80*0,6655=26,76=27. Это максимальный удар без усилений по осаднику в голову (обычный удар)
Теперь рассмотрим крит (прямое попадание, не в блок):
Минимальный = (365-144)*(1-0,6655) = 73,9245 = 74
Максимальный = (546-144)*0,3345 = 134,469=134. |