Всё нижеперечисленное, возможно, не истина в последней инстанции.
Эх сейчас бы спец.символы ничего не сломали.
Эффективность оружия в основном зависит от его удобности и вносимого урона. Если первый параметр индивидуален для каждого игрока, то второй поддаётся подсчётам и может быть выявлен заранее.
ДПС
ДПС (damage per second на забугорном, то есть урон в секунду) - кол-во урона, выдаваемого в секунду. Параметр очень легко считается и служит для примерного понимания потенциала оружия в спиливании противников. Параметр не стоит применять к болтовкам/оружию с низкой скорострельностью и большим уроном.
ДПС - урон оружия умноженный на его скорострельность (каждый выстрел, имеющий урон, умножается на кол-во этих выстрелов в минуту), поделённые на 60 (тк скорострельность указывается в минутах).
В игре урон оружия падает с расстоянием, так что для ДПС будут справедливы 3 основные формулы:
1) ДПС = Урон * Скорострельность / 60 - ДПС на дистанции без падения урона.
Пример:

46 * 600 / 60 = 460
2) ДПС = Минимальный урон * скорострельность / 60 - ДПС на дистанции минимального урона оружия.
Пример:

32 * 600 / 60 = 320
3) ДПС = (Урон - (e-b)/((a-b)/(c-d))) * Скорострельность /60 - ДПC на нужной дистанции, < чем дистанция минимального урона и > чем дистанция максимального урона.
Где:
а - дистанция минимального урона
b - дистанция без падения урона
c - максимальный урон оружия
d - минимальный урон оружия
e - нужная дистанция > дистанции без падения урона
Пример:

Посчитаем ДПС для 50 метров.
ДПС = (46 - (50-16)/((75-16)/(46-32))) * 600 / 60 = 379
п.с: ключевой отрывок для подсчёта урона оружия на дистанции: урон - (e-b)/((a-b)/(c-d)). Мы находим урон на дистанции, исходя из зависимости между дистанциями и разницей в уроне.
Приведёнка и начало о ТТК.
ТТК (time to kill) - время для убийства. Более объективный параметр, тк он позволяет рассчитать конкретное время для убийства определённого кол-ва приведённого ХП.
ТТК легче всего считать непосредственно по приведённому хп.
Что такое приведённое здоровье?
Приведённое здоровье - урон, который нужно внести в игрока для его убийства, при учёте его пулестойкости, кол-ва здоровья и прочих факторов (сейчас из таких отклонение и бронебойность).
Далее будет полная формула (две, на случай с бронебойностью и без неё), но для понимания: кол-во здоровья игрока делится на процент проходящего про игроку урона.
Например:

Танк имеет 65 пулестойкости, что означает, что он погасит 65% урона пули или умножит его на 0.35. 0.35 = 35% - та часть урона, что пройдёт по танку.
То есть игрок без сборки просто в стандартном танке будет держать 100/(1-0.65) = 285 урона, т.е имеет 285 приведённого здоровья.
Если брать 15 танк и его 80% пулестойкости: 100/(1-0.8) = 500.
Если у этого 15 танка сборка на 10 хп и +7 ХП от ИРП: (100 + 10 + 7)/(1-0.8) = 585.
Бронепробитие режет процент поглощаемого урона, так что танк будет иметь уже не 65% пулестойкости, а, в случае с, например, бб боеприпасом 7.62: 65-8% = 59.8 пулестойкости, что, соответственно, скажется на его приведёнке.
100/(1-0.59)=243.9.
Танк потерял 41 единицу приведённого здоровья всего лишь встретившись с бронебойным боеприпасом.
Если со здоровьем и пулестойкостью всё понятно, то приведённое здоровье от отклонения точно рассчитать невозможно, но можно примерно представить исходя из шансов.
Отклонение умножает урон на 0.75 (тк режет его на 25%), то есть, если бы в нашем обычном танке, который даёт множитель к урону 0.35, сработало бы отклонение, то финальный множитель бы был 0.350.75 = 0.2625, и танк имел бы уже 100/((1-0.65)0.75) = 380 здоровья. Сработавшее отклонение дало данному танку целых 95 здоровья.
Но отклонение параметр нестабильный и появляется с определённым шансом. Для оценки среднего значения здоровья, что будет добавляться, оптимальным вариантом будет брать среднее арифметическое в зависимости от процента отклонения.
Например: если в сборке 50% отклонения, то, грубо говоря, каждый второй выстрел будет срабатывать с отклонением.
100% = 10.
50% = 5.
Можно считать и 100 с 50, но убранный ноль в данной ситуации математически ничего не меняет, мне так удобнее.
(множители урона): (1+1+1+1+1 + 0.75 + 0.75 + 0.75 + 0.75 + 0.75) / 10 = 0.87 финальный множитель. То есть будет погашено меньше урона, чем при 100% проке отклонения (там множитель по урону 0.75), и больше, чем при не проке отклонения (множитель по урону 1, то есть без изменений).
Множитель от отклонения = ((шанс отклонения * 0.75) + ((10 (или 100 в зависимости от того, как вы считаете) - шанс отклонения)*1)) / 10.
Не забудьте разделить на 10, если считали через сотню.
Финальная формула приведённого здоровья без учёта бронебойности боеприпаса:
ХП = c/((a/10 * (((100 - b)/100)*0.75) + (100-a)/10 * ((100 - b)/100)) / 10).
Где:
a - отклонение снарядов
b - пулестойкость
c - суммарное здоровье персонажа
Финальная формула приведённого здоровья с учётом бронебойности боеприпаса:
ХП = c/((a/10 * (((100 - b(1-(j/100)))/100)0.75) + (100-a)/10 * ((100 - b* (1-(j/100)))/100)) / 10).
Где дополнительно:
j - бб боеприпаса
Вернёмся к ТТК.
Посчитать ТТК можно, разделив приведённое здоровье на урон оружия, а затем умножив полученное число с округлением до целого (всегда вниз! Даже если десятая часть выше 5) на время между выстрелами данного оружия.
Время каждого выстрела = 1/(скорострельность/60).
Например, если у оружия 600 скорострельности, то время каждого выстрела будет равно: 1/(600:60) = 0.1 секунда.
Из пункта выше мы может узнать приведёнку и пусть она с учётом ББ в 8% будет равна, например, 450.
Берём тот же скараш с его 46 урона:
450 : 46 = 9.78, то есть нам нужно 10 выстрелов, чтобы убить 450 приведёнки со скараша.
Но первый выстрел вылетает мгновенно и не учитывается в ТТК, тк задержка появляется лишь после него.
9 * 0.1 = 0.9 секунды нужно для убийства 450 ХП со скараша.
Финальная уберформула.
Без учёта бб боеприпаса:
ТТК = (((c/((a/10 * (((100 - b)/100)*0.75) + (100-a)/10 * ((100 - b)/100)) / 10)) / урон оружия ) -> округлить вниз) * 1/(Скорострельность оружия/60)
С учётом бронебойности боеприпаса:
ТТК = c/((a/10 * (((100 - b(1-(j/100)))/100)0.75) + (100-a)/10 * ((100 - b* (1-(j/100)))/100)) / 10)) / урон оружия ) -> округлить вниз) * 1/(Скорострельность оружия/60)
Где:
a - отклонение снарядов
b - пулестойкость
c - суммарное здоровье персонажа
j - бб боеприпаса
В заключение: стоит помнить, что ТТК рассчитывается в идеальных условиях, где противник стоит в АФК и не хилится. В бою ТТК может быть в 2-3, а то и 5 раз больше в зависимости от вашего аима.