Skip to content
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

[Fix] Huinya #1049

Merged
merged 7 commits into from
Feb 25, 2025
Merged

[Fix] Huinya #1049

merged 7 commits into from
Feb 25, 2025

Conversation

nomad0260
Copy link
Collaborator

@nomad0260 nomad0260 commented Feb 13, 2025

Описание PR

чинит кое-что

Медиа

Тип PR

  • Fix

Изменения

Summary by CodeRabbit

  • Новые возможности

    • Расширен ассортимент доступных игровых предметов: добавлены новые варианты для систем безопасности, медицины, детективных наборов и тактического оборудования.
    • Каталог товаров обновлён — введены новые позиции с особыми условиями приобретения.
    • Добавлены новые типы боеприпасов и обновлены существующие.
  • Рефакторинг / Стиль

    • Стандартизированы обозначения боеприпасов для повышения единообразия отображения информации.
  • Чистка

    • Удалены устаревшие и избыточные позиции оружия, взрывчатки и боеприпасов.

@nomad0260 nomad0260 requested a review from Rxup as a code owner February 13, 2025 15:21
Copy link
Contributor

coderabbitai bot commented Feb 13, 2025

"""

Walkthrough

Изменения затрагивают несколько YAML-файлов, используемых для определения игровых объектов. Внесены корректировки в каталоги шкафов, оружейных сейфов и боеприпасов: добавлены новые сущности, обновлены существующие (например, добавлен новый предмет, изменены вероятности компонентов) и удалены устаревшие элементы. В файлах uplink_catalog.yml и uplink_nomad.yml удалены многие списки оружия, взрывчатки и боеприпасов, а также добавлены новые товары с дополнительными условиями покупки. Дополнительно стандартизирована терминология для боеприпасов, где «Bullet» заменили на «Cartridge».

Changes

Файл Изменения
Resources/Prototypes/Catalog/.../Lockers/security.yml Удалена сущность LockerWardenFilledHardsuit; LockerWardenFilled обновлена (добавлен Binoculars, изменена вероятность компонента WeaponDisabler); добавлены новые сущности: LockerSecurityFilled, LockerBrigmedicFilled, LockerDetectiveFilled, ClosetBombFilled и различные gun safe (с переименованием MagazinePistolMagazinePistol9x17 и др.).
Resources/Prototypes/Catalog/uplink_catalog.yml Удалены многочисленные оружейные, взрывчатые и боеприпасные списки (например, UplinkPistolViper, UplinkEsword, UplinkSmokeGrenade и прочие); некоторые разделы закомментированы.
Resources/Prototypes/_Backmen/Catalog/uplink_catalog.yml Удалён UplinkCorpiumSyringe; добавлены новые списки: UplinkCannedClown, UplinkBibleMystagogue, UplinkChainsword, InjectorBloodsuckerNocturine, UplinkCostumeMime, UplinkMagazineBoxRifleLightSniper, UplinkBogom, UplinkPsiGrenadeBundle, UplinkAntiPsiGrenadeBundle, UplinkBrassknuckles, UplinkExperimentalSyndicateTeleporter, UplinkDartSyringeGun; список UplinkMagazineBoxHeavyRifle закомментирован.
Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml Добавлены новые списки боеприпасов и оружейных наборов (например, UplinkMosinAmmo, UplinkAKAmmo, Uplink308winAmmo, UplinkMagazinePistol9x17 и др.); удалены элементы UplinkFuelTankFirethrower и UplinkMagazineMagnumPistol; изменены количества в сущности ClothingBackpackDuffelSyndicateAmmoBackmenFilled (добавлены новые типы, обновлены наименования).
Resources/Prototypes/_Backmen/Entities/.../Cartridges/pistol.yml Добавлен тег «Cartridge» для сущностей CartridgePistol9x17, CartridgePistolACP, CartridgePistol57x28 и CartridgePistol50AE.
Resources/Prototypes/_Backmen/Entities/.../Magazine/pistol.yml В обновлённых магазинах (например, MagazinePistol45ACPuranium, MagazinePistol57x28Practice и др.) в поле proto заменено название с «Bullet» на «Cartridge» для унификации терминологии.

Poem

Привет, я кролик, и я в строю,
В YAML все изменилось вдруг и с блеском!
Каталоги, шкафы, снаряженье – всё ново,
Удаляют ненужное и вносят смелость.
Пусть код вспыхнет, как зайчье веселье,
Прыгай, мой друг, в этот мир обновлённый! 🐇💻
"""


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?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🔭 Outside diff range comments (1)
Resources/Prototypes/_Backmen/Catalog/uplink_catalog.yml (1)

156-165: 🛠️ Refactor suggestion

Добавьте условия безопасности для телепортера.

Экспериментальный телепортер может быть опасным предметом. Рекомендуется добавить условия использования и ограничения для предотвращения злоупотреблений.

   categories:
     - UplinkDeception
+  conditions:
+    - !type:BuyerWhitelistCondition
+      blacklist:
+        components:
+          - SurplusBundle
🧹 Nitpick comments (2)
Resources/Prototypes/_Backmen/Catalog/uplink_catalog.yml (2)

90-99: Рассмотрите возможность полного удаления закомментированного кода.

Вместо сохранения закомментированного кода в репозитории, лучше полностью удалить его, так как история изменений сохранится в системе контроля версий.


173-173: Замените неформальный комментарий на подробное объяснение.

Комментарий "goob" не объясняет причину высокой стоимости в 30 телекристаллов. Рекомендуется добавить понятное объяснение баланса стоимости.

-    Telecrystal: 30 # goob
+    Telecrystal: 30 # Высокая стоимость обусловлена мощностью оружия в руках медицинского персонала
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0286a1e and bccddef.

📒 Files selected for processing (6)
  • Resources/Prototypes/Catalog/Fills/Lockers/security.yml (1 hunks)
  • Resources/Prototypes/Catalog/uplink_catalog.yml (2 hunks)
  • Resources/Prototypes/_Backmen/Catalog/uplink_catalog.yml (1 hunks)
  • Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml (3 hunks)
  • Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml (4 hunks)
  • Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml (3 hunks)
🧰 Additional context used
🪛 GitHub Actions: YAML Linter
Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml

[error] 1-1: Duplicate ID: 'UplinkVectorBundle' for kind 'Content.Shared.Store.ListingPrototype'.

⏰ Context from checks skipped due to timeout of 300000ms (2)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: Test Packaging
🔇 Additional comments (6)
Resources/Prototypes/_Backmen/Catalog/uplink_catalog.yml (2)

48-61: Проверьте баланс стоимости Chainsword.

Стоимость в 8 телекристаллов кажется завышенной для оружия ближнего боя, доступного только капеллану. Рекомендуется пересмотреть цену с учетом других подобных предметов в каталоге.


62-79: Отличная реализация видоспецифичного предмета!

Грамотно реализованы ограничения по виду и блокировка SurplusBundle для предотвращения злоупотреблений.

Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml (1)

45-46: Стандартизация тегов выглядит правильной!

Добавление тега "Cartridge" улучшает согласованность и категоризацию сущностей боеприпасов.

Also applies to: 72-73, 100-101, 128-129

Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml (1)

110-110:

✅ Verification successful

Проверьте согласованность изменений прото-полей!

Обновление полей proto с "Bullet" на "Cartridge" выглядит правильным, но убедитесь, что все соответствующие сущности и ссылки также обновлены.

Also applies to: 118-118, 126-126, 160-160, 168-168, 176-176, 243-243


🏁 Script executed:

#!/bin/bash
# Проверка согласованности использования Cartridge/Bullet
rg -i "bullet.*proto|cartridge.*proto" --type yaml

Length of output: 1140


Обновление прото-полей выглядит корректным – проверьте, что ссылки на новые значения учтены во всех связанных сущностях!

  • В файле Resources/Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml (строка 110 и аналогичные: 118, 126, 160, 168, 176, 243) значение поля proto успешно обновлено на "CartridgePistolACPUranium".
  • Результаты поиска показали, что в Resources/Maps/oasis.yml встречаются строки с [bullet], однако, судя по формату, это элементы разметки/текста, а не ссылки на прото-поля.
  • Рекомендуется ещё раз убедиться, что во всех файлах, где используются ссылки на прото-поля, изменения учтены и не нарушают логику приложения.
Resources/Prototypes/Catalog/Fills/Lockers/security.yml (1)

195-195: Переименование магазина соответствует стандартизации!

Изменение MagazinePistol на MagazinePistol9x17 улучшает ясность и согласованность с системой именования.

Resources/Prototypes/Catalog/uplink_catalog.yml (1)

465-475: Удаление устаревших записей каталога выглядит правильным!

Очистка неиспользуемых записей оружия и боеприпасов улучшает поддерживаемость каталога.

Also applies to: 477-487, 513-522, 524-533

Comment on lines 255 to 265
- type: listing
id: UplinkVectorBundle
name: набор "MP7"
description: Модель SMG7 с архаичным дизайном, насчитывающим сотни лет, была распространена в свое время. Сегодня он находит ограниченное применение в качестве дешевых компьютерных копий или семейных реликвий, хотя каким-то образом попал в руки колониальных повстанцев. В комплетке 3 магазина.
icon: { sprite: Backmen/Objects/Weapons/Gunsx64/SMGs/mp7/big.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledMP7
cost:
Telecrystal: 15
categories:
- UplinkBundles

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Исправьте дублирующийся ID!

Обнаружен критический конфликт: ID 'UplinkVectorBundle' дублируется. Это вызовет проблемы при загрузке прототипов.

Примените следующие изменения:

-- type: listing
-  id: UplinkVectorBundle
+  id: UplinkMP7Bundle
   name: набор "MP7"
📝 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.

Suggested change
- type: listing
id: UplinkVectorBundle
name: набор "MP7"
description: Модель SMG7 с архаичным дизайном, насчитывающим сотни лет, была распространена в свое время. Сегодня он находит ограниченное применение в качестве дешевых компьютерных копий или семейных реликвий, хотя каким-то образом попал в руки колониальных повстанцев. В комплетке 3 магазина.
icon: { sprite: Backmen/Objects/Weapons/Gunsx64/SMGs/mp7/big.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledMP7
cost:
Telecrystal: 15
categories:
- UplinkBundles
- type: listing
id: UplinkMP7Bundle
name: набор "MP7"
description: Модель SMG7 с архаичным дизайном, насчитывающим сотни лет, была распространена в свое время. Сегодня он находит ограниченное применение в качестве дешевых компьютерных копий или семейных реликвий, хотя каким-то образом попал в руки колониальных повстанцев. В комплетке 3 магазина.
icon: { sprite: Backmen/Objects/Weapons/Gunsx64/SMGs/mp7/big.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledMP7
cost:
Telecrystal: 15
categories:
- UplinkBundles

Copy link
Owner

@Rxup Rxup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error: /Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml(110,12)  
No EntityPrototype found with id CartridgePistolACPUranium
Error: /Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml(118,12)  
No EntityPrototype found with id CartridgePistolACPPractice
Error: /Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml(160,12)  
No EntityPrototype found with id CartridgePistol5
Error: /Prototypes/_Backmen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/pistol.yml(168,12)  
No EntityPrototype found with id CartridgePistol57x2

Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml (2)

1-2: Отрегулируйте неформальный комментарий в заголовке файла.

Комментарий #no_mad shit может быть воспринят как неформальный и не соответствующий корпоративным стандартам. Рекомендуется либо удалить его, либо заменить на более нейтральное описание.


638-648: Уточните описание набора улучшений для оружия.

Набор UplinkUpgradePack содержит обвесы для ограниченного набора моделей оружия, как указано в описании.
Рекомендуется перепроверить, что описание точно отражает функционал набора и не содержит устаревшей информации. Возможно, стоит добавить ссылку на актуальную документацию или уточнение по обновляемым моделям.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 641-641: syntax error: mapping values are not allowed here

(syntax)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bccddef and de75fdc.

📒 Files selected for processing (1)
  • Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml (3 hunks)
🔇 Additional comments (9)
Resources/Prototypes/_Backmen/Catalog/uplink_nomad.yml (9)

3-121: Проверьте консистентность и локализацию новых лотов боеприпасов.

В этом блоке добавлены новые списки для боеприпасов (например, UplinkMosinAmmo, UplinkAKAmmo, Uplink308winAmmo, UplinkFuelTankFirethrower, UplinkMagazineMagnumPistol, UplinkMagazine50BMGMag, UplinkMagazine9x17, UplinkMagazinePistol9x17, UplinkMagazinePistol57x28, UplinkMagazineSMG57x28 и UplinkMagazineSMGVector45ACP).
Проверьте, что:

  • Все ключи (такие как id, name, description, productEntity, cost и categories) оформлены в едином стиле.
  • Значения стоимости (например, Telecrystal: 6 или 4) и тексты описаний корректны и соответствуют требованиям игры.
  • Локализация и терминология (например, название предмета и описание) отвечают стандартам проекта.

122-243: Проверьте корректность оформления наборов оружия и сущностей в блоке Bundles.

Блок включает различные наборы (например, UplinkP90Bundle, UplinkAKMSBundle) и связанные сущности (например, ClothingBackpackDuffelSyndicateFilledP90, ClothingBackpackDuffelSyndicateFilledAKMS).
Убедитесь, что:

  • Все ссылки на productEntity корректны.
  • Описания, иконки и стоимости оформлены в соответствии с общим оформлением прототипов.
  • Идентификаторы уникальны и не конфликтуют с другими объектами.

234-243: ⚠️ Potential issue

Проверьте дублирование идентификатора набора оружия.

В блоке с идентификатором UplinkVectorBundle отражается набор с названием «Vector». Согласно предыдущим замечаниям и описанию изменений, этот идентификатор должен был быть переименован в UplinkMP7Bundle. Если требуется сохранить два разных объекта, необходимо удостовериться, что их идентификаторы не конфликтуют и правильно используются в системе.


255-265: Проверьте корректность замены набора на MP7.

Новый блок с идентификатором UplinkMP7Bundle выглядит как замена для устаревшей записи с UplinkVectorBundle. Убедитесь, что во всём проекте ссылки на этот объект обновлены, и что новый набор (с названием «MP7») соответствует задумке по балансу и описанию.


266-589: Проверьте консистентность наборов оружия и игровых сущностей.

В данном фрагменте добавлены различные наборы и связанные с ними сущности, включая:

  • Наборы: UplinkMP38Bundle, UplinkPPSH41Bundle, UplinkDEagle, UplinkZauerBundle, UplinkGrenadeLauncher79Bundle, UplinkRPDBundle, UplinkMG42Bundle, UplinkBR64Bundle, UplinkSVDBundle, UplinkSpas12Bundle, UplinkFlamethrowerBundle, UplinkNightVisionDevice, UplinkSniperSR127Bundle и т.д.
  • Сопутствующие сущности: ClothingBackpackDuffelSyndicateFilledMP38, ClothingBackpackDuffelSyndicateFilledPPSH41, ClothingBackpackDuffelSyndicateFilledZauer, ClothingBackpackDuffelSyndicateFilledGL79, ClothingBackpackDuffelSyndicateFilledM81, ClothingBackpackDuffelSyndicateFilledRPD, ClothingBackpackDuffelSyndicateFilledMG42, ClothingBackpackDuffelSyndicateFilledBR64, ClothingBackpackDuffelSyndicateFilledSVD, ClothingBackpackDuffelSyndicateFilledSPAS12, CrateFlamethrowerBundle, BriefcaseSyndicateSniperBundleFilled и другие.

Рекомендуется проверить, что:

  • Для каждого набора корректно настроены поля (описание, иконка, стоимость и категории).
  • Все ссылки на объекты через productEntity актуальны.
  • Идентификаторы уникальны и не пересекаются с другими объектами в системе.
🧰 Tools
🪛 YAMLlint (1.35.1)

[warning] 533-533: wrong indentation: expected 4 but found 6

(indentation)


[warning] 583-583: wrong indentation: expected 4 but found 6

(indentation)


590-607: Проверьте параметры заполнения набора боеприпасов.

Секция ClothingBackpackDuffelSyndicateAmmoBackmenFilled обновляет содержание набора боеприпасов (например, MagazinePistolDrumSubMachineGun, MagazinePistolTopSubMachineGun, MagazinePistolSubMachineGun57x28, MagazinePistolSubMachineGunVector45ACPExt, MagazinePistol57x28Extd, MagazineRifleLight762x39Ext и т.д.).
Убедитесь, что:

  • Значения параметра amount отражают задуманное количество для баланса игры.
  • Все ссылки на объекты (ID магазинов) корректны и соответствуют последним изменениям в системе.
🧰 Tools
🪛 YAMLlint (1.35.1)

[warning] 599-599: wrong indentation: expected 4 but found 6

(indentation)


620-637: Проверьте настройки набора медикаментов.

В блоке ClothingBackpackDuffelSyndicateMedicalBundleBackmenFilled определён набор медикаментов, включающий аптечки, дефибриллятор, боевые медипены и другие предметы.
Убедитесь, что:

  • Все предметы указаны верно.
  • Значения количеств (например, количество аптечек и медипенов) соответствуют задумке игрового баланса.
🧰 Tools
🪛 YAMLlint (1.35.1)

[warning] 628-628: wrong indentation: expected 4 but found 6

(indentation)


649-663: Проверьте конфигурацию генератора UplinkEnergyDomeSyndie и условия его использования.

Объект UplinkEnergyDomeSyndie настроен с указанием стоимости, категории и условиями покупки (через StoreWhitelistCondition с тегом NukeOpsUplink).
Убедитесь, что:

  • Описание и стоимость (Telecrystal) соответствуют его игровому балансу.
  • Условия покупки корректно интегрированы в систему (при необходимости протестируйте логику применения условия).

664-677: Проверьте параметры энергетической батарейки UplinkGigareactorPowercell.

В данном блоке указан объект UplinkGigareactorPowercell с ценой, скидочной категорией и параметром discountDownTo.
Рекомендуется убедиться, что:

  • Указанная цена и скидки соответствуют задуманным механикам.
  • Нет конфликтов с аналогичными объектами и все данные корректно интегрируются в систему подсчёта стоимости.

@Rxup Rxup merged commit 8576db1 into Rxup:master Feb 25, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants