Как повышать скорость атаки, при этом увеличивая число ударов в минуту на одинаковое количество?
У меня есть персонаж, который стреляет один раз с промежуктом, равным FireRate. Персонаж может увеличивать скорострельность, поднимая бонусы. Проблема в том, что чем больше я уменьшаю FireRate, тем больше дополнительных атак даёт -0.1 FireRate. То есть, при изменении FireRate с 2.5 до 2 я получу 1 доп. атаку за 10 секунд, а при изменении с 0.2 до 0.1 - 50 доп. атак. Я видел в других играх(доте), что для решения этой проблемы вводят абстрактную скорость атаки, но формулы не нашёл. Можете скинуть их, пожалуйста?
Ответы (1 шт):
Если вы хотите, чтобы частота ударов увеличивалась пропорционально уровню, то и изменяйте частоту, а временной промежуток считайте как t = 1/f
.
Если не хотите вводить новый параметр, то исходите из следующего - чтобы количество ударов в секунду увеличивалось, скажем, на 10% при достижении некого бонуса, то
1/new_t = (1 + 10/100)*1/t
new_t = t/1.1
Для увеличения частоты ударов на конкретное количество bonus
при текущем промежутке t
:
f = 1/t
new_f = f + bonus
new_t = 1 / (f + bonus) = 1 / (1/t + bonus) = t / (t*bonus + 1)