-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Balance] Альфа must die #972
Conversation
WalkthroughВ данном пулл-запросе внесены изменения в различные файлы конфигурации, касающиеся локализации, рюкзаков, поясов, оружия и защитной одежды. В файле локализации для русского языка обновлены строки, связанные с офицерами CentCom и их оборудованием. В файлах рюкзаков добавлены новые сущности и изменены характеристики существующих. Также обновлены параметры для различных видов оружия, включая винтовки, пистолеты-пулеметы и дробовики, с акцентом на изменение характеристик стрельбы и урона. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (3)
Resources/Prototypes/_Backmen/Entities/Clothing/OuterClothing/hardsuits.yml (1)
Line range hint
63-71
: Требуется корректировка значений брониЗначения защиты для
ClothingOuterHardsuitOrdinaryOrdersuit
(0.9 для Blunt/Slash/Piercing) значительно превышают средние значения других скафандров (0.2-0.6). Рекомендуется снизить эти значения для лучшего баланса.Предлагаемые изменения:
coefficients: - Blunt: 0.9 - Slash: 0.9 - Piercing: 0.9 + Blunt: 0.6 + Slash: 0.6 + Piercing: 0.6 Heat: 0.2 Radiation: 0.25Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml (1)
В коде обнаружена ошибка наследования
В файле есть противоречие: сущность XM1014 определена дважды с разными родительскими классами:
- Первое определение:
parent: BaseWeaponShotgun
- Второе определение:
parent: WeaponShotgun39
Это создаёт циклическую зависимость, так как WeaponShotgun39NonLethal наследуется от WeaponShotgun39, который должен наследоваться от BaseWeaponShotgun. Необходимо:
- Оставить только одно определение XM1014
- Убедиться, что WeaponShotgun39NonLethal наследуется от BaseWeaponShotgun или исправить цепочку наследования
🔗 Analysis chain
Line range hint
1-13
: Проверьте изменения в цепочке наследованияИзменение родительского класса с
BaseWeaponShotgun
наWeaponShotgun39
может повлиять на поведение оружия. Убедитесь, что все необходимые компоненты и функциональность сохранены.
Мне нужно проверить определение базового класса и сравнить компоненты, чтобы убедиться, что в коде нет ошибки в строке parent, и что все необходимые компоненты присутствуют.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Поиск всех сущностей, использующих BaseWeaponShotgun как родительский класс ast-grep --pattern 'parent: BaseWeaponShotgun' # Поиск компонентов WeaponShotgun39 ast-grep --pattern 'id: WeaponShotgun39'Length of output: 1153
Script:
#!/bin/bash # Поиск определения базового класса BaseWeaponShotgun ast-grep --pattern 'name: BaseWeaponShotgun' # Поиск компонентов в файле shotguns.yml для сравнения cat Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Shotguns/shotguns.ymlLength of output: 6923
Resources/Prototypes/_Backmen/Catalog/Fills/Items/Belts/belts.yml (1)
363-363
: Обновление снаряжения поясов спецподразделенийЗамена
WeaponDisablerSuper
наWeaponDominatorNT
в поясах спецподразделений соответствует изменениям в рюкзаках.Рекомендуется добавить документацию по балансу различных типов снаряжения для облегчения будущих изменений.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (10)
Resources/Locale/ru-RU/ss14-ru/prototypes/backmen/adminbuse/centcomm_officers.ftl
(0 hunks)Resources/Prototypes/Entities/Clothing/Back/backpacks.yml
(1 hunks)Resources/Prototypes/_Backmen/Catalog/Fills/Backpacks/backpack.yml
(7 hunks)Resources/Prototypes/_Backmen/Catalog/Fills/Items/Belts/belts.yml
(1 hunks)Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml
(5 hunks)Resources/Prototypes/_Backmen/Entities/Clothing/OuterClothing/hardsuits.yml
(2 hunks)Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Rifles/rifles.yml
(4 hunks)Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/SMGs/SMGs.yml
(2 hunks)Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
(1 hunks)Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/pulse.yml
(2 hunks)
💤 Files with no reviewable changes (1)
- Resources/Locale/ru-RU/ss14-ru/prototypes/backmen/adminbuse/centcomm_officers.ftl
🔇 Additional comments (11)
Resources/Prototypes/_Backmen/Entities/Clothing/OuterClothing/hardsuits.yml (2)
191-192
: Изменение базового класса скафандра Alpha 1
Смена родительского класса с ClothingOuterHardsuitSyndieCommander
на ClothingOuterHardsuitSyndie
существенно снижает защитные характеристики скафандра, что соответствует целям балансировки.
227-228
:
Необходимо пересмотреть параметр destroyOnFry
Компонент TinfoilHat
с параметром destroyOnFry: false
делает шлем неуязвимым к определенным типам урона, что может нарушить баланс.
Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml (1)
85-85
: Снижение скорострельности AA-12
Уменьшение скорострельности с 4 до 3 существенно снижает DPS оружия, что соответствует целям балансировки.
Resources/Prototypes/_Backmen/Catalog/Fills/Backpacks/backpack.yml (1)
31-31
: Проверьте баланс новых комплектов снаряжения
Замена WeaponDisabler
на WeaponDominatorNT
во всех комплектах существенно повышает их боевую эффективность. Особенно это касается снаряжения отряда Alpha1.
Рекомендуется создать отдельные прототипы для разных уровней снаряжения, чтобы упростить балансировку в будущем.
Also applies to: 83-83, 171-171, 246-246, 270-270, 294-294, 336-336
✅ Verification successful
Let me gather more information about both weapons to properly assess the balance change.
Let me search for the WeaponDisabler definition since it's not in the current file.
Let me check the WeaponDisabler definition in the base game files.
Let me check the projectile definitions to compare their damage.
Based on the gathered information, I can now provide a final response about the balance changes:
Подтверждаю необходимость проверки баланса
Замена WeaponDisabler на WeaponDominatorNT действительно существенно усиливает боевую мощь комплектов:
- WeaponDominatorNT наносит 22 единицы урона типа Heat
- Имеет увеличенный боезапас (2400 против стандартных)
- Более высокая стоимость (60000 против базовой)
- Сохраняет режим Disabler как вторичный
Рекомендации по балансировке:
- Создать отдельные варианты снаряжения для разных уровней доступа
- Рассмотреть возможность снижения боезапаса
- Пересмотреть распределение оружия в комплектах Alpha1
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск характеристик нового оружия
ast-grep --pattern 'id: WeaponDominatorNT'
Length of output: 1073
Script:
#!/bin/bash
# Search for WeaponDisabler and WeaponDominatorNT definitions
cat Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Energy/hitscan.yml
Length of output: 4337
Script:
#!/bin/bash
# Search for WeaponDisabler definition
rg -l "id: WeaponDisabler" Resources/Prototypes/
Length of output: 585
Script:
#!/bin/bash
# Get WeaponDisabler definition
cat Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml | grep -A 30 "id: WeaponDisabler"
Length of output: 2630
Script:
#!/bin/bash
# Search for BulletDisabler projectile definition
rg "id: BulletDisabler" -A 10
Length of output: 4259
Resources/Prototypes/Entities/Clothing/Back/backpacks.yml (1)
205-206
: 🛠️ Refactor suggestion
Проверьте баланс коэффициента урона от взрыва
Значение damageCoefficient: 0.1
означает снижение урона от взрыва на 90%, что может быть чрезмерно сильным для рюкзака лидера ERT. Рекомендуется рассмотреть более умеренное значение, например 0.3-0.5.
✅ Verification successful
Значение коэффициента урона 0.1 соответствует другому защитному снаряжению
На основе анализа кодовой базы, коэффициент урона 0.1 (90% снижение урона) для рюкзака лидера ERT соответствует уровню защиты других элитных предметов:
- Некоторые хардсьюты имеют такой же коэффициент 0.1
- Элитные сумки и рюкзаки имеют коэффициенты 0.1-0.2
- Обычные рюкзаки и броня имеют более высокие коэффициенты (0.5-0.9)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск других предметов с похожей защитой от взрывов
rg "damageCoefficient: \d+\.\d+" -A 2
Length of output: 20848
Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/pulse.yml (2)
78-78
: Подтверждаю снижение скорострельности AP-12 NT
Уменьшение fireRate
с 8 до 6 является обоснованным балансным изменением для AP-12 NT, учитывая его высокую эффективность.
288-288
: Подтверждаю снижение пробивающего урона
Уменьшение урона типа Piercing
с 4 до 3 является разумным балансным решением. Рекомендуется проверить влияние на общий DPS оружия.
✅ Verification successful
Based on the search results, I can see that the Piercing
damage value of 3 for the pulse weapon is well-balanced compared to other weapons in the codebase. Let me generate the final response:
Подтверждаю корректность баланса пробивающего урона
Значение урона типа Piercing: 3
для импульсного оружия хорошо сбалансировано относительно других видов оружия в кодовой базе:
- Большинство пистолетов и винтовок имеют значения от 8 до 19
- Дробовики варьируются от 3 до 28
- Импровизированное оружие обычно имеет значения 1-5
- Тяжелое вооружение достигает 30-40
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск других видов оружия с похожим уроном для сравнения
rg "Piercing: \d+" -A 2
Length of output: 66366
Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/SMGs/SMGs.yml (1)
283-283
: Подтверждаю небольшое увеличение скорострельности MP-38
Увеличение fireRate
с 5 до 5.5 является минимальным изменением, которое слегка улучшит эффективность MP-38, не нарушая общий баланс оружия.
Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml (2)
243-243
:
Значительное усиление набора GL-79 требует проверки
Увеличение количества гранат (6 осколочных и 6 фугасных) делает набор крайне мощным, даже с учетом повышенной стоимости в 55 ТК. Необходимо протестировать влияние на игровой баланс.
Also applies to: 256-258
✅ Verification successful
Повышение стоимости набора GL-79 оправдано
Анализ показывает, что увеличение стоимости с 25 до 55 ТК сбалансировано с учетом:
- Значительного увеличения боезапаса (с 2+4 до 6+6 гранат)
- Сравнения с другими наборами в магазине (например, MG42 за 60 ТК)
- Высокой разрушительной силы гранатомёта
Текущая цена адекватно отражает боевую эффективность набора.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск других наборов с гранатами для сравнения
rg "GrenadeFrag|GrenadeBlast" --type yaml
Length of output: 5575
Script:
#!/bin/bash
# Поиск содержимого файла uplink_nomad.yml для анализа количества гранат
cat Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml
Length of output: 17529
76-76
: Проверьте баланс стоимости набора "AKSU"
Снижение стоимости с 17 до 15 ТК может сделать это мощное оружие слишком доступным на ранних этапах игры.
✅ Verification successful
Let me gather more information about the weapon's stats to better assess the balance implications.
Снижение стоимости набора "AKSU" оправдано балансом
Анализ показывает, что новая стоимость в 15 ТК соответствует другим наборам оружия аналогичного класса:
- SPAS-12 (дробовик) также стоит 15 ТК
- MP38 (пистолет-пулемёт) стоит 14 ТК
Учитывая, что AKSU находится в одном ценовом диапазоне с другими тактическими наборами и комплектуется стандартным количеством магазинов, снижение стоимости с 17 до 15 ТК является обоснованным балансным решением.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Проверка использования AKSU в игре
rg -l "WeaponRifleAKSU" | while read -r file; do
echo "=== $file ==="
rg "WeaponRifleAKSU" "$file" -A 5
done
Length of output: 3269
Script:
#!/bin/bash
# Поиск характеристик оружия AKSU
ast-grep --pattern 'id: WeaponRifleAKSU
$$$
components:
$$$'
# Поиск других предметов в том же ценовом диапазоне для сравнения
rg "Telecrystal: 1[4-6]" Resources/Prototypes/_Backmen/Catalog/ -B 5
Length of output: 2194
Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Rifles/rifles.yml (1)
297-297
: Корректировка скорострельности
Добавление fireRate: 6 для M-28 и снижение скорострельности SCARAB с 8 до 5.3 выглядит логичным балансом. Однако стоит проверить эффективность SCARAB после такого значительного снижения скорострельности.
Also applies to: 835-835
✅ Verification successful
Let me analyze the fire rates of rifles to verify the balance. Looking at the output, I can see the fire rates for various rifles in the codebase. The SCARAB's new fire rate of 5.3 is now more in line with other rifles which typically range from 5-6, while SMGs have higher rates (7-12) and sniper rifles have lower rates (0.8-3). The M-28's fire rate of 6 is also within the normal range for rifles.
Изменения скорострельности сбалансированы
Новые значения скорострельности для обоих оружий находятся в пределах нормы для винтовок (5-6 выстрелов в секунду). SCARAB со скорострельностью 5.3 теперь лучше сбалансирован относительно других винтовок, сохраняя при этом свою эффективность. M-28 со скорострельностью 6 также соответствует стандартному диапазону для этого класса оружия.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Сравнение скорострельности всех винтовок
rg "fireRate:" --type yaml
Length of output: 16143
cameraRecoilScalar: -4.2 | ||
- type: GunWieldBonus | ||
minAngle: -22 | ||
maxAngle: 0 | ||
angleIncrease: -3 | ||
- type: Gun | ||
angleDecay: 40 | ||
angleIncrease: 8 | ||
angleIncrease: 7 | ||
cameraRecoilScalar: 5 | ||
minAngle: 24 | ||
maxAngle: 45 | ||
fireRate: 9 | ||
fireRate: 7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Подтверждаю необходимость пересмотра изменений P-90
Анализ параметров всех ПП в игре показывает, что текущие изменения действительно делают P-90 менее конкурентоспособным:
- Скорострельность 7 ставит его в нижний диапазон среди ПП (другие имеют 8-12)
- Увеличение отдачи камеры до -4.2 делает его самым нестабильным среди всех ПП (у остальных -4)
- Показатель angleIncrease в 7 при высокой отдаче камеры создаёт слишком сильный разброс
Рекомендации:
- Вернуть скорострельность хотя бы до 8
- Установить cameraRecoilScalar на уровне других ПП (-4.0)
- Оставить текущий angleIncrease, так как он компенсируется высоким angleDecay
🔗 Analysis chain
Пересмотрите серьёзное ослабление P-90
Внесённые изменения существенно ослабляют P-90:
- Уменьшение
cameraRecoilScalar
с -4 до -4.2 - Уменьшение
angleIncrease
с 8 до 7 - Уменьшение
fireRate
с 9 до 7
Рекомендуется смягчить некоторые изменения, так как текущие значения могут сделать оружие неконкурентоспособным.
Let me gather more information about the recoil parameters of other SMGs to make a complete comparison.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск других ПП для сравнения характеристик
rg "fireRate: \d+" --glob "**/*SMG*.yml" -A 2
Length of output: 2511
Script:
#!/bin/bash
# Поиск параметров отдачи для всех ПП
rg "angleIncrease: -?\d+\.?\d*|angleDecay: \d+\.?\d*|minAngle: -?\d+\.?\d*|maxAngle: \d+\.?\d*|cameraRecoilScalar: -?\d+\.?\d*" --glob "**/*SMG*.yml" -A 1
Length of output: 7854
cameraRecoilScalar: -4 | ||
- type: GunWieldBonus | ||
minAngle: -23 | ||
maxAngle: 0 | ||
angleIncrease: -2 | ||
angleIncrease: -3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Улучшение управляемости AKMS
Уменьшение отдачи (cameraRecoilScalar: -4, angleIncrease: -3) может сделать оружие слишком точным для его класса.
Предлагаю сбалансировать изменения:
- cameraRecoilScalar: -4
- angleIncrease: -3
+ cameraRecoilScalar: -3.75
+ angleIncrease: -2.5
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
cameraRecoilScalar: -4 | |
- type: GunWieldBonus | |
minAngle: -23 | |
maxAngle: 0 | |
angleIncrease: -2 | |
angleIncrease: -3 | |
cameraRecoilScalar: -3.75 | |
- type: GunWieldBonus | |
minAngle: -23 | |
maxAngle: 0 | |
angleIncrease: -2.5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
вроде норм
@nomad0260 Мёрджу? |
селфмёрдж детектед фу |
Описание PR
Медиа
Тип PR
Изменения
🆑 no_mad
Summary by CodeRabbit
Примечания к выпуску
Новые функции
Исправления ошибок
Документация