Streets of Rogue

Streets of Rogue

52 个评价
Как правильно угрожать за Гангстера
由 Abbysssal 制作
В этом руководстве я рассмотрю алгоритм расчёта шанса успешной угрозы, а также как поднять шанс угрозы до максимума.
   
奖励
收藏
已收藏
取消收藏
Как вычисляется шанс угрозы?
Итак, чтобы понять как вычисляется шанс угрозы, давайте посмотрим на внутри-игровой код:


Если вы хоть чуть-чуть разбираетесь в программировании, то вы можете разобрать и понять этот алгоритм самостоятельно. Не обязательно знать именно C#, ведь все языки программирования работают почти так же, единственное отличие - это синтаксис и некоторые мелочи, которые нам сейчас не важны.
Что из этого можно понять?
  1. Тут используются переменные с названиями num, num2, num3.... Для проведения расчётов вручную это крайне неудобно. Поэтому мы дадим им названия;
  2. В расчётах используются размеры команд игрока и НПС и относительная цена оружия в их руках, но не в руках членов команды;
  3. На шанс успешной угрозы влияет наличие особенностей "Грабитель", "Грабитель +" и "ССС" (если пройден БК Гангстера);
Рассмотрим сам алгоритм
  1. Давайте назовём переменные num и num2 - угрожаемостями - Угрожаемость игрока (угрИ) и Угрожаемость НПС (угрН), так как в нескольких последних строчках мы видим, что шанс успешной угрозы равен угрИ / (угрИ + угрН).

  2. Как меняются значения угрИ и угрН по мере выполнения метода? В самом начале угрИ равно 0, а угрН равно 1 (чтобы их сумма не была равна нулю).

  3. Далее к угрожаемостям прибавляется произведение размера команды (комИ) и коэффициента (k), определяемого особенностями. угрИ += комИ * k, где k по умолчанию равно 1.5, а с особенностью "Грабитель" - 3.5, а с "Грабителем +" или ССС (с пройденным БК) - 5.5. С угрожаемостью НПС ничего не происходит, особенности НПС в расчёте не учитываются.

  4. После этого к угрожаемостям прибавляется относительная цена экипированного оружия (цена оружия/100) (угрИ += Clamp(цена оружия/100, 0, 1.5)), при этом оружие должно быть "настоящим" (я не знаю, что здесь имеется в виду, но я думаю, что огнемёт, ракетница, кувалда и автомат в эту категорию определённо попадают). При этом число не может быть больше 1.5 или меньше 0.

  5. И наконец, шанс успешной угрозы становится равен угрИ / (угрИ + угрН).
Выводы
  1. Теперь мы знаем как вычисляется шанс успешной угрозы и можем применить полученные знания в самой игре, играя за Гангстера.
  2. Выведем формулу успешной угрозы:
    А то есть: 1 к 1/У.

  3. Раз мы теперь знаем эту функцию, то давайте посмотрим на один из её экстремумов. Для получения максимального значения У нам необходимо иметь наибольший возможный размер команды (комИ) (2, по умолчанию; 3, с особенностью "Эксперт по тимбилдингу"; 5, с особенностью "Армия Пяти"), иметь наибольший коэффициент K (1.5, по умолчанию; 3.5, с особенностью "Грабитель"; 5.5, с особенностью "Грабитель +" или мутатором "ССС", если выполнен БК), а также держать в руках самое дорогое оружие. А насчёт врага, надо наоборот - попытаться лишить всей его команды (комН) (незаметно нейтрализовать, отговорить или натравить на кого-нибудь) и, если возможно, заставить его выкинуть или повредить своё оружие (с огнестрельным оружием можно использовать Воровство боеприпасов).

  4. И теперь мы наконец подошли к вопросу:
Как максимально эффективно угрожать?
  1. Во-первых, заполучите особенность "Грабитель +" (либо с мутатором "ССС" и БК).

  2. Во-вторых, заполучите особенность "Армия Пяти" и наберите 5 человек в команду.

  3. В-третьих, заполучите самое дорогое оружие. Вот таблица влияния оружия на угрозу:

    Картинка
    Название
    Цена
    Влияние
    -
    Картинка
    Название
    Цена
    Влияние
    BFG (Big ♥♥♥♥♥♥♥ Gun)
    200
    +1.5
    -
    Кувалда
    80
    +0.8
    Ракетница
    140 (20 с мутатором "Всем по ракетнице")
    +1.4 (+0.2)
    -
    Топор
    70
    +0.7
    Огнемёт
    120
    +1.2
    -
    Меч
    60
    +0.6
    Ружьё-транквилизатор
    120
    +1.2
    -
    Бейсбольная бита
    50
    +0.5
    Анти-призрак
    120
    +1.2
    -
    Монтировка
    40
    +0.4
    Автомат
    110
    +1.1
    -
    Разводной ключ
    40
    +0.4
    Замораживающий луч
    100
    +1.0
    -
    Полицейская дубинка
    30
    +0.3
    Уменьшающий луч
    100
    +1.0
    -
    Нож
    30
    +0.3
    Водяной пистолет
    100
    +1.0
    -
    Кулак
    0
    +0.0
    Револьвер
    90
    +0.9
    -
    Воздуходувка
    70
    +0.7
    -
    Ёмкость для масла
    70
    +0.7
    Дробовик
    70
    +0.7
    -
    Пистолет
    70
    +0.7
    -
    Тазер
    70
    +0.7
    -
    Огнетушитель
    50
    +0.5
    -
    Исследовательская пушка (без ССС)
    0
    +0.0
    -
22 条留言
Waflia 8 月 6 日 上午 1:47 
Благодарю
Abbysssal  [作者] 8 月 4 日 上午 10:53 
Это Assembly-CSharp.dll декомпилированный через dnSpy. Код метода Relationships.FindThreat() сейчас точно тот же, что и 5 лет назад, так что гайд до сих пор актуален))
Waflia 7 月 29 日 上午 9:10 
Гайд хороший:steamthumbsup:
Но откуда взят исходный код?
浩然 2024 年 4 月 24 日 上午 7:40 
wa
EVEReast 2024 年 1 月 14 日 上午 7:15 
четкий гайд!
kivitea 2023 年 2 月 24 日 下午 1:41 
2. Можно не спрашивать - если есть удар со спины, то можно убеждать одним тычком. Все охранники становятся покорными независимо от их количества и оружия, главное рассчитать правильно урон, т.к. у нпц разное количество хп. Ну и есть проблема с критами, конечно
kivitea 2023 年 2 月 24 日 下午 1:41 
Есть еще клевер - абсолютная прибавка 8%. А также альтернативные способы убеждения:
1. Союзники подчиняются с 100%-ной вероятностью - покупка гипнотизера в репликаторе/диспенсере может быть выгоднее, чем вырубать толпу головорезов (да и нпц могут быть полезны - доктора, например). Также, если повезет, сильно поможет перк "Случайные друзья" (по ощущениям 20% торговцев становятся союзниками)
Granidal 2022 年 12 月 30 日 上午 12:26 
Захожу гайдик посмотреть а там ПРОГРАММИРОВАНИЕ, МАТЕМАТИЧЕСКИЕ ФОРМУЛЫ, ТАБЛИЦА ПРЯМИКОМ ИЗ ЭКСЕЛЯ, как сложно угрожать.
Xranitel 2022 年 4 月 25 日 上午 10:01 
Вроде под настоящим оружием имеют ввиду не водяной пистолет
Abbysssal  [作者] 2022 年 3 月 24 日 上午 10:34 
Гайд делался до внедрения русификатора, сейчас исправлю.