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

BL expedition 2.1 PART ONE #336

Open
wants to merge 130 commits into
base: master
Choose a base branch
from

Conversation

BL02DL
Copy link
Collaborator

@BL02DL BL02DL commented Dec 3, 2024

image

Описание обновления:

Рефактор экспедиций путём переноса кода из сборки Нового Фронтира https://github.com/new-frontiers-14/frontier-station-14 !

Медиа
Отсутсвуют

Проверки

  • PR завершён и мне не нужна помощь чтобы его закончить.
  • Я внимательно просмотрел все свои изменения и багов в них не нашёл.
  • Я запускал локальный сервер со своими изменениями и всё протестировал.
  • Я добавил скриншот/видео демонстрации PR в игре, или этот PR этого не требует.
  • Я не добавлял контент нарушающий чужие авторские права.
  • Я добавил свой контент только в папку _LostParadise(только если вы не меняете оригинальный код).
  • Я не добавлял переводы в прототипы, а сделал их с помощью скрипта translations.bat в Tools/SS14_RU.

Изменения
Переработана система экспедиций, если точнее то взята с фронтира.

🆑 BL02DL

  • tweak: Полный рефактор экспедиций!

@BL02DL BL02DL added Изменения: Звуки Изменяет какие-либо файлы .ogg Изменения: C# Изменяет какие-либо файлы .cs Изменения: Карта Изменяет какие-либо файлы карт Изменения: Спрайт Изменяет какие-либо файлы .json/.png в текстурах Изменения: YML Изменяет какие-либо файлы .yml СВЯТЫЕ УГОДНИКИ Для чего-то очень крутого или супер глобального или базы данных... Статус: Не мержить НЕ МЕРЖИТЬ! Приоритет: 1-Максимальный РЕШИТЬ НЕМЕДЛЕННО! Размер: 1-Огромный Для очень больших ПР'ов/баг репортов Тип: Баланс Балансные правки Тип: Изменение Создание или внесение существенных изменений в код labels Dec 3, 2024
Copy link
Contributor

coderabbitai bot commented Dec 3, 2024

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

101 files out of 183 files are above the max files limit of 75. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Прохождение

В данном запросе на изменение было добавлено множество новых классов, компонентов и конфигурационных файлов, связанных с системой спасательных экспедиций в игре Lost Paradise. Включены классы для управления состоянием экспедиций, пользовательскими интерфейсами, а также системы для ограничения диапазона и управления аудио. Также были добавлены новые элементы пользовательского интерфейса, такие как окна предложений и компоненты для управления экспедициями. Внесены изменения в существующие файлы конфигурации, добавлены новые типы предметов и расширены возможности генерации лута.

Изменения

Файл Описание изменений
Content.Client/_LostParadise/Salvage/LPRestrictedRangeSystem.cs Добавлен класс LPRestrictedRangeSystem, наследующий от SharedLPRestrictedRangeSystem.
Content.Client/_LostParadise/Salvage/LPSalvageExpeditionComponent.cs Добавлен класс LPSalvageExpeditionComponent, наследующий от SharedLPSalvageExpeditionComponent.
Content.Client/_LostParadise/Salvage/LPSalvageSystem.cs Добавлен класс LPSalvageSystem, который управляет спасательными экспедициями и переопределяет метод Initialize.
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindow.xaml Добавлен XAML файл для пользовательского интерфейса окна предложений.
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindow.xaml.cs Добавлен класс LPOfferingWindow, реализующий пользовательский интерфейс для окна предложений.
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindowOption.xaml Добавлен XAML файл для компонента выбора предложений.
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindowOption.xaml.cs Добавлен класс LPOfferingWindowOption, реализующий логику выбора в окне предложений.
Content.Client/_LostParadise/Salvage/UI/LPSalvageExpeditionConsoleBoundUserInterface.cs Добавлен класс LPSalvageExpeditionConsoleBoundUserInterface для управления пользовательским интерфейсом экспедиций.
Content.Client/_LostParadise/Salvage/UI/LPSalvageExpeditionWindow.xaml Добавлен XAML файл для пользовательского интерфейса окна экспедиций.
Content.Client/_LostParadise/Salvage/UI/LPSalvageExpeditionWindow.xaml.cs Добавлен класс LPSalvageExpeditionWindow, реализующий логику управления окнами экспедиций.
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageEliminationExpeditionComponent.cs Добавлен класс LPSalvageEliminationExpeditionComponent для отслеживания данных об экспедициях.
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageExpeditionComponent.cs Добавлен класс LPSalvageExpeditionComponent для управления параметрами экспедиций.
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageMiningExpeditionComponent.cs Добавлен компонент для отслеживания данных о горной экспедиции.
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageShuttleComponent.cs Добавлен компонент для управления дронами в контексте спасательной экспедиции.
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageStructureComponent.cs Добавлен компонент для отслеживания структуры в экспедициях.
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageStructureExpeditionComponent.cs Добавлен компонент для отслеживания структуры в экспедициях.
Content.Server/_LostParadise/Salvage/LPExpeditionSpawnCompleteEvent.cs Добавлен класс для представления события завершения спавна экспедиции.
Content.Server/_LostParadise/Salvage/LPRestrictedRangeSystem.cs Добавлен класс для управления ограничениями диапазона.
Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsComponent.cs Добавлен компонент для ограничения действий мобов.
Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsGridComponent.cs Добавлен компонент для управления жизненным циклом мобов на сетках.
Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsSystem.cs Добавлен класс для управления ограничениями мобов.
Content.Server/_LostParadise/Salvage/LPSalvageRulerCommand.cs Добавлена команда для администраторов, связанная с управлением экспедициями.
Content.Server/_LostParadise/Salvage/LPSalvageSystem.ExpeditionConsole.cs Добавлен класс для управления консолью экспедиций.
Content.Server/_LostParadise/Salvage/LPSalvageSystem.Expeditions.cs Добавлен класс для управления экспедициями.
Content.Server/_LostParadise/Salvage/LPSalvageSystem.Runner.cs Добавлен класс для выполнения экспедиций.
Content.Server/_LostParadise/Salvage/LPSalvageSystem.cs Добавлен основной класс для управления спасательными операциями.
Content.Server/_LostParadise/Salvage/SpawnLPSalvageMissionJob.cs Добавлен класс для обработки спавна спасательных миссий.
Content.Server/_LostParadise/Spawners/Components/EntityTableSpawnerComponent.cs Добавлен компонент для спавна сущностей.
Content.Shared/_LostParadise/Bed/Sleep/AutoWakeUpComponent.cs Добавлен компонент для автоматического пробуждения.
Content.Shared/_LostParadise/CCVars.cs Добавлены новые переменные конфигурации для управления экспедициями.
Content.Shared/_LostParadise/EntityTable/EntitySelectors/AllSelector.cs Добавлен селектор для агрегирования сущностей.
Content.Shared/_LostParadise/EntityTable/EntitySelectors/EntSelector.cs Добавлен селектор для спавна сущностей по указанному идентификатору.
Content.Shared/_LostParadise/EntityTable/EntitySelectors/EntityTableSelector.cs Добавлен абстрактный класс для выбора сущностей.
Content.Shared/_LostParadise/EntityTable/EntityTablePrototype.cs Добавлен прототип для таблицы сущностей.
Content.Shared/_LostParadise/EntityTable/EntityTableSystem.cs Добавлен класс для управления таблицами сущностей.
Content.Shared/_LostParadise/EntityTable/ValueSelector/ConstantNumberSelector.cs Добавлен селектор для постоянного числового значения.
Content.Shared/_LostParadise/EntityTable/ValueSelector/NumberSelector.cs Добавлен абстрактный класс для выбора значений.
Content.Shared/_LostParadise/EntityTable/ValueSelector/RangeNumberSelector.cs Добавлен селектор для выбора случайного значения в заданном диапазоне.
Content.Shared/_LostParadise/Interaction/Components/ComplexInteractionComponent.cs Добавлен компонент для сложных взаимодействий.
Content.Shared/_LostParadise/Salvage/Expeditions/LPExpeditionStage.cs Добавлена новая перечисляемая переменная для этапов экспедиций.
Content.Shared/_LostParadise/Salvage/Expeditions/LPSalvageExpeditions.cs Добавлены классы для управления состоянием и данными экспедиций.
Content.Shared/_LostParadise/Salvage/Expeditions/LPSalvageFactionPrototype.cs Добавлен класс для представления прототипа фракции.
Content.Shared/_LostParadise/Salvage/Expeditions/LPSalvageMobGroup.cs Добавлен новый класс для групп мобов.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/ILPBiomeSpecificMod.cs Добавлен интерфейс для модификаторов, специфичных для биомов.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/ILPSalvageMod.cs Добавлен интерфейс для модификаторов спасательных миссий.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageAirMod.cs Добавлен класс для модификации воздуха.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageBiomeMod.cs Добавлен класс для модификации биома.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageDungeonMod.cs Добавлен класс для модификации подземелий.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageLightMod.cs Добавлен класс для модификации света.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageMod.cs Добавлен класс для модификаторов спасательных операций.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageTemperatureMod.cs Добавлен класс для модификации температуры.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageTimeMod.cs Добавлен класс для модификации времени экспедиций.
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageWeatherMod.cs Добавлен класс для модификации погоды.
Content.Shared/_LostParadise/Salvage/Expeditions/SharedLPSalvageExpeditionComponent.cs Добавлен абстрактный компонент для управления состоянием экспедиций.
Content.Shared/_LostParadise/Salvage/LPRestrictedRangeComponent.cs Добавлен компонент для ограничения диапазона.
Content.Shared/_LostParadise/Salvage/LPSalvageMapPrototype.cs Добавлен прототип карты для спасательных операций.
Content.Shared/_LostParadise/Salvage/SharedLPRestrictedRangeSystem.cs Добавлен абстрактный класс для управления системами ограничения диапазона.
Content.Shared/_LostParadise/Salvage/SharedLPSalvageSystem.cs Добавлен абстрактный класс для управления спасательными операциями.
Resources/Maps/_LostParadise/Dungeon/vgroidinterior.yml Добавлен YAML файл для конфигурации подземелья.
Resources/Prototypes/Entities/Objects/Misc/space_cash.yml Добавлен новый объект для виртуальной валюты.
Resources/Prototypes/GameRules/roundstart.yml Добавлены новые правила игры для различных режимов.
Resources/Prototypes/Nyanotrasen/Entities/Mobs/Player/felinid.yml Добавлен новый компонент для сущности игрока.
Resources/Prototypes/SoundCollections/expeditions.yml Добавлены новые аудиофайлы для коллекции звуков.
Resources/Prototypes/_LostParadise/Access/research.yml Добавлен новый уровень доступа "Mercenary".
Resources/Prototypes/_LostParadise/Catalog/Fills/Items/briefcases_exp.yml Добавлены новые сущности для виртуальной валюты.
Resources/Prototypes/_LostParadise/Catalog/Fills/Items/misc.yml Добавлены новые сущности для одежды и обуви.
Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/security.yml Добавлены новые сущности для шкафов и ящиков.
Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/suit_storage.yml Добавлены новые сущности для хранения костюмов.
Resources/Prototypes/_LostParadise/Entities/Clothing/Head/hardsuit-helmet.yml Добавлены новые сущности для шлемов.
Resources/Prototypes/_LostParadise/Entities/Clothing/Mask/mask.yml Добавлены новые сущности для масок.
Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/coats_blood_cult.yml Добавлены новые сущности для одежды культистов.
Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/hardsuits.yml Добавлены новые сущности для хардсвита.
Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/boots.yml Добавлены новые сущности для обуви.
Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/magboots.yml Добавлены новые сущности для магнитной обуви.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_engineering.yml Добавлены новые сущности для инженерного лута.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml Добавлены новые сущности для общего лута.
Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml Добавлены новые сущности для наборов инструментов.
Resources/Prototypes/SoundCollections/NukeMusic.yml Добавлены новые аудиофайлы для коллекции звуков.
Resources/Prototypes/_LostParadise/Catalog/Fills/Backpacks/duffelbags.yml Добавлены новые сущности для медицинских наборов.
Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml Добавлены новые сущности для лута.
Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/materials.yml Добавлены новые сущности для материалов.
Resources/Prototypes/_LostParadise/Catalog/Fills/StorageFillTemplates/departmental_eva.yml Добавлены новые сущности для EVA-наборов.
Resources/Prototypes/_LostParadise/Entities/Clothing/Head/softsuits-helmets.yml Добавлены новые сущности для EVA-шлемов.
Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/softsuits.yml Добавлены новые сущности для EVA-костюмов.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_hydroponics.yml Добавлены новые сущности для гидропоники.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml Добавлены новые сущности для кухни.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_medical.yml Добавлены новые сущности для медицинских предметов.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml Добавлены новые сущности для лута для наемников.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml Добавлены новые сущности для научного лута.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_supply.yml Добавлены новые сущности для поставок.
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/generator.yml Добавлена новая сущность для генератора.

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.

@github-actions github-actions bot added Статус: Требуется одобрение Ожидание разработчиков для принятия решений Изменения: Интерфейс Изменяет какие-либо файлы .xaml and removed Статус: Требуется одобрение Ожидание разработчиков для принятия решений labels Dec 3, 2024
Copy link
Contributor

github-actions bot commented Dec 3, 2024

RSI Diff Bot; head commit 2e7b3fe merging into 4a4cff1
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Clothing/Head/Hardsuits/spatiohelm.rsi

State Old New Status
equipped-head-unshaded Added

Resources/Textures/Clothing/OuterClothing/WinterCoats/coat.rsi

State Old New Status
MINER-equipped-OUTERCLOTHING-vox Added
MINER-equipped-OUTERCLOTHING Added
MINER-icon Added
MINER-inhand-left Added
MINER-inhand-right Added

Resources/Textures/_LostParadise/Clothing/Head/Hardsuits/maxim_prototype.rsi

State Old New Status
icon-flash Added
icon Added
off-equipped-HELMET Added
on-equipped-HELMET Added

Resources/Textures/_LostParadise/Clothing/Head/Hardsuits/mercenary.rsi

State Old New Status
icon-flash Added
icon Added
off-equipped-HELMET-vulpkanin Added
off-equipped-HELMET Added
off-inhand-left Added
off-inhand-right Added
on-equipped-HELMET-vulpkanin Added
on-equipped-HELMET Added
on-inhand-left Added
on-inhand-right Added

Resources/Textures/_LostParadise/Clothing/Head/Hats/nfsd_beret_green.rsi

State Old New Status
equipped-HELMET-cat Added
equipped-HELMET Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/Head/Hats/pilot.rsi

State Old New Status
equipped-HELMET Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi

State Old New Status
equipped-head-base Added
equipped-head-decals-01 Added
equipped-head-decals-02 Added
equipped-head-light Added
equipped-head-reinforced-points Added
equipped-head-visor Added
icon-base Added
icon-decals-01 Added
icon-decals-02 Added
icon-flash Added
icon-reinforced-points Added
icon-visor Added
light-overlay Added

Resources/Textures/_LostParadise/Clothing/Head/Helmets/syndicate_bombsuit.rsi

State Old New Status
equipped-HELMET Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/Head/Hoods/Bio/syndicate.rsi

State Old New Status
equipped-HELMET Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/Head/Hoods/cult.rsi

State Old New Status
equipped-HELMET Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/Neck/Misc/ascended_cultist_amulet.rsi

State Old New Status
equipped-NECK Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/Neck/Misc/mercenary_iff.rsi

State Old New Status
equipped-NECK-off Added
equipped-NECK-on Added
icon-off Added
icon-on Added

Resources/Textures/_LostParadise/Clothing/OuterClothing/Bio/syndicate.rsi

State Old New Status
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/OuterClothing/Coats/cult_robes.rsi

State Old New Status
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/maxim_prototype.rsi

State Old New Status
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/mercenary.rsi

State Old New Status
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/scaf.rsi

State Old New Status
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi

State Old New Status
equipped-base Added
equipped-breathing-gear Added
equipped-decals-01 Added
equipped-decals-02-boxer Added
equipped-reinforced-points Added
equipped-unshaded Added
icon-base Added
icon-breathing-gear Added
icon-decals-01 Added
icon-decals-02-boxer Added
icon-reinforced-points Added
icon-unshaded Added
inhand-left-base Added
inhand-left-breathing-gear Added
inhand-left-decals-01 Added

Edit: diff updated after 2e7b3fe

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.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments.

🛑 Comments failed to post (124)
Content.Shared/_LostParadise/Interaction/Components/ComplexInteractionComponent.cs (1)

6-8: 🧹 Nitpick (assertive)

Рекомендуется расширить документацию

Текущая документация довольно краткая. Предлагаю добавить:

  • Примеры использования компонента
  • Описание взаимодействия с другими системами
  • Объяснение, какие именно "complex interactions" поддерживаются
 /// <summary>
 /// This is used for identifying entities as being able to use complex interactions with the environment.
 /// </summary>
+/// <remarks>
+/// Этот компонент используется для:
+/// - Идентификации сущностей, способных выполнять сложные взаимодействия
+/// - Интеграции с системой экспедиций
+/// - Работы с консолью salvage expedition
+/// 
+/// Пример использования:
+/// ```cs
+/// var entity = EntityManager.SpawnEntity("BaseEntity", coordinates);
+/// EntityManager.AddComponent<ComplexInteractionComponent>(entity);
+/// ```
+/// </remarks>
Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/security.yml (1)

23-23: ⚠️ Potential issue

Несоответствие в префиксах идентификаторов

Существующий прототип использует префикс LPP, в то время как новые прототипы используют префикс NF. Рекомендуется придерживаться единого стиля именования.

Предлагаемые изменения:

- id: NFClosetBombFilled
+ id: LPPClosetBombFilled
- id: NFLockerSecurityFilled
+ id: LPPLockerSecurityFilled

Also applies to: 35-35

Content.Shared/_LostParadise/EntityTable/ValueSelector/RangeNumberSelector.cs (2)

7-9: ⚠️ Potential issue

Несоответствие документации и реализации

Комментарий указывает на включительный диапазон ("inclusive"), но реализация метода Get использует исключающий верхний предел. Необходимо либо исправить документацию, либо изменить реализацию для соответствия описанию.

Предлагаемое исправление документации:

-/// Gives a value between the two numbers specified, inclusive.
+/// Gives a value between Range.X (inclusive) and Range.Y (exclusive).
📝 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.

/// <summary>
/// Gives a value between Range.X (inclusive) and Range.Y (exclusive).
/// </summary>

12-13: 🛠️ Refactor suggestion

Добавьте валидацию значений Range

Текущая реализация не проверяет корректность значений Range. Необходимо убедиться, что Range.X <= Range.Y.

Предлагаемое решение:

 [DataField]
-public Vector2 Range = new(1, 1);
+public Vector2 Range
+{
+    get => _range;
+    set
+    {
+        if (value.X > value.Y)
+            throw new ArgumentException("Range.X должно быть меньше или равно Range.Y");
+        _range = value;
+    }
+}
+
+private Vector2 _range = new(1, 1);
📝 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.

    [DataField]
    public Vector2 Range
    {
        get => _range;
        set
        {
            if (value.X > value.Y)
                throw new ArgumentException("Range.X должно быть меньше или равно Range.Y");
            _range = value;
        }
    }

    private Vector2 _range = new(1, 1);
Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/coats_blood_cult.yml (1)

21-21: 🧹 Nitpick (assertive)

Исправьте лишние пробелы в категориях

В строке с категориями есть лишние пробелы внутри квадратных скобок.

Примените следующее исправление:

-  categories: [ HideSpawnMenu ]
+  categories: [HideSpawnMenu]
📝 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.

  categories: [HideSpawnMenu]
🧰 Tools
🪛 yamllint (1.35.1)

[error] 21-21: too many spaces inside brackets

(brackets)


[error] 21-21: too many spaces inside brackets

(brackets)

Content.Shared/_LostParadise/EntityTable/ValueSelector/ConstantNumberSelector.cs (3)

10-11: 🧹 Nitpick (assertive)

Рекомендуется добавить валидацию значения

Поле Value может принимать любые значения, включая отрицательные или NaN. Следует добавить атрибут для указания допустимого диапазона значений.

-    [DataField]
+    [DataField(required: true)]
+    [ValidateRange(min: 0.0f)]
     public float Value = 1;
📝 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.

    [DataField(required: true)]
    [ValidateRange(min: 0.0f)]
    public float Value = 1;

18-21: 🧹 Nitpick (assertive)

Метод реализован корректно, но можно улучшить производительность

Метод Get корректно возвращает константное значение, игнорируя входные параметры. Рекомендуется пометить неиспользуемые параметры атрибутом [NotNull] для улучшения статического анализа.

-    public override float Get(System.Random rand, IEntityManager entMan, IPrototypeManager proto)
+    public override float Get([NotNull] System.Random rand, [NotNull] IEntityManager entMan, [NotNull] IPrototypeManager proto)
     {
         return Value;
     }
📝 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.

    public override float Get([NotNull] System.Random rand, [NotNull] IEntityManager entMan, [NotNull] IPrototypeManager proto)
    {
        return Value;
    }

5-8: 🧹 Nitpick (assertive)

Рекомендуется расширить документацию

Текущая документация слишком краткая. Предлагаю добавить более подробное описание класса, включая:

  • Примеры использования
  • Описание наследования от LPNumberSelector
  • Объяснение, почему класс помечен как sealed partial
 /// <summary>
-/// Gives a constant value.
+/// Селектор, возвращающий константное значение независимо от входных параметров.
+/// Наследуется от LPNumberSelector для использования в системе селекторов значений.
+/// </summary>
+/// <remarks>
+/// Пример использования:
+/// var selector = new LPConstantNumberSelector(5.0f);
+/// float value = selector.Get(random, entityManager, prototypeManager); // Всегда вернёт 5.0
+/// </remarks>
📝 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.

/// <summary>
/// Селектор, возвращающий константное значение независимо от входных параметров.
/// Наследуется от LPNumberSelector для использования в системе селекторов значений.
/// </summary>
/// <remarks>
/// Пример использования:
/// var selector = new LPConstantNumberSelector(5.0f);
/// float value = selector.Get(random, entityManager, prototypeManager); // Всегда вернёт 5.0
/// </remarks>
public sealed partial class LPConstantNumberSelector : LPNumberSelector
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindowOption.xaml.cs (6)

1-21: 🧹 Nitpick (assertive)

Оптимизируйте список импортов

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

  • Content.Shared.CCVar
  • Content.Shared.Parallax.Biomes
  • Content.Shared.Procedural
  • Content.Shared.Shuttles.BUIStates

24-28: 🧹 Nitpick (assertive)

Расширьте документацию класса

Текущая документация слишком краткая. Рекомендуется добавить:

  • Подробное описание назначения класса
  • Примеры использования
  • Информацию о связи с XAML файлом
  • Описание основных свойств и событий

28-87: 🧹 Nitpick (assertive)

Рассмотрите архитектурные улучшения

Предлагаемые архитектурные улучшения:

  1. Извлеките интерфейс для упрощения тестирования
  2. Рассмотрите использование паттерна Event Aggregation для обработки событий
  3. Добавьте поддержку DI через конструктор
+ public interface ILPOfferingWindowOption
+ {
+     string? Title { get; set; }
+     bool Claimed { get; set; }
+     bool Disabled { get; set; }
+     void AddContent(Control control);
+     event Action<BaseButton.ButtonEventArgs>? ClaimPressed;
+ }

- public sealed partial class LPOfferingWindowOption : PanelContainer
+ public sealed partial class LPOfferingWindowOption : PanelContainer, ILPOfferingWindowOption

Committable suggestion skipped: line range outside the PR's diff.


54-57: 🛠️ Refactor suggestion

Добавьте валидацию в метод AddContent

Необходимо добавить:

  1. XML документацию
  2. Проверку параметра на null
  3. Возможно, проверку на максимальное количество элементов
+ /// <summary>
+ /// Добавляет элемент управления в контейнер содержимого.
+ /// </summary>
+ /// <param name="control">Элемент управления для добавления</param>
+ /// <exception cref="ArgumentNullException">Если control равен null</exception>
public void AddContent(Control control)
{
+   if (control == null)
+       throw new ArgumentNullException(nameof(control));
+
    ContentBox.AddChild(control);
}
📝 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.

    /// <summary>
    /// Добавляет элемент управления в контейнер содержимого.
    /// </summary>
    /// <param name="control">Элемент управления для добавления</param>
    /// <exception cref="ArgumentNullException">Если control равен null</exception>
    public void AddContent(Control control)
    {
        if (control == null)
            throw new ArgumentNullException(nameof(control));

        ContentBox.AddChild(control);
    }

40-52: 🧹 Nitpick (assertive)

Улучшите реализацию конструктора

Рекомендуемые улучшения:

  1. Добавьте проверки на null после внедрения зависимостей
  2. Вынесите цветовые значения в константы
  3. Рассмотрите возможность использования EventHandler<BaseButton.ButtonEventArgs> вместо Action<>
+ private static readonly Color PanelBackgroundColor = new(30, 30, 34);

public LPOfferingWindowOption()
{
    RobustXamlLoader.Load(this);
    IoCManager.InjectDependencies(this);

    LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide);
-   BigPanel.PanelOverride = new StyleBoxFlat(new Color(30, 30, 34));
+   BigPanel.PanelOverride = new StyleBoxFlat(PanelBackgroundColor);

Committable suggestion skipped: line range outside the PR's diff.


65-86: 🧹 Nitpick (assertive)

Улучшите реализацию свойства Claimed

Рекомендации по улучшению:

  1. Добавьте XML документацию для свойства
  2. Вынесите ключи локализации в константы
  3. Рассмотрите использование паттерна INotifyPropertyChanged для отслеживания изменений
+ private const string ClaimedLocKey = "offering-window-claimed";
+ private const string ClaimLocKey = "offering-window-claim";

+ /// <summary>
+ /// Получает или устанавливает состояние предложения (заявлено/не заявлено).
+ /// При изменении состояния обновляется стиль и текст кнопки.
+ /// </summary>
public bool Claimed
{
    get => _claimed;
    set
    {
        if (_claimed == value)
            return;

        _claimed = value;

        if (_claimed)
        {
            ClaimButton.AddStyleClass(StyleBase.ButtonCaution);
-           ClaimButton.Text = Loc.GetString("offering-window-claimed");
+           ClaimButton.Text = Loc.GetString(ClaimedLocKey);
        }
        else
        {
            ClaimButton.RemoveStyleClass(StyleBase.ButtonCaution);
-           ClaimButton.Text = Loc.GetString("offering-window-claim");
+           ClaimButton.Text = Loc.GetString(ClaimLocKey);
        }
    }
}

Committable suggestion skipped: line range outside the PR's diff.

Content.Server/_LostParadise/Spawners/Components/EntityTableSpawnerComponent.cs (2)

19-20: 🧹 Nitpick (assertive)

Добавьте валидацию для Offset

Значение Offset используется для разброса координат спавна, но отсутствует проверка на отрицательные значения.

-    public float Offset = 0.2f;
+    private float _offset = 0.2f;
+    
+    [DataField]
+    public float Offset
+    {
+        get => _offset;
+        set => _offset = value >= 0 ? value : throw new ArgumentException("Offset cannot be negative");
+    }
📝 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.

    [DataField]
    private float _offset = 0.2f;
    
    [DataField]
    public float Offset
    {
        get => _offset;
        set => _offset = value >= 0 ? value : throw new ArgumentException("Offset cannot be negative");
    }

13-14: 🛠️ Refactor suggestion

Рассмотрите добавление валидации для Table

Свойство Table помечено как required, но инициализируется значением по умолчанию. Рекомендуется добавить проверку на null в конструкторе или через IComponentFactory.

-    public LPEntityTableSelector Table = default!;
+    private LPEntityTableSelector _table = default!;
+    
+    [DataField(required: true)]
+    public LPEntityTableSelector Table
+    {
+        get => _table;
+        set => _table = value ?? throw new ArgumentNullException(nameof(value));
+    }
📝 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.

    [DataField(required: true)]
    private LPEntityTableSelector _table = default!;
    
    [DataField(required: true)]
    public LPEntityTableSelector Table
    {
        get => _table;
        set => _table = value ?? throw new ArgumentNullException(nameof(value));
    }
Content.Shared/_LostParadise/EntityTable/EntitySelectors/EntityTableTypeSerializer.cs (2)

31-35: ⚠️ Potential issue

Потенциально небезопасное приведение типов в методе Read

В методе Read, если node содержит LPEntSelector.IdDataFieldTag, переменная type устанавливается в typeof(LPEntSelector). Однако, результат десериализации затем приводится к LPEntityTableSelector. Если LPEntSelector не является наследником LPEntityTableSelector, это может привести к исключению во время выполнения. Рекомендуется проверить и обеспечить корректность приведения типов или изменить логику, чтобы обработать разные типы безопасно.


21-21: 🧹 Nitpick (assertive)

Улучшите сообщение об ошибке в методе Validate

Текущее сообщение об ошибке: "Custom validation not supported! Please specify the type manually!" может быть недостаточно информативным для пользователя. Рассмотрите возможность предоставления более подробного сообщения, которое поможет понять причину ошибки и как ее исправить.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_engineering.yml (2)

204-209: 🛠️ Refactor suggestion

Обнаружено дублирование в списке редких прототипов

В SpawnDungeonLootLockersEngi есть повторяющиеся записи:

rarePrototypes:
  - LockerChiefEngineer
  - LockerChiefEngineer
  - LockerChiefEngineerFilled
  - LockerChiefEngineerFilled

Рекомендуется удалить дубликаты и использовать веса:

 rarePrototypes:
-  - LockerChiefEngineer
-  - LockerChiefEngineer
-  - LockerChiefEngineerFilled
-  - LockerChiefEngineerFilled
+  - LockerChiefEngineer: 0.5
+  - LockerChiefEngineerFilled: 0.5
🧰 Tools
🪛 yamllint (1.35.1)

[error] 204-204: wrong indentation: expected 6 but found 4

(indentation)


422-424: 🧹 Nitpick (assertive)

Несогласованный стиль комментариев

В файле используются разные стили комментирования для отключенных предметов Синдиката:

#    - VendingMachineSyndieContraband # A bit less Syndicate loot
#    - VendingMachineSyndieDrobe # A bit less Syndicate loot

vs

    # - VendingMachineChemicalsSyndicate # A bit less Syndicate loot
    - VendingMachineArcadia
    # - VendingMachineSyndieDrobe # A bit less Syndicate loot
    # - VendingMachineSyndieContraband # A bit less Syndicate loot

Рекомендуется использовать единый стиль комментирования:

# - VendingMachineSyndieContraband # A bit less Syndicate loot

Also applies to: 489-493

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 422-422: comment not indented like content

(comments-indentation)


[error] 424-424: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (1)

293-299: 🧹 Nitpick (assertive)

Рекомендуется вынести магические числа шансов спавна

В файле используются повторяющиеся значения шансов спавна (0.9, 0.95, 0.01, 0.05 и т.д.). Рекомендуется вынести их в отдельные константы в начале файла.

Добавьте секцию с константами в начало файла:

# Spawn chance constants
constants:
  COMMON_CHANCE: 0.95
  RARE_CHANCE: 0.05
  VERY_RARE_CHANCE: 0.01
  ULTRA_RARE_CHANCE: 0.001

И используйте их в конфигурациях:

chance: !const COMMON_CHANCE
rareChance: !const RARE_CHANCE

Also applies to: 334-340, 394-396, 430-437, 486-494, 711-719, 781-786, 881-886, 911-916, 942-951, 970-978, 1012-1018, 1063-1067

🧰 Tools
🪛 yamllint (1.35.1)

[error] 297-297: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/Neck/misc.yml (1)

19-24: 💡 Codebase verification

Аудио файлы найдены, но обнаружен конфликт

В репозитории найдены оба требуемых аудио файла, однако файл silence.ogg существует в двух местах:

  • /Audio/_LostParadise/Effects/silence.ogg
  • /Audio/Effects/silence.ogg

Рекомендуется:

  • Определить, какой из файлов silence.ogg должен использоваться
  • Удалить дублирующий файл во избежание путаницы
  • Убедиться, что путь в конфигурации указывает на правильную версию файла
🔗 Analysis chain

Проверьте наличие аудио файлов

Необходимо убедиться, что указанные аудио файлы существуют:

  • /Audio/Effects/teleport_arrival.ogg
  • /Audio/_LostParadise/Effects/silence.ogg
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if the audio files exist
fd "teleport_arrival.ogg|silence.ogg" --type f

Length of output: 179

Content.Client/_LostParadise/Salvage/UI/LPOfferingWindow.xaml.cs (6)

20-21: 🧹 Nitpick (assertive)

Рекомендация: использовать свойства вместо публичных полей для лучшей инкапсуляции

Поля Claimed и NextOffer объявлены как публичные. Рекомендуется заменить их на свойства, чтобы обеспечить контроль доступа и возможность добавления логики при их чтении или записи.


63-63: 🧹 Nitpick (assertive)

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

В строке 63 цвет задается напрямую через Color.FromHex("#C74EBD"). Рекомендуется использовать цветовые темы или константы приложения для обеспечения согласованности дизайна и удобства изменения цветовой схемы в будущем.


80-94: 🧹 Nitpick (assertive)

Рефакторинг: устраните дублирование кода в методе FrameUpdate

Код обновления прогресс-бара и текста для Progression и NextOffer имеет похожую структуру. Рассмотрите возможность вынести общий код в отдельный метод, чтобы уменьшить дублирование и улучшить поддерживаемость.

Also applies to: 96-115


91-92: ⚠️ Potential issue

Проверка на возможное деление на ноль в методе FrameUpdate

При вычислении ProgressionBar.Value и NextOfferBar.Value происходит деление на ProgressionCooldown и Cooldown. Убедитесь, что эти значения не равны нулю, чтобы избежать исключения деления на ноль.

Also applies to: 112-113


20-37: 🧹 Nitpick (assertive)

Рекомендация: добавить XML-комментарии для публичных членов

Добавьте XML-документацию для публичных свойств и методов, таких как Cooldown, ProgressionCooldown, AddOption и ClearOptions. Это поможет другим разработчикам понять назначение и использование этих членов класса.

Also applies to: 66-75


47-54: 🛠️ Refactor suggestion

Упрощение условия в сеттере свойства Progression

Условие видимости ProgressionBox можно сократить:

- if (value == null)
- {
-     ProgressionBox.Visible = false;
- }
- else
- {
-     ProgressionBox.Visible = true;
- }
+ ProgressionBox.Visible = value != null;

Это улучшит читаемость и эффективность кода.

📝 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.

            ProgressionBox.Visible = value != null;
Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsSystem.cs (3)

70-75: 🧹 Nitpick (assertive)

Удалите закомментированный старый код для повышения читаемости

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

Примените следующий дифф для удаления ненужного кода:

  // Old implementation
- //else if (TryComp(target, out DamageableComponent? dc))
- //{
- //    _damageableSystem.SetAllDamage(target, dc, 200);
- //}
📝 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.

        }

25-30: 🧹 Nitpick (assertive)

Добавьте логирование при неправильной инициализации

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

Примените следующий код для добавления логирования:

  if (!EntityManager.EntityExists(gridUid))
  {
+     // Логирование предупреждения
+     Logger.Warning($"LPSalvageMobRestrictionsComponent на сущности {uid} не смог найти родительский gridUid. Возможно, сущность была создана неправильно.");
      // Give up, we were spawned improperly
      return;
  }
📝 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.

        var gridUid = Transform(uid).ParentUid;
        if (!EntityManager.EntityExists(gridUid))
        {
            // Логирование предупреждения
            Logger.Warning($"LPSalvageMobRestrictionsComponent на сущности {uid} не смог найти родительский gridUid. Возможно, сущность была создана неправильно.");
            // Give up, we were spawned improperly
            return;
        }

33-36: 🛠️ Refactor suggestion

Используйте EnsureComp для предотвращения повторного добавления компонента

Вместо проверки и последующего добавления компонента LPSalvageMobRestrictionsGridComponent, можно использовать метод EnsureComp для упрощения кода и предотвращения возможных ошибок, связанных с повторным добавлением компонента.

Обновите код следующим образом:

  if (!TryComp(gridUid, out LPSalvageMobRestrictionsGridComponent? rg))
  {
-     rg = AddComp<LPSalvageMobRestrictionsGridComponent>(gridUid);
+     rg = EnsureComp<LPSalvageMobRestrictionsGridComponent>(gridUid);
  }

Committable suggestion skipped: line range outside the PR's diff.

Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageMiningExpeditionComponent.cs (1)

11-15: 🛠️ Refactor suggestion

Рекомендуется улучшить инкапсуляцию ExemptEntities

Текущая реализация имеет несколько потенциальных проблем:

  1. Публичный List может быть изменен из любого места, что может привести к проблемам многопоточности
  2. Отсутствует валидация при изменении списка
  3. Нет событий для отслеживания изменений

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

-    [DataField("exemptEntities")]
-    public List<EntityUid> ExemptEntities = new();
+    [DataField("exemptEntities")]
+    private List<EntityUid> _exemptEntities = new();
+
+    public IReadOnlyList<EntityUid> ExemptEntities => _exemptEntities;
+
+    /// <summary>
+    /// Adds an entity to the exempt list.
+    /// </summary>
+    public void AddExemptEntity(EntityUid entity)
+    {
+        if (!_exemptEntities.Contains(entity))
+            _exemptEntities.Add(entity);
+    }
+
+    /// <summary>
+    /// Removes an entity from the exempt list.
+    /// </summary>
+    public void RemoveExemptEntity(EntityUid entity)
+    {
+        _exemptEntities.Remove(entity);
+    }
📝 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.

    /// <summary>
    /// Entities that were present on the shuttle and match the loot tax.
    /// </summary>
    [DataField("exemptEntities")]
    private List<EntityUid> _exemptEntities = new();

    public IReadOnlyList<EntityUid> ExemptEntities => _exemptEntities;

    /// <summary>
    /// Adds an entity to the exempt list.
    /// </summary>
    public void AddExemptEntity(EntityUid entity)
    {
        if (!_exemptEntities.Contains(entity))
            _exemptEntities.Add(entity);
    }

    /// <summary>
    /// Removes an entity from the exempt list.
    /// </summary>
    public void RemoveExemptEntity(EntityUid entity)
    {
        _exemptEntities.Remove(entity);
    }
Content.Server/_LostParadise/Salvage/LPSalvageRulerCommand.cs (4)

14-18: 🧹 Nitpick (assertive)

Рекомендуется вынести ключи локализации в константы

Для улучшения поддержки кода и избежания опечаток, рекомендуется определить константы для ключей локализации.

+private const string LocDescriptionKey = "salvage-ruler-command-description";
+private const string LocHelpTextKey = "salvage-ruler-command-help-text";
+
 public string Command => "lpsalvageruler";
-public string Description => Loc.GetString("salvage-ruler-command-description");
+public string Description => Loc.GetString(LocDescriptionKey);
-public string Help => Loc.GetString("salvage-ruler-command-help-text", ("command",Command));
+public string Help => Loc.GetString(LocHelpTextKey, ("command",Command));
📝 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.

    private const string LocDescriptionKey = "salvage-ruler-command-description";
    private const string LocHelpTextKey = "salvage-ruler-command-help-text";

    public string Command => "lpsalvageruler";

    public string Description => Loc.GetString(LocDescriptionKey);

    public string Help => Loc.GetString(LocHelpTextKey, ("command",Command));

8-13: 🧹 Nitpick (assertive)

Добавьте XML документацию для класса

Рекомендуется добавить XML документацию для улучшения читаемости кода и облегчения его поддержки. Документация должна описывать назначение команды и её параметры.

+/// <summary>
+/// Консольная команда для администраторов, вычисляющая границы игровой карты
+/// </summary>
 [AdminCommand(AdminFlags.Admin)]
 sealed class LPSalvageRulerCommand : IConsoleCommand
📝 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.

/// <summary>
/// Консольная команда для администраторов, вычисляющая границы игровой карты
/// </summary>
[AdminCommand(AdminFlags.Admin)]
sealed class LPSalvageRulerCommand : IConsoleCommand
{
    [Dependency] private readonly IEntityManager _entities = default!;
    [Dependency] private readonly IMapManager _maps = default!;


20-40: 🧹 Nitpick (assertive)

Выделите валидацию в отдельный метод

Для улучшения читаемости и переиспользования кода, рекомендуется выделить проверки в отдельный метод.

+private (bool isValid, string? error) ValidateCommand(IConsoleShell shell, string[] args)
+{
+    if (args.Length != 0)
+        return (false, Loc.GetString("shell-wrong-arguments-number"));
+
+    if (shell.Player is not { } player)
+        return (false, Loc.GetString("shell-cannot-run-command-from-server"));
+
+    if (player.AttachedEntity == null)
+        return (false, Loc.GetString("shell-must-be-attached-to-entity"));
+
+    return (true, null);
+}

 public void Execute(IConsoleShell shell, string argStr, string[] args)
 {
-    if (args.Length != 0)
-    {
-        shell.WriteError(Loc.GetString("shell-wrong-arguments-number"));
-        return;
-    }
-    // ... остальные проверки
+    var (isValid, error) = ValidateCommand(shell, args);
+    if (!isValid)
+    {
+        shell.WriteError(error!);
+        return;
+    }

Committable suggestion skipped: line range outside the PR's diff.


42-61: 🛠️ Refactor suggestion

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

Текущая реализация может быть оптимизирована и должна включать обработку потенциальных ошибок.

  1. Добавьте проверку на пустую карту
  2. Используйте LINQ для более чистого кода
  3. Добавьте обработку исключений при трансформации координат
 var entityTransform = _entities.GetComponent<TransformComponent>(entity.Value);
+var grids = _maps.GetAllGrids(entityTransform.MapID).ToList();
+
+if (!grids.Any())
+{
+    shell.WriteError(Loc.GetString("salvage-ruler-no-grids-found"));
+    return;
+}
+
+try
+{
-var total = Box2.UnitCentered;
-var first = true;
-foreach (var mapGrid in _maps.GetAllGrids(entityTransform.MapID))
-{
-    var aabb = _entities.System<SharedTransformSystem>().GetWorldMatrix(mapGrid).TransformBox(mapGrid.Comp.LocalAABB);
-    if (first)
-    {
-        total = aabb;
-    }
-    else
-    {
-        total = total.ExtendToContain(aabb.TopLeft);
-        total = total.ExtendToContain(aabb.TopRight);
-        total = total.ExtendToContain(aabb.BottomLeft);
-        total = total.ExtendToContain(aabb.BottomRight);
-    }
-    first = false;
+    var transformSystem = _entities.System<SharedTransformSystem>();
+    var total = grids
+        .Select(grid => transformSystem.GetWorldMatrix(grid).TransformBox(grid.Comp.LocalAABB))
+        .Aggregate((current, next) => Box2.Union(current, next));
+    
+    shell.WriteLine(total.ToString());
+}
+catch (Exception ex)
+{
+    shell.WriteError($"Error calculating boundaries: {ex.Message}");
 }
-shell.WriteLine(total.ToString());

Committable suggestion skipped: line range outside the PR's diff.

Content.Server/_LostParadise/Salvage/LPSalvageSystem.ExpeditionConsole.cs (5)

47-47: ⚠️ Potential issue

Потенциальное исключение NullReference при обращении к station.Value

Переменная station может быть null, что может привести к исключению NullReferenceException при вызове UpdateConsoles(station.Value, data); без проверки station.HasValue. Рекомендуется добавить проверку station.HasValue перед использованием station.Value.

Предлагается добавить следующую проверку перед использованием station.Value:

if (!station.HasValue)
    return;

UpdateConsoles(station.Value, data);

155-170: ⚠️ Potential issue

Потенциальное исключение NullReference при использовании map.Value без проверки map.HasValue

Переменная map может быть null, что может привести к исключению NullReferenceException при обращении к map.Value в методах TryComp и Announce. Рекомендуется добавить проверку map.HasValue перед использованием map.Value.

Предлагается добавить следующую проверку:

if (!map.HasValue)
    return;

// Далее использовать map.Value

190-194: ⚠️ Potential issue

Некорректное сравнение nullable переменной station с non-nullable stationUid

Переменная station может быть null. Сравнение if (station != stationUid) может привести к непредсказуемому поведению. Рекомендуется проверить station.HasValue перед сравнением или использовать безопасное разыменование.

Предлагается изменить условие следующим образом:

if (!station.HasValue || station.Value != stationUid)
    continue;

201-207: ⚠️ Potential issue

Потенциальное использование null station в методе TryComp

Переменная station может быть null. Вызов TryComp с station без проверки на HasValue может быть некорректным. Рекомендуется проверить station.HasValue перед использованием station в TryComp.

Предлагается изменить код следующим образом:

if (station.HasValue && TryComp<LPSalvageExpeditionDataComponent>(station.Value, out var dataComponent))
{
    state = GetState(dataComponent);
}
else
{
    state = new LPSalvageExpeditionConsoleState(TimeSpan.Zero, false, true, false, 0, new List<LPSalvageMissionParams>());
}

103-170: 🧹 Nitpick (assertive)

Метод OnSalvageFinishMessage слишком длинный и сложный

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

Resources/Prototypes/GameRules/roundstart.yml (1)

114-114: ⚠️ Potential issue

Удалите пустую строку с номером

Строка 114 содержит только номер без содержимого. Необходимо удалить эту строку для поддержания чистоты кода.

Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsGridComponent.cs (2)

13-15: 🧹 Nitpick (assertive)

Рекомендуется добавить защиту от одновременного доступа

Поскольку MobsToKill является изменяемым списком, к которому могут обращаться различные системы, рекомендуется использовать потокобезопасную коллекцию или добавить синхронизацию доступа.

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

[ViewVariables(VVAccess.ReadOnly)]
[DataField("mobsToKill")]
-public List<EntityUid> MobsToKill = new();
+public IList<EntityUid> MobsToKill { get; } = new List<EntityUid>();

Также рекомендуется добавить документацию XML для публичного свойства:

+/// <summary>
+/// Список сущностей мобов, которые должны быть уничтожены при удалении компонента
+/// </summary>
[ViewVariables(VVAccess.ReadOnly)]
[DataField("mobsToKill")]
public IList<EntityUid> MobsToKill { get; } = new List<EntityUid>();
📝 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.

    /// <summary>
    /// Список сущностей мобов, которые должны быть уничтожены при удалении компонента
    /// </summary>
    [ViewVariables(VVAccess.ReadOnly)]
    [DataField("mobsToKill")]
    public IList<EntityUid> MobsToKill { get; } = new List<EntityUid>();

10-12: 🧹 Nitpick (assertive)

💡 Codebase verification

Модификатор partial можно убрать

В кодовой базе нет других частичных определений класса LPSalvageMobRestrictionsGridComponent, а также нет признаков использования source generation для автоматической генерации кода. Модификатор partial в данном случае не требуется.

🔗 Analysis chain

Проверьте необходимость модификатора partial

Модификатор partial используется для разделения класса на несколько файлов. Если у компонента нет других частичных определений, можно убрать этот модификатор.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем наличие других частичных определений класса
rg -l "partial class LPSalvageMobRestrictionsGridComponent"

Length of output: 139


Script:

#!/bin/bash
# Проверим, есть ли сгенерированные файлы для этого компонента
fd -g "*LPSalvageMobRestrictionsGridComponent.g.cs"

Length of output: 53


Script:

#!/bin/bash
# Проверим, использует ли проект генерацию исходного кода через Roslyn source generators
fd -g "*.csproj" -x grep -l "Microsoft.CodeAnalysis"

Length of output: 52


Script:

#!/bin/bash
# Проверим содержимое файла проекта, чтобы понять, используется ли source generation
fd -g "Content.Server.csproj" -x cat

# Также проверим, есть ли другие файлы с похожим названием компонента
rg -l "LPSalvageMobRestrictionsGrid"

Length of output: 2101


Script:

#!/bin/bash
# Проверим содержимое системного файла, чтобы понять, использует ли он source generation
cat Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsSystem.cs

# Также проверим наличие других файлов с source generation
fd -g "*.Generated.cs"

Length of output: 3117

Content.Shared/_LostParadise/EntityTable/ValueSelector/NumberSelector.cs (2)

7-10: 🧹 Nitpick (assertive)

XML-документация требует дополнения

Текущая документация слишком краткая. Рекомендуется добавить:

  • Описание параметров метода Get
  • Примеры использования
  • Информацию о возвращаемом значении

Предлагаемые изменения:

 /// <summary>
 /// Used for implementing custom value selection for <see cref="EntityTableSelector"/>
 /// </summary>
+/// <remarks>
+/// Provides a mechanism for selecting numeric values based on random generation and entity/prototype context.
+/// Inheritors should implement specific selection logic in the Get method.
+/// </remarks>
📝 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.

/// <summary>
/// Used for implementing custom value selection for <see cref="EntityTableSelector"/>
/// </summary>
/// <remarks>
/// Provides a mechanism for selecting numeric values based on random generation and entity/prototype context.
/// Inheritors should implement specific selection logic in the Get method.
/// </remarks>
[ImplicitDataDefinitionForInheritors, UsedImplicitly(ImplicitUseTargetFlags.WithInheritors)]

11-16: 🧹 Nitpick (assertive)

💡 Codebase verification

Модификатор partial можно удалить

Анализ кодовой базы показывает:

  • Базовый класс LPNumberSelector и его наследники (LPConstantNumberSelector, LPRangeNumberSelector) помечены как partial
  • Дополнительных частей (partial) для этих классов не обнаружено
  • Классы содержат минимальную реализацию без разделения на части

Рекомендации:

  • Удалить модификатор partial из всех трёх классов, так как он не используется
  • Добавить проверку входных параметров в наследниках согласно изначальной рекомендации
🔗 Analysis chain

Проверьте необходимость partial-класса

Класс помечен как partial, но в текущей реализации это может быть избыточным, так как:

  1. Класс содержит только один абстрактный метод
  2. Нет очевидной необходимости в разделении реализации

Также рекомендуется добавить проверку входных параметров в наследниках.

Выполним проверку использования partial:


Let me check if there are any implementations of this class to better understand its usage.


Попробую использовать другой подход для поиска наследников:


Давайте проверим, есть ли другие части (partial) этих классов:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем, есть ли другие части partial-класса
rg "partial class LPNumberSelector" --type cs

Length of output: 167


Script:

#!/bin/bash
# Поиск наследников класса LPNumberSelector
ast-grep --pattern 'class $_ : LPNumberSelector'

Length of output: 50


Script:

#!/bin/bash
# Поиск наследников класса LPNumberSelector с помощью ripgrep
rg "class.*:.*LPNumberSelector" --type cs -A 5

Length of output: 1397


Script:

#!/bin/bash
# Поиск всех partial-классов в директории ValueSelector
rg "partial class (LPConstantNumberSelector|LPRangeNumberSelector|LPNumberSelector)" --type cs -g "**/ValueSelector/**"

Length of output: 541

Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageLightMod.cs (4)

6-8: 🧹 Nitpick (assertive)

Рекомендуется следовать конвенции именования прототипов

Название прототипа "LPsalvageLightMod" использует смешанный стиль написания. Рекомендуется использовать константный стиль с подчеркиваниями для названий прототипов.

-[Prototype("LPsalvageLightMod")]
+[Prototype("lp_salvage_light_mod")]
📝 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.

[Prototype("lp_salvage_light_mod")]
public sealed partial class LPSalvageLightMod : IPrototype, ILPBiomeSpecificMod
{

21-21: 🧹 Nitpick (assertive)

Требуется документация для свойства Color

Добавьте XML-документацию, объясняющую назначение и ожидаемый формат цвета. Также рекомендуется сделать свойство не nullable, так как оно помечено как required.

+/// <summary>
+/// Определяет цвет модификатора освещения в экспедиции.
+/// </summary>
-[DataField("color", required: true)] public Color? Color;
+[DataField("color", required: true)] public Color Color;
📝 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.

    /// <summary>
    /// Определяет цвет модификатора освещения в экспедиции.
    /// </summary>
    [DataField("color", required: true)] public Color Color;

13-15: 🛠️ Refactor suggestion

Добавьте валидацию значения Cost

Отрицательное значение Cost может привести к нежелательному поведению в игре. Рекомендуется добавить проверку на неотрицательное значение.

 [DataField("cost")]
-public float Cost { get; private set; } = 0f;
+[DataField("cost")]
+public float Cost
+{
+    get => _cost;
+    private set => _cost = value >= 0 ? value : 0f;
+}
+private float _cost = 0f;

Committable suggestion skipped: line range outside the PR's diff.


17-19: 🧹 Nitpick (assertive)

Рассмотрите использование HashSet вместо List

Если порядок биомов не важен, использование HashSet может улучшить производительность при проверке принадлежности биома.

-public List<string>? Biomes { get; private set; } = null;
+public HashSet<string>? Biomes { get; private set; } = null;
📝 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.

    /// <inheritdoc/>
    [DataField("biomes", customTypeSerializer: typeof(PrototypeIdListSerializer<LPSalvageBiomeMod>))]
    public HashSet<string>? Biomes { get; private set; } = null;
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageDungeonMod.cs (3)

15-21: 🧹 Nitpick (assertive)

Исправьте опечатку в XML-комментарии и добавьте документацию

  1. В строке 15 опечатка в теге <inheridoc/> (должно быть <inheritdoc/>).
  2. Отсутствует документация для важных полей.

Предлагаемые изменения:

-    /// <inheridoc/>
+    /// <inheritdoc/>
     [DataField("cost")]
     public float Cost { get; private set; } = 0f;

-    /// <inheridoc/>
+    /// <summary>
+    /// Список идентификаторов биомов, в которых может применяться данный модификатор.
+    /// Если null - модификатор применим ко всем биомам.
+    /// </summary>
     [DataField("biomes", customTypeSerializer: typeof(PrototypeIdListSerializer<LPSalvageBiomeMod>))]
     public List<string>? Biomes { get; private set; } = null;
📝 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.

    /// <inheritdoc/>
    [DataField("cost")]
    public float Cost { get; private set; } = 0f;

    /// <summary>
    /// Список идентификаторов биомов, в которых может применяться данный модификатор.
    /// Если null - модификатор применим ко всем биомам.
    /// </summary>
    [DataField("biomes", customTypeSerializer: typeof(PrototypeIdListSerializer<LPSalvageBiomeMod>))]
    public List<string>? Biomes { get; private set; } = null;

8-10: 🧹 Nitpick (assertive)

Рекомендуется добавить документацию к классу

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

Предлагаю добавить XML-документацию:

 [Prototype("LPsalvageDungeonMod")]
+/// <summary>
+/// Прототип модификатора подземелья для системы спасательных экспедиций.
+/// Определяет конфигурацию для генерации подземелий в зависимости от биома.
+/// </summary>
 public sealed partial class LPSalvageDungeonModPrototype : IPrototype, ILPBiomeSpecificMod
📝 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.

[Prototype("LPsalvageDungeonMod")]
/// <summary>
/// Прототип модификатора подземелья для системы спасательных экспедиций.
/// Определяет конфигурацию для генерации подземелий в зависимости от биома.
/// </summary>
public sealed partial class LPSalvageDungeonModPrototype : IPrototype, ILPBiomeSpecificMod
{

1-28: 🧹 Nitpick (assertive)

Рекомендации по архитектуре

  1. Класс корректно реализует паттерн прототипа для конфигурации подземелий.
  2. Интеграция с системой биомов через ILPBiomeSpecificMod обеспечивает гибкость.
  3. Рекомендуется добавить валидацию значений Cost (не должно быть отрицательным).

Предлагаю добавить валидацию в сеттер Cost:

     [DataField("cost")]
-    public float Cost { get; private set; } = 0f;
+    public float Cost
+    {
+        get => _cost;
+        private set => _cost = value >= 0 ? value : 0f;
+    }
+    private float _cost = 0f;
📝 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.

using Content.Shared.Procedural;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;

namespace Content.Shared._LostParadise.Salvage.Expeditions.Modifiers;

[Prototype("LPsalvageDungeonMod")]
public sealed partial class LPSalvageDungeonModPrototype : IPrototype, ILPBiomeSpecificMod
{
    [IdDataField] public string ID { get; } = default!;

    [DataField("desc")] public LocId Description { get; private set; } = string.Empty;

    /// <inheridoc/>
    [DataField("cost")]
    public float Cost
    {
        get => _cost;
        private set => _cost = value >= 0 ? value : 0f;
    }
    private float _cost = 0f;

    /// <inheridoc/>
    [DataField("biomes", customTypeSerializer: typeof(PrototypeIdListSerializer<LPSalvageBiomeMod>))]
    public List<string>? Biomes { get; private set; } = null;

    /// <summary>
    /// The config to use for spawning the dungeon.
    /// </summary>
    [DataField(required: true)]
    public ProtoId<DungeonConfigPrototype> Proto = string.Empty;
}
Content.Server/_LostParadise/Salvage/LPSalvageMobRestrictionsComponent.cs (2)

16-21: 🧹 Nitpick (assertive)

Поле DespawnIfOffLinkedGrid требует дополнительной документации

Хотя базовая документация присутствует, рекомендуется добавить информацию о том, какие конкретно сценарии подразумеваются под "event ghost roles" и как это влияет на игровой процесс.

Предлагаю расширить документацию:

 /// <summary>
 /// If set to false, this mob will not be despawned when its linked entity is despawned.
 /// Useful for event ghost roles, for instance.
+/// Examples of such roles include:
+/// - Event-specific NPCs that should persist
+/// - Special mission characters
+/// - Quest-related entities
 /// </summary>
📝 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.

    /// <summary>
    /// If set to false, this mob will not be despawned when its linked entity is despawned.
    /// Useful for event ghost roles, for instance.
    /// Examples of such roles include:
    /// - Event-specific NPCs that should persist
    /// - Special mission characters
    /// - Quest-related entities
    /// </summary>
    [DataField]
    public bool DespawnIfOffLinkedGrid = true;

13-14: 🧹 Nitpick (assertive)

Рекомендуется добавить валидацию LinkedGridEntity

Поле LinkedGridEntity инициализируется как Invalid, но рекомендуется добавить проверку при его установке, чтобы предотвратить возможные ошибки во время выполнения.

Предлагаю добавить свойство с валидацией:

-[DataField, ViewVariables(VVAccess.ReadOnly)]
-public EntityUid LinkedGridEntity = EntityUid.Invalid;
+[DataField, ViewVariables(VVAccess.ReadOnly)]
+private EntityUid _linkedGridEntity = EntityUid.Invalid;
+
+public EntityUid LinkedGridEntity
+{
+    get => _linkedGridEntity;
+    set
+    {
+        if (value != EntityUid.Invalid)
+            _linkedGridEntity = value;
+    }
+}
📝 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.

    [DataField, ViewVariables(VVAccess.ReadOnly)]
    private EntityUid _linkedGridEntity = EntityUid.Invalid;

    public EntityUid LinkedGridEntity
    {
        get => _linkedGridEntity;
        set
        {
            if (value != EntityUid.Invalid)
                _linkedGridEntity = value;
        }
    }
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageWeatherMod.cs (2)

8-10: 🧹 Nitpick (assertive)

Рекомендуется следовать конвенции именования прототипов

В атрибуте прототипа используется смешанный регистр LPsalvageWeatherMod. Рекомендуется использовать kebab-case для идентификаторов прототипов.

-[Prototype("LPsalvageWeatherMod")]
+[Prototype("lp-salvage-weather-mod")]
📝 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.

[Prototype("lp-salvage-weather-mod")]
public sealed partial class LPSalvageWeatherMod : IPrototype, ILPBiomeSpecificMod
{

11-14: 🧹 Nitpick (assertive)

Добавьте XML документацию для публичных членов

Рекомендуется добавить XML документацию для публичных свойств ID и Description для улучшения читаемости кода.

+    /// <summary>
+    /// Уникальный идентификатор прототипа погодного модификатора.
+    /// </summary>
     [IdDataField] public string ID { get; } = default!;

+    /// <summary>
+    /// Локализованное описание погодного модификатора.
+    /// </summary>
     [DataField("desc")] public LocId Description { get; private set; } = string.Empty;
📝 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.

    /// <summary>
    /// Уникальный идентификатор прототипа погодного модификатора.
    /// </summary>
    [IdDataField] public string ID { get; } = default!;

    /// <summary>
    /// Локализованное описание погодного модификатора.
    /// </summary>
    [DataField("desc")] public LocId Description { get; private set; } = string.Empty;

Content.Shared/_LostParadise/EntityTable/EntitySelectors/EntityTableSelector.cs (1)

36-36: ⚠️ Potential issue

Исправьте использование метода rand.Prob(Prob)

Метод System.Random не имеет метода Prob(). Необходимо использовать интерфейс IRobustRandom или убедиться, что метод расширения Prob() доступен для System.Random.

Предлагаемое исправление:

-        public IEnumerable<EntProtoId> GetSpawns(System.Random rand,
+        public IEnumerable<EntProtoId> GetSpawns(IRobustRandom rand,

Committable suggestion skipped: line range outside the PR's diff.

Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageExpeditionComponent.cs (3)

17-17: 🛠️ Refactor suggestion

Инициализируйте поле MissionParams для предотвращения возможных ошибок

Поле MissionParams не инициализировано. Рекомендуется инициализировать его при объявлении, чтобы избежать возможных NullReferenceException.

Предлагаемое исправление:

-        public LPSalvageMissionParams MissionParams = default!;
+        public LPSalvageMissionParams MissionParams = new LPSalvageMissionParams();
📝 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.

    public LPSalvageMissionParams MissionParams = new LPSalvageMissionParams();

59-59: 🧹 Nitpick (assertive)

Инициализируйте поле SelectedSong или отметьте его как nullable

Поле SelectedSong не инициализировано. Рекомендуется инициализировать его или указать, что оно может быть null, используя SoundPathSpecifier?.

Предлагаемое исправление:

-        public SoundPathSpecifier SelectedSong;
+        public SoundPathSpecifier? SelectedSong;
📝 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.

    public SoundPathSpecifier? SelectedSong;

71-71: 🛠️ Refactor suggestion

Инициализируйте список Rewards для предотвращения возможных ошибок

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

Предлагаемое исправление:

-        public List<string> Rewards = default!;
+        public List<string> Rewards = new List<string>();
📝 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.

    public List<string> Rewards = new List<string>();
Content.Shared/_LostParadise/Salvage/Expeditions/LPSalvageExpeditions.cs (2)

90-90: 🧹 Nitpick (assertive)

Исправьте опечатку в комментарии

В строке 90 опечатка: "Nexy" следует заменить на "Next".


120-126: 🧹 Nitpick (assertive)

Исправьте сравнение с null в методе CompareTo

В методе CompareTo при сравнении с null возвращается -1, что означает, что текущий объект меньше null. Рекомендуется возвращать 1, так как объект должен считаться больше null.

Предлагаемое исправление:

        public int CompareTo(LPSalvageMissionParams? other)
        {
-            if (other == null)
-                return -1;
+            if (other == null)
+                return 1;

            return Difficulty.CompareTo(other.Difficulty);
        }
📝 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.

    public int CompareTo(LPSalvageMissionParams? other)
    {
        if (other == null)
            return 1;

        return Difficulty.CompareTo(other.Difficulty);
    }
Content.Shared/_LostParadise/Salvage/SharedLPSalvageSystem.cs (3)

143-160: 🧹 Nitpick (assertive)

Обработайте отсутствие доступных модификаторов в методе GetBiomeMod<T>

Если подходящий модификатор не найден, выбрасывается исключение InvalidOperationException, что может привести к сбою приложения. Рекомендуется добавить обработку случая, когда модификатор не найден, и предоставить значение по умолчанию или информативное сообщение об ошибке.


162-179: 🧹 Nitpick (assertive)

Обработайте отсутствие доступных модификаторов в методе GetMod<T>

Подобно предыдущему комментарию, в методе GetMod<T> следует обработать ситуацию, когда модификаторы отсутствуют, чтобы избежать выброса необработанного исключения.


38-39: 🧹 Nitpick (assertive)

Проверьте использование NotImplementedException в переключателе значений

В случае по умолчанию в переключателе (switch) выбрасывается NotImplementedException. Если покрыты все возможные значения перечисления LPSalvageMissionType, выбрасывание исключения может быть избыточным. Рекомендуется убедиться, что все значения обработаны, или заменить исключение на более подходящее.

Content.Client/_LostParadise/Salvage/UI/LPSalvageExpeditionWindow.xaml.cs (2)

276-280: ⚠️ Potential issue

Избегайте множественной подписки на обработчик события Finish.OnPressed

Обработчик события Finish.OnPressed добавляется внутри метода UpdateState, который может вызываться несколько раз. Это может привести к множественному добавлению обработчиков и непредсказуемому поведению. Рекомендуется переместить подписку на событие в конструктор класса, чтобы гарантировать, что обработчик добавляется только один раз.

Примените следующий дифф для удаления подписки из метода UpdateState:

- Finish.OnPressed += _ =>
- {
-     Finish.Disabled = true;
-     FinishMission?.Invoke();
- };

Добавьте подписку в конструкторе:

+ public LPSalvageExpeditionWindow()
+ {
+     // ... существующий код конструктора ...
+
+     Finish.OnPressed += _ =>
+     {
+         Finish.Disabled = true;
+         FinishMission?.Invoke();
+     };
+ }

243-246: 🛠️ Refactor suggestion

Сброс стиля кнопки при изменении состояния

В блоке else необходимо удалить стиль StyleBase.ButtonCaution из claimButton, чтобы кнопка отображалась корректно при смене состояния.

Примените следующий дифф для исправления:

else
{
    claimButton.Text = Loc.GetString("salvage-expedition-window-claim");
+   claimButton.RemoveStyleClass(StyleBase.ButtonCaution);
}
📝 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.

            else
            {
                claimButton.Text = Loc.GetString("salvage-expedition-window-claim");
                claimButton.RemoveStyleClass(StyleBase.ButtonCaution);
            }
Content.Server/_LostParadise/Salvage/LPSalvageSystem.Expeditions.cs (3)

201-205: 🧹 Nitpick (assertive)

⚠️ Potential issue

Необходимо реализовать функцию удаления налога на добытые ресурсы

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

Вы хотите, чтобы я помог с реализацией этой функции или создал новую задачу в GitHub для ее отслеживания?


59-60: 🧹 Nitpick (assertive)

Удалите закомментированный код для повышения читаемости

Закомментированный код в этих строках может быть удален, чтобы улучшить читаемость кода и избежать путаницы.

Примените следующий дифф для удаления закомментированного кода:

- //        SubscribeLocalEvent<SalvageExpeditionComponent, EntityUnpausedEvent>(OnExpeditionUnpaused); // Frontier
📝 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.

        SubscribeLocalEvent<LPSalvageExpeditionComponent, ComponentGetState>(OnExpeditionGetState);

56-57: 🧹 Nitpick (assertive)

Удалите закомментированный код для повышения читаемости

Закомментированный код в этих строках может быть удален, чтобы улучшить читаемость кода и избежать путаницы.

Примените следующий дифф для удаления закомментированного кода:

- //        SubscribeLocalEvent<SalvageExpeditionDataComponent, EntityUnpausedEvent>(OnDataUnpaused); // Frontier
Content.Server/_LostParadise/Salvage/SpawnLPSalvageMissionJob.cs (2)

109-111: ⚠️ Potential issue

Используйте конструкцию try-catch для обработки исключений в асинхронных методах

Обработка исключений через ContinueWith может привести к непредвиденному поведению при использовании асинхронных операций. Рекомендуется использовать конструкцию try-catch непосредственно с оператором await для корректной обработки исключений.

Примените следующий дифф для исправления:

try
{
-    await InternalProcess().ContinueWith((t) => { success = false; errorStackTrace = t.Exception?.InnerException?.StackTrace; }, TaskContinuationOptions.OnlyOnFaulted);
+    await InternalProcess();
}
+ catch(Exception ex)
+ {
+     success = false;
+     errorStackTrace = ex.StackTrace;
+ }
finally
{
    // ...
}
📝 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.

        try
        {
            await InternalProcess();
        }
        catch(Exception ex)
        {
            success = false;
            errorStackTrace = ex.StackTrace;
        }

391-391: 🧹 Nitpick (assertive)

Используйте осмысленные имена переменных

Переменная shaggy не отражает содержимое и может вызвать недоумение. Рекомендуется переименовать ее в более понятное имя, например, defenseStructurePrototype, для улучшения читаемости кода.

Примените следующий дифф для исправления:

- var shaggy = faction.Configs["DefenseStructure"];
+ var defenseStructurePrototype = faction.Configs["DefenseStructure"];
📝 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.

        var defenseStructurePrototype = faction.Configs["DefenseStructure"];
Content.Shared/_LostParadise/Salvage/SharedLPRestrictedRangeSystem.cs (1)

1-6: 🧹 Nitpick (assertive)

Рассмотрите необходимость использования пустого абстрактного класса

Класс SharedLPRestrictedRangeSystem не содержит методов или свойств. Если в будущем планируется добавить функциональность, можно оставить этот класс с соответствующим комментарием. В противном случае, рекомендуется удалить его, чтобы избежать избыточности в коде.

Content.Shared/_LostParadise/Salvage/Expeditions/LPExpeditionStage.cs (1)

3-10: 🧹 Nitpick (assertive)

Хорошо структурированное перечисление стадий экспедиции!

Перечисление LPExpeditionStage корректно определяет последовательность стадий экспедиции. Использование типа byte оптимально для хранения.

Рекомендация по улучшению документации:

 public enum LPExpeditionStage : byte
 {
+    /// <summary>
+    /// Expedition has been added to the queue
+    /// </summary>
     Added,
+    /// <summary>
+    /// Expedition is currently active
+    /// </summary>
     Running,
+    /// <summary>
+    /// Initial countdown phase
+    /// </summary>
     Countdown,
+    /// <summary>
+    /// Music warning phase
+    /// </summary>
     MusicCountdown,
+    /// <summary>
+    /// Final countdown before expedition ends
+    /// </summary>
     FinalCountdown,
 }
📝 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.

public enum LPExpeditionStage : byte
{
    /// <summary>
    /// Expedition has been added to the queue
    /// </summary>
    Added,
    /// <summary>
    /// Expedition is currently active
    /// </summary>
    Running,
    /// <summary>
    /// Initial countdown phase
    /// </summary>
    Countdown,
    /// <summary>
    /// Music warning phase
    /// </summary>
    MusicCountdown,
    /// <summary>
    /// Final countdown before expedition ends
    /// </summary>
    FinalCountdown,
}
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageShuttleComponent.cs (2)

3-5: 🧹 Nitpick (assertive)

Требуется улучшение документации

Текущая документация слишком краткая. Рекомендуется добавить более подробное описание:

  • Как именно компонент используется для управления дронами
  • Какие взаимодействия поддерживаются
  • Примеры использования

7-10: 🛠️ Refactor suggestion

Рекомендуется добавить базовую функциональность

Компонент объявлен как отвечающий за управление дронами, но не содержит необходимых свойств и методов. Рекомендуется добавить:

  • Свойства для отслеживания подключенных дронов
  • Методы управления дронами
  • События для синхронизации состояния
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/ILPBiomeSpecificMod.cs (1)

3-9: 🧹 Nitpick (assertive)

Интерфейс спроектирован правильно!

Интерфейс хорошо документирован и следует принципу единственной ответственности. Однако рекомендуется:

  • Рассмотреть использование IReadOnlyList<string> вместо List<string> для предотвращения модификации списка биомов после инициализации.
Content.Shared/_LostParadise/Bed/Sleep/AutoWakeUpComponent.cs (2)

7-9: 🧹 Nitpick (assertive)

Удалите упоминание "Frontier" из комментария

Комментарий содержит упоминание "Frontier", что может указывать на копирование кода. Рекомендуется заменить на более подходящее описание функциональности.


10-13: 🧹 Nitpick (assertive)

⚠️ Potential issue

Компонент требует реализации

Компонент объявлен как пустой класс без какой-либо реализации функциональности автоматического пробуждения. Необходимо добавить:

  • Поле для хранения времени пробуждения (5 секунд)
  • Методы для управления состоянием пробуждения
  • XML документацию для класса

Нужна помощь в реализации базовой функциональности компонента?

Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/suit_storage.yml (1)

1-1: ⚠️ Potential issue

Комментарий должен быть на английском языке

Согласно правилам кодирования, комментарии в прототипах должны быть только на английском языке. Замените "Mercenary hardsuit" вместо русского перевода.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 1-1: missing starting space in comment

(comments)

Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageStructureExpeditionComponent.cs (1)

5-7: 🧹 Nitpick (assertive)

Необходимо улучшить документацию компонента

Текущая документация недостаточно подробно описывает назначение и использование компонента. Рекомендуется добавить:

  • Описание того, как используется список Structures
  • Примеры использования компонента
  • Взаимодействие с другими системами
Content.Shared/_LostParadise/EntityTable/EntityTablePrototype.cs (1)

6-8: ⚠️ Potential issue

Документация прототипа не завершена

Комментарий "This is a prototype for..." не завершён и не предоставляет полезной информации. Необходимо добавить:

  • Полное описание назначения прототипа
  • Примеры использования
  • Описание поля Table и его роли
Content.Shared/_LostParadise/Salvage/Expeditions/SharedLPSalvageExpeditionComponent.cs (1)

6-11: 🧹 Nitpick (assertive)

Отсутствует XML документация для публичного API

Рекомендуется добавить XML документацию для:

  • Класса SharedLPSalvageExpeditionComponent
  • Публичного свойства Stage
  • Перечисления LPExpeditionStage (если определено в другом файле)
Content.Shared/_LostParadise/Salvage/Expeditions/LPSalvageMobGroup.cs (1)

8-14: 🧹 Nitpick (assertive)

Улучшите документацию и добавьте валидацию

Комментарий "A mob may be cheap but rare or expensive but frequent" следует перенести в XML-документацию. Также рекомендуется добавить валидацию для поля Prob.

 [DataDefinition]
 public partial record struct LPSalvageMobGroup()
 {
-    // A mob may be cheap but rare or expensive but frequent.
-
     /// <summary>
     /// Probability to spawn this group. Summed with everything else for the faction.
+    /// A mob may be cheap but rare or expensive but frequent.
     /// </summary>
+    /// <remarks>
+    /// Value must be between 0 and 1.
+    /// </remarks>
     [ViewVariables(VVAccess.ReadWrite), DataField("prob")]
-    public float Prob = 1f;
+    public float Prob
+    {
+        get => _prob;
+        set => _prob = Math.Clamp(value, 0f, 1f);
+    }
+    private float _prob = 1f;
📝 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.

    /// <summary>
    /// Probability to spawn this group. Summed with everything else for the faction.
    /// A mob may be cheap but rare or expensive but frequent.
    /// </summary>
    /// <remarks>
    /// Value must be between 0 and 1.
    /// </remarks>
    [ViewVariables(VVAccess.ReadWrite), DataField("prob")]
    public float Prob
    {
        get => _prob;
        set => _prob = Math.Clamp(value, 0f, 1f);
    }
    private float _prob = 1f;
Content.Server/_LostParadise/Salvage/Expeditions/LPSalvageEliminationExpeditionComponent.cs (1)

14-15: 🧹 Nitpick (assertive)

Рекомендуется добавить валидацию списка Megafauna

Для улучшения надёжности компонента предлагаю добавить проверки:

  • Валидация при добавлении сущностей в список
  • Автоматическая очистка невалидных ссылок
 [DataField("megafauna")]
-public List<EntityUid> Megafauna = new();
+public List<EntityUid> Megafauna = new();
+
+public void ValidateMegafaunaList()
+{
+    Megafauna.RemoveAll(uid => !uid.IsValid());
+}

Committable suggestion skipped: line range outside the PR's diff.

Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageMod.cs (1)

18-19: 🧹 Nitpick (assertive)

Добавить валидацию для свойства Cost

Рекомендуется добавить проверку значения Cost, чтобы предотвратить отрицательные значения.

 [DataField("cost")]
-public float Cost { get; private set; } = 0f;
+private float _cost = 0f;
+
+[DataField("cost")]
+public float Cost
+{
+    get => _cost;
+    private set => _cost = Math.Max(0f, value);
+}
📝 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.

    private float _cost = 0f;

    [DataField("cost")]
    public float Cost
    {
        get => _cost;
        private set => _cost = Math.Max(0f, value);
    }
Content.Server/_LostParadise/Salvage/LPExpeditionSpawnCompleteEvent.cs (2)

8-10: 🛠️ Refactor suggestion

Сделать свойства только для чтения

Свойства события должны быть неизменяемыми после создания объекта.

-public EntityUid Station;
-public bool Success;
-public ushort MissionIndex;
+public EntityUid Station { get; }
+public bool Success { get; }
+public ushort MissionIndex { get; }
📝 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.

    public EntityUid Station { get; }
    public bool Success { get; }
    public ushort MissionIndex { get; }

11-16: 🧹 Nitpick (assertive)

Добавить проверку параметров и XML документацию

Рекомендуется:

  1. Добавить проверку валидности EntityUid
  2. Добавить XML документацию для свойств
+/// <summary>
+/// Станция, связанная с экспедицией
+/// </summary>
+public EntityUid Station { get; }
+
+/// <summary>
+/// Флаг успешного создания экспедиции
+/// </summary>
+public bool Success { get; }
+
+/// <summary>
+/// Индекс миссии
+/// </summary>
+public ushort MissionIndex { get; }
+
 public LPExpeditionSpawnCompleteEvent(EntityUid station, bool success, ushort missionIndex)
 {
+    if (!station.IsValid())
+        throw new ArgumentException("Station EntityUid must be valid", nameof(station));
+
     Station = station;
     Success = success;
     MissionIndex = missionIndex;
 }
📝 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.

    /// <summary>
    /// Станция, связанная с экспедицией
    /// </summary>
    public EntityUid Station { get; }

    /// <summary>
    /// Флаг успешного создания экспедиции
    /// </summary>
    public bool Success { get; }

    /// <summary>
    /// Индекс миссии
    /// </summary>
    public ushort MissionIndex { get; }

    public LPExpeditionSpawnCompleteEvent(EntityUid station, bool success, ushort missionIndex)
    {
        if (!station.IsValid())
            throw new ArgumentException("Station EntityUid must be valid", nameof(station));

        Station = station;
        Success = success;
        MissionIndex = missionIndex;
    }
Content.Shared/_LostParadise/Salvage/LPRestrictedRangeComponent.cs (2)

13-13: 🧹 Nitpick (assertive)

Рассмотрите вынесение магического числа в константу

Значение 78f кажется магическим числом. Рекомендуется объявить его как именованную константу с описательным названием, объясняющим его значение и назначение.

+ private const float DefaultRange = 78f;
- public float Range = 78f;
+ public float Range = DefaultRange;
📝 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.

    private const float DefaultRange = 78f;
    public float Range = DefaultRange;

15-16: 🧹 Nitpick (assertive)

Добавьте валидацию для Origin

Рекомендуется добавить проверку значения Origin при установке, чтобы гарантировать корректность координат.

- public Vector2 Origin;
+ private Vector2 _origin;
+ public Vector2 Origin
+ {
+     get => _origin;
+     set
+     {
+         if (float.IsNaN(value.X) || float.IsNaN(value.Y))
+             throw new ArgumentException("Origin coordinates cannot be NaN");
+         _origin = value;
+     }
+ }
📝 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.

    [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)]
    private Vector2 _origin;
    public Vector2 Origin
    {
        get => _origin;
        set
        {
            if (float.IsNaN(value.X) || float.IsNaN(value.Y))
                throw new ArgumentException("Origin coordinates cannot be NaN");
            _origin = value;
        }
    }
Content.Shared/_LostParadise/EntityTable/EntitySelectors/NestedSelector.cs (1)

18-18: ⚠️ Potential issue

Добавьте обработку ошибок при доступе к прототипу

Прямой доступ к прототипу через Index() может вызвать исключение, если прототип не найден. Рекомендуется использовать TryIndex() для безопасного доступа.

- return proto.Index(TableId).Table.GetSpawns(rand, entMan, proto);
+ if (!proto.TryIndex(TableId, out var table))
+     throw new InvalidOperationException($"Не удалось найти таблицу сущностей с ID {TableId}");
+ return table.Table.GetSpawns(rand, entMan, proto);
📝 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.

        if (!proto.TryIndex(TableId, out var table))
            throw new InvalidOperationException($"Не удалось найти таблицу сущностей с ID {TableId}");
        return table.Table.GetSpawns(rand, entMan, proto);
Content.Shared/_LostParadise/Salvage/LPSalvageMapPrototype.cs (2)

1-1: 🧹 Nitpick (assertive)

Удалите неиспользуемую директиву using

Директива using Content.Shared._LostParadise.Salvage.Expeditions.Modifiers не используется в данном файле.

- using Content.Shared._LostParadise.Salvage.Expeditions.Modifiers;

15-15: 🛠️ Refactor suggestion

Добавьте валидацию пути к карте

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

- [DataField(required: true)] public ResPath MapPath;
+ [DataField(required: true)]
+ public ResPath MapPath
+ {
+     get => _mapPath;
+     set
+     {
+         if (!value.Extension.Equals(".yml", StringComparison.OrdinalIgnoreCase))
+             throw new InvalidOperationException($"Неверное расширение файла карты: {value}");
+         _mapPath = value;
+     }
+ }
+ private ResPath _mapPath;
📝 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.

    [DataField(required: true)]
    public ResPath MapPath
    {
        get => _mapPath;
        set
        {
            if (!value.Extension.Equals(".yml", StringComparison.OrdinalIgnoreCase))
                throw new InvalidOperationException($"Неверное расширение файла карты: {value}");
            _mapPath = value;
        }
    }
    private ResPath _mapPath;
Content.Shared/_LostParadise/EntityTable/EntityTableSystem.cs (1)

7-20: 🧹 Nitpick (assertive)

Реализация выглядит хорошо, есть небольшие предложения

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

  1. Добавьте XML-документацию для публичного метода GetSpawns
  2. Рассмотрите возможность добавления проверки на отрицательные значения для параметра rand
 public sealed class LPEntityTableSystem : EntitySystem
 {
     [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
     [Dependency] private readonly IRobustRandom _random = default!;

+    /// <summary>
+    /// Получает список идентификаторов прототипов сущностей для спавна
+    /// </summary>
+    /// <param name="table">Селектор таблицы сущностей</param>
+    /// <param name="rand">Опциональный генератор случайных чисел</param>
+    /// <returns>Коллекция идентификаторов прототипов</returns>
     public IEnumerable<EntProtoId> GetSpawns(LPEntityTableSelector? table, System.Random? rand = null)

Committable suggestion skipped: line range outside the PR's diff.

Content.Shared/_LostParadise/EntityTable/EntitySelectors/AllSelector.cs (1)

8-24: 🛠️ Refactor suggestion

Необходимы оптимизации и дополнительные проверки

Текущая реализация может быть улучшена следующим образом:

  1. Использование LINQ вместо вложенных циклов для лучшей читаемости
  2. Добавление проверки на null для коллекции Children
  3. Валидация размера коллекции Children
 public sealed partial class LPAllSelector : LPEntityTableSelector
 {
     [DataField(required: true)]
-    public List<LPEntityTableSelector> Children;
+    public List<LPEntityTableSelector> Children = new();
 
     protected override IEnumerable<EntProtoId> GetSpawnsImplementation(System.Random rand,
         IEntityManager entMan,
         IPrototypeManager proto)
     {
+        if (Children.Count == 0)
+            return Enumerable.Empty<EntProtoId>();
+
+        return Children
+            .SelectMany(child => child.GetSpawns(rand, entMan, proto));
-        foreach (var child in Children)
-        {
-            foreach (var spawn in child.GetSpawns(rand, entMan, proto))
-            {
-                yield return spawn;
-            }
-        }
     }
 }
📝 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.

public sealed partial class LPAllSelector : LPEntityTableSelector
{
    [DataField(required: true)]
    public List<LPEntityTableSelector> Children = new();

    protected override IEnumerable<EntProtoId> GetSpawnsImplementation(System.Random rand,
        IEntityManager entMan,
        IPrototypeManager proto)
    {
        if (Children.Count == 0)
            return Enumerable.Empty<EntProtoId>();

        return Children
            .SelectMany(child => child.GetSpawns(rand, entMan, proto));
    }
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageTemperatureMod.cs (2)

24-25: 🧹 Nitpick (assertive)

Улучшение инкапсуляции для поля Temperature

Рекомендуется использовать private set для поля Temperature, как это сделано для других свойств класса. Это обеспечит лучший контроль над изменением значения.

-    public float Temperature = 293.15f;
+    [DataField("temperature")]
+    public float Temperature { get; private set; } = DefaultRoomTemperatureKelvin;

Committable suggestion skipped: line range outside the PR's diff.


25-25: 🧹 Nitpick (assertive)

Использование магического числа для температуры

Значение 293.15f (20°C) следует вынести в константу с понятным названием, например, DefaultRoomTemperatureKelvin. Это улучшит читаемость кода и упростит поддержку.

+    private const float DefaultRoomTemperatureKelvin = 293.15f;
-    public float Temperature = 293.15f;
+    public float Temperature = DefaultRoomTemperatureKelvin;
📝 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.

    private const float DefaultRoomTemperatureKelvin = 293.15f;
    public float Temperature = DefaultRoomTemperatureKelvin;
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindowOption.xaml (1)

10-12: 🧹 Nitpick (assertive)

Рекомендуется добавить атрибуты доступности

Для улучшения доступности интерфейса рекомендуется добавить атрибуты ToolTip и AccessKey для основных элементов управления (Label и Button).

     <Label Name="TitleStripe"
            HorizontalAlignment="Center"
-           Margin="0 5 0 5"/>
+           Margin="0 5 0 5"
+           ToolTip="{Loc 'offering-window-title-tooltip'}"/>

     <Button Name="ClaimButton"
             HorizontalExpand="True"
             VerticalAlignment="Bottom"
             ToggleMode="True"
             Disabled="True"
-            Text="{Loc 'offering-window-claim'}"/>
+            Text="{Loc 'offering-window-claim'}"
+            ToolTip="{Loc 'offering-window-claim-tooltip'}"
+            AccessKey="C"/>

Also applies to: 17-22

Content.Shared/_LostParadise/Salvage/Expeditions/LPSalvageFactionPrototype.cs (1)

26-28: 🧹 Nitpick (assertive)

Рекомендуется улучшить типизацию конфигурационного словаря

Текущая реализация Dictionary<string, string> для Configs может быть улучшена путем использования более строгой типизации или enum для ключей, чтобы избежать ошибок при использовании строковых литералов.

-    public Dictionary<string, string> Configs = new();
+    public Dictionary<LPSalvageConfigKey, string> Configs = new();

+ public enum LPSalvageConfigKey
+ {
+    SpawnRate,
+    Difficulty,
+    RewardMultiplier
+ }

Committable suggestion skipped: line range outside the PR's diff.

Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageBiomeMod.cs (2)

26-27: 🧹 Nitpick (assertive)

Добавить валидацию для свойства Weather

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

-    [DataField("weather")]
+    [DataField("weather", required: true)]
     public bool Weather = true;
📝 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.

    [DataField("weather", required: true)]
    public bool Weather = true;

29-30: ⚠️ Potential issue

Противоречие в определении BiomePrototype

Свойство помечено как required, но объявлено как nullable (string?). Это может привести к неопределенному поведению. Рекомендуется убрать nullable оператор, так как поле обязательно для заполнения.

-    public string? BiomePrototype;
+    public string BiomePrototype = default!;
📝 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.

    [DataField("biome", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<BiomeTemplatePrototype>))]
    public string BiomePrototype = default!;
Content.Shared/_LostParadise/EntityTable/EntitySelectors/GroupSelector.cs (2)

21-25: 🛠️ Refactor suggestion

Оптимизация создания словаря весов

Создание словаря весов происходит при каждом вызове GetSpawnsImplementation. Рекомендуется кэшировать словарь, если веса не меняются во время выполнения.

+    private Dictionary<LPEntityTableSelector, float>? _weightCache;
+
+    private Dictionary<LPEntityTableSelector, float> GetWeightDictionary()
+    {
+        if (_weightCache != null)
+            return _weightCache;
+
+        _weightCache = new Dictionary<LPEntityTableSelector, float>(Children.Count);
+        foreach (var child in Children)
+        {
+            _weightCache.Add(child, child.Weight);
+        }
+        return _weightCache;
+    }

Committable suggestion skipped: line range outside the PR's diff.


17-30: ⚠️ Potential issue

Добавить проверку на пустой список Children

Необходимо добавить валидацию на случай пустого списка Children, чтобы избежать исключений при выполнении.

     protected override IEnumerable<EntProtoId> GetSpawnsImplementation(System.Random rand,
         IEntityManager entMan,
         IPrototypeManager proto)
     {
+        if (Children.Count == 0)
+            throw new InvalidOperationException("LPGroupSelector requires at least one child selector");
+
         var children = new Dictionary<LPEntityTableSelector, float>(Children.Count);
📝 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.

    protected override IEnumerable<EntProtoId> GetSpawnsImplementation(System.Random rand,
        IEntityManager entMan,
        IPrototypeManager proto)
    {
        if (Children.Count == 0)
            throw new InvalidOperationException("LPGroupSelector requires at least one child selector");

        var children = new Dictionary<LPEntityTableSelector, float>(Children.Count);
        foreach (var child in Children)
        {
            children.Add(child, child.Weight);
        }

        var pick = SharedRandomExtensions.Pick(_robustRandom, children);

        return pick.GetSpawns(rand, entMan, proto);
    }
Content.Shared/_LostParadise/CCVars.cs (1)

20-21: 🛠️ Refactor suggestion

Несогласованность в именовании префиксов конфигурационных переменных

Переменные используют разные префиксы: lpsalvage для первых двух и nf14.salvage для последней. Рекомендуется использовать единый префикс для всех связанных переменных.

-    SalvageExpeditionCooldown = CVarDef.Create("lpsalvage.expedition_cooldown", 780f, CVar.REPLICATED);
+    SalvageExpeditionCooldown = CVarDef.Create("nf14.salvage.expedition_cooldown", 780f, CVar.REPLICATED);

Committable suggestion skipped: line range outside the PR's diff.

Content.Client/_LostParadise/Salvage/UI/LPSalvageExpeditionWindow.xaml (2)

18-18: 🧹 Nitpick (assertive)

Используйте константы для цветов

Жестко закодированное значение цвета #404040 лучше вынести в ресурсы или константы для обеспечения единообразия стиля.

- <controls:HLine Color="#404040" Thickness="2" Margin="0 5 0 5"/>
+ <controls:HLine Color="{StaticResource BorderColor}" Thickness="2" Margin="0 5 0 5"/>

Committable suggestion skipped: line range outside the PR's diff.


7-16: 🧹 Nitpick (assertive)

Добавьте подсказки для улучшения пользовательского опыта

Рекомендуется добавить атрибуты ToolTip для элементов интерфейса, чтобы улучшить понимание их назначения пользователями.

 <Label Name="NextOfferLabel"
        Text="{Loc 'salvage-expedition-window-next'}"
-       Margin="5"></Label>
+       Margin="5"
+       ToolTip="{Loc 'salvage-expedition-window-next-tooltip'}"></Label>
 <ProgressBar Name="NextOfferBar"
              HorizontalExpand="True"
              MinValue="0"
              MaxValue="1"
-             SetHeight="25"/>
+             SetHeight="25"
+             ToolTip="{Loc 'salvage-expedition-window-progress-tooltip'}"/>

Committable suggestion skipped: line range outside the PR's diff.

Content.Client/_LostParadise/Salvage/UI/LPSalvageExpeditionConsoleBoundUserInterface.cs (3)

27-27: 🧹 Nitpick (assertive)

Удалите устаревший комментарий

Комментарий // Frontier выглядит как артефакт разработки и должен быть удален.

- _window.FinishMission += () => SendMessage(new FinishLPSalvageMessage()); // Frontier
+ _window.FinishMission += () => SendMessage(new FinishLPSalvageMessage());
📝 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.

        _window.FinishMission += () => SendMessage(new FinishLPSalvageMessage());

29-29: 🧹 Nitpick (assertive)

Проверьте необходимость оператора ?. при вызове OpenCenteredLeft

На этой строке окно уже должно быть инициализировано, поэтому использование оператора условного null ?. может быть излишним.

- _window?.OpenCenteredLeft();
+ _window.OpenCenteredLeft();
📝 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.

        _window.OpenCenteredLeft();

39-47: 🛠️ Refactor suggestion

Добавьте обработку ошибок при обновлении состояния

Текущая реализация UpdateState не обрабатывает потенциальные исключения при обновлении окна. Рекомендуется добавить обработку ошибок.

 protected override void UpdateState(BoundUserInterfaceState state)
 {
     base.UpdateState(state);

     if (state is not LPSalvageExpeditionConsoleState current)
         return;

-    _window?.UpdateState(current);
+    try
+    {
+        _window?.UpdateState(current);
+    }
+    catch (Exception ex)
+    {
+        Logger.ErrorS("ui.salvage", ex, "Ошибка при обновлении состояния окна экспедиции");
+    }
 }
📝 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.

    protected override void UpdateState(BoundUserInterfaceState state)
    {
        base.UpdateState(state);

        if (state is not LPSalvageExpeditionConsoleState current)
            return;

        try
        {
            _window?.UpdateState(current);
        }
        catch (Exception ex)
        {
            Logger.ErrorS("ui.salvage", ex, "Ошибка при обновлении состояния окна экспедиции");
        }
    }
Content.Shared/_LostParadise/Salvage/Expeditions/Modifiers/LPSalvageAirMod.cs (2)

39-40: 🧹 Nitpick (assertive)

Рассмотрите использование списка вместо массива фиксированного размера

Инициализация массива Gases с фиксированным размером Atmospherics.AdjustedNumberOfGases может привести к проблемам при изменении количества газов в будущем.

Предлагаю использовать List<float> вместо массива:

-public float[] Gases = new float[Atmospherics.AdjustedNumberOfGases];
+public List<float> Gases { get; private set; } = new();
📝 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.

    [DataField("gases")]
    public List<float> Gases { get; private set; } = new();

12-14: 🧹 Nitpick (assertive)

Добавьте документацию для интерфейса ILPBiomeSpecificMod

Класс реализует ILPBiomeSpecificMod, но отсутствует документация о требованиях этого интерфейса.

Добавьте XML-документацию для реализуемого интерфейса:

 [Prototype("LPsalvageAirMod")]
+/// <inheritdoc cref="ILPBiomeSpecificMod"/>
 public sealed partial class LPSalvageAirMod : IPrototype, ILPBiomeSpecificMod
📝 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.

[Prototype("LPsalvageAirMod")]
/// <inheritdoc cref="ILPBiomeSpecificMod"/>
public sealed partial class LPSalvageAirMod : IPrototype, ILPBiomeSpecificMod
{
Content.Client/_LostParadise/Salvage/UI/LPOfferingWindow.xaml (2)

31-31: 🧹 Nitpick (assertive)

Вынесите цвет линии в ресурсы

Жёстко заданный цвет линии Color="#404040" лучше определить в ресурсах для консистентности стиля.

-<controls:HLine Color="#404040" Thickness="2" Margin="0 5 0 5"/>
+<controls:HLine Color="{StaticResource DividerLineColor}" Thickness="2" Margin="0 5 0 5"/>

Committable suggestion skipped: line range outside the PR's diff.


3-3: 🧹 Nitpick (assertive)

Вынесите размеры окна в ресурсы

Жёстко заданные размеры окна MinSize="800 360" лучше вынести в ресурсы для более гибкой настройки и поддержки.

Предлагаю создать ресурсы в начале файла:

 <controls:FancyWindow xmlns="https://spacestation14.io"
                      xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
-                     MinSize="800 360">
+                     MinSize="{StaticResource OfferingWindowMinSize}">

Committable suggestion skipped: line range outside the PR's diff.

Content.Client/_LostParadise/Salvage/LPSalvageSystem.cs (2)

39-46: ⚠️ Potential issue

Добавьте проверку на null для player

Отсутствует проверка на null для _playerManager.LocalEntity, что может привести к NullReferenceException.

 var player = _playerManager.LocalEntity;
+if (player == null)
+    return;
 
 if (!TryComp(player, out TransformComponent? xform) ||
📝 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.

        var player = _playerManager.LocalEntity;
        if (player == null)
            return;

        if (!TryComp(player, out TransformComponent? xform) ||
            !TryComp<LPSalvageExpeditionComponent>(xform.MapUid, out var expedition) ||
            expedition.Stage < LPExpeditionStage.MusicCountdown)
        {
            return;
        }

21-32: 🧹 Nitpick (assertive)

Добавьте комментарии к методу OnExpeditionHandleState

Метод OnExpeditionHandleState обрабатывает важную логику состояния, но отсутствует документация.

+/// <summary>
+/// Обработчик изменения состояния экспедиции.
+/// Отключает фоновую музыку при достижении определенной стадии.
+/// </summary>
 private void OnExpeditionHandleState(EntityUid uid, LPSalvageExpeditionComponent component, ref ComponentHandleState args)
📝 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.

    /// <summary>
    /// Обработчик изменения состояния экспедиции.
    /// Отключает фоновую музыку при достижении определенной стадии.
    /// </summary>
    private void OnExpeditionHandleState(EntityUid uid, LPSalvageExpeditionComponent component, ref ComponentHandleState args)
    {
        if (args.Current is not LPSalvageExpeditionComponentState state)
            return;

        component.Stage = state.Stage;

        if (component.Stage >= LPExpeditionStage.MusicCountdown)
        {
            _audio.DisableAmbientMusic();
        }
    }
Content.Server/_LostParadise/Salvage/LPRestrictedRangeSystem.cs (2)

34-34: 🧹 Nitpick (assertive)

Рекомендуется увеличить количество точек в граничной форме

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

- cShape.CreateLoop(Vector2.Zero, range + 0.25f, false, count: 4);
+ cShape.CreateLoop(Vector2.Zero, range + 0.25f, false, count: 16);
📝 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.

        cShape.CreateLoop(Vector2.Zero, range + 0.25f, false, count: 16);

34-34: 🧹 Nitpick (assertive)

Добавьте комментарий, объясняющий магическое число

Значение 0.25f требует пояснения о его назначении.

- cShape.CreateLoop(Vector2.Zero, range + 0.25f, false, count: 4);
+ // Добавляем небольшой отступ к радиусу для предотвращения краевых случаев
+ const float BOUNDARY_MARGIN = 0.25f;
+ cShape.CreateLoop(Vector2.Zero, range + BOUNDARY_MARGIN, false, count: 4);
📝 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.

        // Добавляем небольшой отступ к радиусу для предотвращения краевых случаев
        const float BOUNDARY_MARGIN = 0.25f;
        cShape.CreateLoop(Vector2.Zero, range + BOUNDARY_MARGIN, false, count: 4);
Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/boots.yml (1)

105-107: 🛠️ Refactor suggestion

Исправьте путь к спрайту для соответствия общему формату

Путь к спрайту отличается от формата, используемого в других предметах файла. Необходимо добавить префикс '_LostParadise/'.

  - type: Sprite
-   sprite: Clothing/Shoes/Boots/mercboots.rsi
+   sprite: _LostParadise/Clothing/Shoes/Boots/mercboots.rsi
  - type: Clothing
-   sprite: Clothing/Shoes/Boots/mercboots.rsi
+   sprite: _LostParadise/Clothing/Shoes/Boots/mercboots.rsi
📝 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.

    sprite: _LostParadise/Clothing/Shoes/Boots/mercboots.rsi
  - type: Clothing
    sprite: _LostParadise/Clothing/Shoes/Boots/mercboots.rsi
Resources/Maps/_LostParadise/Dungeon/vgroidinterior.yml (1)

1-2004: 🧹 Nitpick (assertive)

⚠️ Potential issue

Требуется исправить отступы в файле

В файле обнаружено множество проблем с отступами. Необходимо использовать 2 пробела для отступов на верхнем уровне и 4 пробела для вложенных элементов.

Рекомендуется добавить документацию по структуре подземелья

Карта содержит сложную структуру с множеством объектов (мины, спавнеры и т.д.). Предлагаю добавить комментарии, описывающие основные зоны и их назначение.

meta:
  format: 6
  postmapinit: false
+ # Описание структуры подземелья:
+ # - Центральная зона (координаты X,Y): Основной лут
+ # - Северная зона: Опасная зона с минами
+ # - Южная зона: Зона спавна противников

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 17-17: wrong indentation: expected 2 but found 0

(indentation)


[error] 19-19: wrong indentation: expected 4 but found 2

(indentation)


[error] 21-21: wrong indentation: expected 6 but found 4

(indentation)


[warning] 24-24: truthy value should be one of [false, true]

(truthy)


[error] 87-87: wrong indentation: expected 10 but found 8

(indentation)


[warning] 96-96: truthy value should be one of [false, true]

(truthy)


[warning] 130-130: truthy value should be one of [false, true]

(truthy)


[warning] 136-136: truthy value should be one of [false, true]

(truthy)


[warning] 144-144: truthy value should be one of [false, true]

(truthy)


[error] 175-175: wrong indentation: expected 4 but found 2

(indentation)


[error] 177-177: wrong indentation: expected 6 but found 4

(indentation)


[error] 182-182: wrong indentation: expected 6 but found 4

(indentation)


[error] 187-187: wrong indentation: expected 6 but found 4

(indentation)


[error] 192-192: wrong indentation: expected 6 but found 4

(indentation)


[error] 197-197: wrong indentation: expected 4 but found 2

(indentation)


[error] 199-199: wrong indentation: expected 6 but found 4

(indentation)


[error] 204-204: wrong indentation: expected 4 but found 2

(indentation)


[error] 206-206: wrong indentation: expected 6 but found 4

(indentation)


[error] 211-211: wrong indentation: expected 4 but found 2

(indentation)


[error] 213-213: wrong indentation: expected 6 but found 4

(indentation)


[error] 218-218: wrong indentation: expected 4 but found 2

(indentation)


[error] 220-220: wrong indentation: expected 6 but found 4

(indentation)


[error] 225-225: wrong indentation: expected 4 but found 2

(indentation)


[error] 227-227: wrong indentation: expected 6 but found 4

(indentation)


[error] 232-232: wrong indentation: expected 6 but found 4

(indentation)


[error] 237-237: wrong indentation: expected 6 but found 4

(indentation)


[error] 242-242: wrong indentation: expected 6 but found 4

(indentation)


[error] 247-247: wrong indentation: expected 6 but found 4

(indentation)


[error] 252-252: wrong indentation: expected 4 but found 2

(indentation)


[error] 254-254: wrong indentation: expected 6 but found 4

(indentation)


[error] 259-259: wrong indentation: expected 4 but found 2

(indentation)


[error] 261-261: wrong indentation: expected 6 but found 4

(indentation)


[error] 266-266: wrong indentation: expected 4 but found 2

(indentation)


[error] 268-268: wrong indentation: expected 6 but found 4

(indentation)


[error] 273-273: wrong indentation: expected 4 but found 2

(indentation)


[error] 275-275: wrong indentation: expected 6 but found 4

(indentation)


[error] 280-280: wrong indentation: expected 4 but found 2

(indentation)


[error] 282-282: wrong indentation: expected 6 but found 4

(indentation)


[error] 287-287: wrong indentation: expected 4 but found 2

(indentation)


[error] 289-289: wrong indentation: expected 6 but found 4

(indentation)


[error] 294-294: wrong indentation: expected 6 but found 4

(indentation)


[error] 299-299: wrong indentation: expected 6 but found 4

(indentation)


[error] 304-304: wrong indentation: expected 6 but found 4

(indentation)


[error] 309-309: wrong indentation: expected 6 but found 4

(indentation)


[error] 314-314: wrong indentation: expected 6 but found 4

(indentation)


[error] 319-319: wrong indentation: expected 6 but found 4

(indentation)


[error] 324-324: wrong indentation: expected 6 but found 4

(indentation)


[error] 329-329: wrong indentation: expected 6 but found 4

(indentation)


[error] 334-334: wrong indentation: expected 6 but found 4

(indentation)


[error] 339-339: wrong indentation: expected 6 but found 4

(indentation)


[error] 344-344: wrong indentation: expected 6 but found 4

(indentation)


[error] 349-349: wrong indentation: expected 6 but found 4

(indentation)


[error] 354-354: wrong indentation: expected 4 but found 2

(indentation)


[error] 356-356: wrong indentation: expected 6 but found 4

(indentation)


[error] 361-361: wrong indentation: expected 4 but found 2

(indentation)


[error] 363-363: wrong indentation: expected 6 but found 4

(indentation)


[error] 368-368: wrong indentation: expected 6 but found 4

(indentation)


[error] 373-373: wrong indentation: expected 4 but found 2

(indentation)


[error] 375-375: wrong indentation: expected 6 but found 4

(indentation)


[error] 380-380: wrong indentation: expected 4 but found 2

(indentation)


[error] 382-382: wrong indentation: expected 6 but found 4

(indentation)


[error] 387-387: wrong indentation: expected 6 but found 4

(indentation)


[error] 392-392: wrong indentation: expected 6 but found 4

(indentation)


[error] 397-397: wrong indentation: expected 6 but found 4

(indentation)


[error] 402-402: wrong indentation: expected 6 but found 4

(indentation)


[error] 407-407: wrong indentation: expected 6 but found 4

(indentation)


[error] 412-412: wrong indentation: expected 6 but found 4

(indentation)


[error] 417-417: wrong indentation: expected 6 but found 4

(indentation)


[error] 422-422: wrong indentation: expected 6 but found 4

(indentation)


[error] 427-427: wrong indentation: expected 4 but found 2

(indentation)


[error] 429-429: wrong indentation: expected 6 but found 4

(indentation)


[error] 434-434: wrong indentation: expected 6 but found 4

(indentation)


[error] 439-439: wrong indentation: expected 6 but found 4

(indentation)


[error] 444-444: wrong indentation: expected 6 but found 4

(indentation)


[error] 449-449: wrong indentation: expected 6 but found 4

(indentation)


[error] 454-454: wrong indentation: expected 6 but found 4

(indentation)


[error] 459-459: wrong indentation: expected 6 but found 4

(indentation)


[error] 464-464: wrong indentation: expected 6 but found 4

(indentation)


[error] 469-469: wrong indentation: expected 6 but found 4

(indentation)


[error] 474-474: wrong indentation: expected 6 but found 4

(indentation)


[error] 479-479: wrong indentation: expected 6 but found 4

(indentation)


[error] 484-484: wrong indentation: expected 6 but found 4

(indentation)


[error] 489-489: wrong indentation: expected 6 but found 4

(indentation)


[error] 494-494: wrong indentation: expected 4 but found 2

(indentation)


[error] 496-496: wrong indentation: expected 6 but found 4

(indentation)


[error] 501-501: wrong indentation: expected 6 but found 4

(indentation)


[error] 506-506: wrong indentation: expected 6 but found 4

(indentation)


[error] 511-511: wrong indentation: expected 6 but found 4

(indentation)


[error] 516-516: wrong indentation: expected 6 but found 4

(indentation)


[error] 521-521: wrong indentation: expected 6 but found 4

(indentation)


[error] 526-526: wrong indentation: expected 6 but found 4

(indentation)


[error] 531-531: wrong indentation: expected 6 but found 4

(indentation)


[error] 536-536: wrong indentation: expected 4 but found 2

(indentation)


[error] 538-538: wrong indentation: expected 6 but found 4

(indentation)


[error] 543-543: wrong indentation: expected 6 but found 4

(indentation)


[error] 548-548: wrong indentation: expected 6 but found 4

(indentation)


[error] 553-553: wrong indentation: expected 6 but found 4

(indentation)


[error] 558-558: wrong indentation: expected 4 but found 2

(indentation)


[error] 560-560: wrong indentation: expected 6 but found 4

(indentation)


[error] 565-565: wrong indentation: expected 6 but found 4

(indentation)


[error] 570-570: wrong indentation: expected 6 but found 4

(indentation)


[error] 575-575: wrong indentation: expected 6 but found 4

(indentation)


[error] 580-580: wrong indentation: expected 4 but found 2

(indentation)


[error] 582-582: wrong indentation: expected 6 but found 4

(indentation)


[error] 587-587: wrong indentation: expected 4 but found 2

(indentation)


[error] 589-589: wrong indentation: expected 6 but found 4

(indentation)


[error] 594-594: wrong indentation: expected 4 but found 2

(indentation)


[error] 596-596: wrong indentation: expected 6 but found 4

(indentation)


[error] 601-601: wrong indentation: expected 6 but found 4

(indentation)


[error] 606-606: wrong indentation: expected 4 but found 2

(indentation)


[error] 608-608: wrong indentation: expected 6 but found 4

(indentation)


[error] 613-613: wrong indentation: expected 6 but found 4

(indentation)


[error] 618-618: wrong indentation: expected 6 but found 4

(indentation)


[error] 623-623: wrong indentation: expected 6 but found 4

(indentation)


[error] 628-628: wrong indentation: expected 4 but found 2

(indentation)


[error] 630-630: wrong indentation: expected 6 but found 4

(indentation)


[error] 635-635: wrong indentation: expected 6 but found 4

(indentation)


[error] 640-640: wrong indentation: expected 6 but found 4

(indentation)


[error] 645-645: wrong indentation: expected 6 but found 4

(indentation)


[error] 650-650: wrong indentation: expected 6 but found 4

(indentation)


[error] 655-655: wrong indentation: expected 6 but found 4

(indentation)


[error] 660-660: wrong indentation: expected 6 but found 4

(indentation)


[error] 665-665: wrong indentation: expected 6 but found 4

(indentation)


[error] 670-670: wrong indentation: expected 6 but found 4

(indentation)


[error] 675-675: wrong indentation: expected 6 but found 4

(indentation)


[error] 680-680: wrong indentation: expected 6 but found 4

(indentation)


[error] 685-685: wrong indentation: expected 6 but found 4

(indentation)


[error] 690-690: wrong indentation: expected 6 but found 4

(indentation)


[error] 695-695: wrong indentation: expected 6 but found 4

(indentation)


[error] 700-700: wrong indentation: expected 6 but found 4

(indentation)


[error] 705-705: wrong indentation: expected 6 but found 4

(indentation)


[error] 710-710: wrong indentation: expected 6 but found 4

(indentation)


[error] 715-715: wrong indentation: expected 6 but found 4

(indentation)


[error] 720-720: wrong indentation: expected 6 but found 4

(indentation)


[error] 725-725: wrong indentation: expected 6 but found 4

(indentation)


[error] 730-730: wrong indentation: expected 6 but found 4

(indentation)


[error] 735-735: wrong indentation: expected 6 but found 4

(indentation)


[error] 740-740: wrong indentation: expected 6 but found 4

(indentation)


[error] 745-745: wrong indentation: expected 6 but found 4

(indentation)


[error] 750-750: wrong indentation: expected 6 but found 4

(indentation)


[error] 755-755: wrong indentation: expected 6 but found 4

(indentation)


[error] 760-760: wrong indentation: expected 6 but found 4

(indentation)


[error] 765-765: wrong indentation: expected 6 but found 4

(indentation)


[error] 770-770: wrong indentation: expected 6 but found 4

(indentation)


[error] 775-775: wrong indentation: expected 6 but found 4

(indentation)


[error] 780-780: wrong indentation: expected 4 but found 2

(indentation)


[error] 782-782: wrong indentation: expected 6 but found 4

(indentation)


[error] 787-787: wrong indentation: expected 6 but found 4

(indentation)


[error] 792-792: wrong indentation: expected 6 but found 4

(indentation)


[error] 797-797: wrong indentation: expected 6 but found 4

(indentation)


[error] 802-802: wrong indentation: expected 6 but found 4

(indentation)


[error] 807-807: wrong indentation: expected 6 but found 4

(indentation)


[error] 812-812: wrong indentation: expected 6 but found 4

(indentation)


[error] 817-817: wrong indentation: expected 6 but found 4

(indentation)


[error] 822-822: wrong indentation: expected 6 but found 4

(indentation)


[error] 827-827: wrong indentation: expected 6 but found 4

(indentation)


[error] 832-832: wrong indentation: expected 6 but found 4

(indentation)


[error] 837-837: wrong indentation: expected 6 but found 4

(indentation)


[error] 842-842: wrong indentation: expected 6 but found 4

(indentation)


[error] 847-847: wrong indentation: expected 6 but found 4

(indentation)


[error] 852-852: wrong indentation: expected 6 but found 4

(indentation)


[error] 857-857: wrong indentation: expected 6 but found 4

(indentation)


[error] 862-862: wrong indentation: expected 6 but found 4

(indentation)


[error] 867-867: wrong indentation: expected 6 but found 4

(indentation)


[error] 872-872: wrong indentation: expected 6 but found 4

(indentation)


[error] 877-877: wrong indentation: expected 6 but found 4

(indentation)


[error] 882-882: wrong indentation: expected 6 but found 4

(indentation)


[error] 887-887: wrong indentation: expected 6 but found 4

(indentation)


[error] 892-892: wrong indentation: expected 6 but found 4

(indentation)


[error] 897-897: wrong indentation: expected 6 but found 4

(indentation)


[error] 902-902: wrong indentation: expected 6 but found 4

(indentation)


[error] 907-907: wrong indentation: expected 6 but found 4

(indentation)


[error] 912-912: wrong indentation: expected 6 but found 4

(indentation)


[error] 917-917: wrong indentation: expected 6 but found 4

(indentation)


[error] 922-922: wrong indentation: expected 6 but found 4

(indentation)


[error] 927-927: wrong indentation: expected 6 but found 4

(indentation)


[error] 932-932: wrong indentation: expected 6 but found 4

(indentation)


[error] 937-937: wrong indentation: expected 6 but found 4

(indentation)


[error] 942-942: wrong indentation: expected 6 but found 4

(indentation)


[error] 947-947: wrong indentation: expected 6 but found 4

(indentation)


[error] 952-952: wrong indentation: expected 6 but found 4

(indentation)


[error] 957-957: wrong indentation: expected 6 but found 4

(indentation)


[error] 962-962: wrong indentation: expected 6 but found 4

(indentation)


[error] 967-967: wrong indentation: expected 6 but found 4

(indentation)


[error] 972-972: wrong indentation: expected 6 but found 4

(indentation)


[error] 977-977: wrong indentation: expected 6 but found 4

(indentation)


[error] 982-982: wrong indentation: expected 6 but found 4

(indentation)


[error] 987-987: wrong indentation: expected 6 but found 4

(indentation)


[error] 992-992: wrong indentation: expected 6 but found 4

(indentation)


[error] 997-997: wrong indentation: expected 6 but found 4

(indentation)


[error] 1002-1002: wrong indentation: expected 6 but found 4

(indentation)


[error] 1007-1007: wrong indentation: expected 6 but found 4

(indentation)


[error] 1012-1012: wrong indentation: expected 6 but found 4

(indentation)


[error] 1017-1017: wrong indentation: expected 6 but found 4

(indentation)


[error] 1022-1022: wrong indentation: expected 6 but found 4

(indentation)


[error] 1027-1027: wrong indentation: expected 6 but found 4

(indentation)


[error] 1032-1032: wrong indentation: expected 6 but found 4

(indentation)


[error] 1037-1037: wrong indentation: expected 6 but found 4

(indentation)


[error] 1042-1042: wrong indentation: expected 6 but found 4

(indentation)


[error] 1047-1047: wrong indentation: expected 6 but found 4

(indentation)


[error] 1052-1052: wrong indentation: expected 6 but found 4

(indentation)


[error] 1057-1057: wrong indentation: expected 6 but found 4

(indentation)


[error] 1062-1062: wrong indentation: expected 6 but found 4

(indentation)


[error] 1067-1067: wrong indentation: expected 6 but found 4

(indentation)


[error] 1072-1072: wrong indentation: expected 6 but found 4

(indentation)


[error] 1077-1077: wrong indentation: expected 6 but found 4

(indentation)


[error] 1082-1082: wrong indentation: expected 6 but found 4

(indentation)


[error] 1087-1087: wrong indentation: expected 6 but found 4

(indentation)


[error] 1092-1092: wrong indentation: expected 6 but found 4

(indentation)


[error] 1097-1097: wrong indentation: expected 6 but found 4

(indentation)


[error] 1102-1102: wrong indentation: expected 4 but found 2

(indentation)


[error] 1104-1104: wrong indentation: expected 6 but found 4

(indentation)


[error] 1109-1109: wrong indentation: expected 6 but found 4

(indentation)


[error] 1114-1114: wrong indentation: expected 6 but found 4

(indentation)


[error] 1119-1119: wrong indentation: expected 6 but found 4

(indentation)


[error] 1124-1124: wrong indentation: expected 4 but found 2

(indentation)


[error] 1126-1126: wrong indentation: expected 6 but found 4

(indentation)


[error] 1131-1131: wrong indentation: expected 6 but found 4

(indentation)


[error] 1136-1136: wrong indentation: expected 6 but found 4

(indentation)


[error] 1141-1141: wrong indentation: expected 6 but found 4

(indentation)


[error] 1146-1146: wrong indentation: expected 6 but found 4

(indentation)


[error] 1151-1151: wrong indentation: expected 6 but found 4

(indentation)


[error] 1156-1156: wrong indentation: expected 6 but found 4

(indentation)


[error] 1161-1161: wrong indentation: expected 6 but found 4

(indentation)


[error] 1166-1166: wrong indentation: expected 6 but found 4

(indentation)


[error] 1171-1171: wrong indentation: expected 6 but found 4

(indentation)


[error] 1176-1176: wrong indentation: expected 6 but found 4

(indentation)


[error] 1181-1181: wrong indentation: expected 6 but found 4

(indentation)


[error] 1186-1186: wrong indentation: expected 6 but found 4

(indentation)


[error] 1191-1191: wrong indentation: expected 4 but found 2

(indentation)


[error] 1193-1193: wrong indentation: expected 6 but found 4

(indentation)


[error] 1198-1198: wrong indentation: expected 6 but found 4

(indentation)


[error] 1203-1203: wrong indentation: expected 6 but found 4

(indentation)


[error] 1208-1208: wrong indentation: expected 6 but found 4

(indentation)


[error] 1213-1213: wrong indentation: expected 6 but found 4

(indentation)


[error] 1218-1218: wrong indentation: expected 6 but found 4

(indentation)


[error] 1223-1223: wrong indentation: expected 6 but found 4

(indentation)


[error] 1228-1228: wrong indentation: expected 6 but found 4

(indentation)


[error] 1233-1233: wrong indentation: expected 6 but found 4

(indentation)


[error] 1238-1238: wrong indentation: expected 6 but found 4

(indentation)


[error] 1243-1243: wrong indentation: expected 6 but found 4

(indentation)


[error] 1248-1248: wrong indentation: expected 6 but found 4

(indentation)


[error] 1253-1253: wrong indentation: expected 6 but found 4

(indentation)


[error] 1258-1258: wrong indentation: expected 6 but found 4

(indentation)


[error] 1263-1263: wrong indentation: expected 6 but found 4

(indentation)


[error] 1268-1268: wrong indentation: expected 6 but found 4

(indentation)


[error] 1273-1273: wrong indentation: expected 6 but found 4

(indentation)


[error] 1278-1278: wrong indentation: expected 6 but found 4

(indentation)


[error] 1283-1283: wrong indentation: expected 6 but found 4

(indentation)


[error] 1288-1288: wrong indentation: expected 6 but found 4

(indentation)


[error] 1293-1293: wrong indentation: expected 6 but found 4

(indentation)


[error] 1298-1298: wrong indentation: expected 6 but found 4

(indentation)


[error] 1303-1303: wrong indentation: expected 6 but found 4

(indentation)


[error] 1308-1308: wrong indentation: expected 6 but found 4

(indentation)


[error] 1313-1313: wrong indentation: expected 4 but found 2

(indentation)


[error] 1315-1315: wrong indentation: expected 6 but found 4

(indentation)


[error] 1320-1320: wrong indentation: expected 6 but found 4

(indentation)


[error] 1325-1325: wrong indentation: expected 6 but found 4

(indentation)


[error] 1330-1330: wrong indentation: expected 6 but found 4

(indentation)


[error] 1335-1335: wrong indentation: expected 6 but found 4

(indentation)


[error] 1340-1340: wrong indentation: expected 6 but found 4

(indentation)


[error] 1345-1345: wrong indentation: expected 6 but found 4

(indentation)


[error] 1350-1350: wrong indentation: expected 6 but found 4

(indentation)


[error] 1355-1355: wrong indentation: expected 6 but found 4

(indentation)


[error] 1360-1360: wrong indentation: expected 4 but found 2

(indentation)


[error] 1362-1362: wrong indentation: expected 6 but found 4

(indentation)


[error] 1367-1367: wrong indentation: expected 6 but found 4

(indentation)


[error] 1372-1372: wrong indentation: expected 6 but found 4

(indentation)


[error] 1377-1377: wrong indentation: expected 6 but found 4

(indentation)


[error] 1382-1382: wrong indentation: expected 6 but found 4

(indentation)


[error] 1387-1387: wrong indentation: expected 6 but found 4

(indentation)


[error] 1392-1392: wrong indentation: expected 6 but found 4

(indentation)


[error] 1397-1397: wrong indentation: expected 6 but found 4

(indentation)


[error] 1402-1402: wrong indentation: expected 6 but found 4

(indentation)


[error] 1407-1407: wrong indentation: expected 6 but found 4

(indentation)


[error] 1412-1412: wrong indentation: expected 6 but found 4

(indentation)


[error] 1417-1417: wrong indentation: expected 6 but found 4

(indentation)


[error] 1422-1422: wrong indentation: expected 6 but found 4

(indentation)


[error] 1427-1427: wrong indentation: expected 6 but found 4

(indentation)


[error] 1432-1432: wrong indentation: expected 6 but found 4

(indentation)


[error] 1437-1437: wrong indentation: expected 6 but found 4

(indentation)


[error] 1442-1442: wrong indentation: expected 6 but found 4

(indentation)


[error] 1447-1447: wrong indentation: expected 6 but found 4

(indentation)


[error] 1452-1452: wrong indentation: expected 6 but found 4

(indentation)


[error] 1457-1457: wrong indentation: expected 4 but found 2

(indentation)


[error] 1459-1459: wrong indentation: expected 6 but found 4

(indentation)


[error] 1464-1464: wrong indentation: expected 4 but found 2

(indentation)


[error] 1466-1466: wrong indentation: expected 6 but found 4

(indentation)


[error] 1471-1471: wrong indentation: expected 4 but found 2

(indentation)


[error] 1473-1473: wrong indentation: expected 6 but found 4

(indentation)


[error] 1478-1478: wrong indentation: expected 6 but found 4

(indentation)


[error] 1483-1483: wrong indentation: expected 6 but found 4

(indentation)


[error] 1488-1488: wrong indentation: expected 6 but found 4

(indentation)


[error] 1493-1493: wrong indentation: expected 4 but found 2

(indentation)


[error] 1495-1495: wrong indentation: expected 6 but found 4

(indentation)


[error] 1500-1500: wrong indentation: expected 6 but found 4

(indentation)


[error] 1505-1505: wrong indentation: expected 6 but found 4

(indentation)


[error] 1510-1510: wrong indentation: expected 4 but found 2

(indentation)


[error] 1512-1512: wrong indentation: expected 6 but found 4

(indentation)


[error] 1517-1517: wrong indentation: expected 4 but found 2

(indentation)


[error] 1519-1519: wrong indentation: expected 6 but found 4

(indentation)


[error] 1524-1524: wrong indentation: expected 6 but found 4

(indentation)


[error] 1529-1529: wrong indentation: expected 6 but found 4

(indentation)


[error] 1534-1534: wrong indentation: expected 6 but found 4

(indentation)


[error] 1539-1539: wrong indentation: expected 6 but found 4

(indentation)


[error] 1544-1544: wrong indentation: expected 6 but found 4

(indentation)


[error] 1549-1549: wrong indentation: expected 6 but found 4

(indentation)


[error] 1554-1554: wrong indentation: expected 6 but found 4

(indentation)


[error] 1559-1559: wrong indentation: expected 6 but found 4

(indentation)


[error] 1564-1564: wrong indentation: expected 6 but found 4

(indentation)


[error] 1569-1569: wrong indentation: expected 6 but found 4

(indentation)


[error] 1574-1574: wrong indentation: expected 6 but found 4

(indentation)


[error] 1579-1579: wrong indentation: expected 6 but found 4

(indentation)


[error] 1584-1584: wrong indentation: expected 6 but found 4

(indentation)


[error] 1589-1589: wrong indentation: expected 6 but found 4

(indentation)


[error] 1594-1594: wrong indentation: expected 6 but found 4

(indentation)


[error] 1599-1599: wrong indentation: expected 6 but found 4

(indentation)


[error] 1604-1604: wrong indentation: expected 6 but found 4

(indentation)


[error] 1609-1609: wrong indentation: expected 6 but found 4

(indentation)


[error] 1614-1614: wrong indentation: expected 6 but found 4

(indentation)


[error] 1619-1619: wrong indentation: expected 6 but found 4

(indentation)


[error] 1624-1624: wrong indentation: expected 6 but found 4

(indentation)


[error] 1629-1629: wrong indentation: expected 6 but found 4

(indentation)


[error] 1634-1634: wrong indentation: expected 6 but found 4

(indentation)


[error] 1639-1639: wrong indentation: expected 6 but found 4

(indentation)


[error] 1644-1644: wrong indentation: expected 6 but found 4

(indentation)


[error] 1649-1649: wrong indentation: expected 6 but found 4

(indentation)


[error] 1654-1654: wrong indentation: expected 6 but found 4

(indentation)


[error] 1659-1659: wrong indentation: expected 6 but found 4

(indentation)


[error] 1664-1664: wrong indentation: expected 6 but found 4

(indentation)


[error] 1669-1669: wrong indentation: expected 6 but found 4

(indentation)


[error] 1674-1674: wrong indentation: expected 6 but found 4

(indentation)


[error] 1679-1679: wrong indentation: expected 6 but found 4

(indentation)


[error] 1684-1684: wrong indentation: expected 6 but found 4

(indentation)


[error] 1689-1689: wrong indentation: expected 6 but found 4

(indentation)


[error] 1694-1694: wrong indentation: expected 6 but found 4

(indentation)


[error] 1699-1699: wrong indentation: expected 6 but found 4

(indentation)


[error] 1704-1704: wrong indentation: expected 6 but found 4

(indentation)


[error] 1709-1709: wrong indentation: expected 6 but found 4

(indentation)


[error] 1714-1714: wrong indentation: expected 6 but found 4

(indentation)


[error] 1719-1719: wrong indentation: expected 6 but found 4

(indentation)


[error] 1724-1724: wrong indentation: expected 6 but found 4

(indentation)


[error] 1729-1729: wrong indentation: expected 6 but found 4

(indentation)


[error] 1734-1734: wrong indentation: expected 6 but found 4

(indentation)


[error] 1739-1739: wrong indentation: expected 6 but found 4

(indentation)


[error] 1744-1744: wrong indentation: expected 6 but found 4

(indentation)


[error] 1749-1749: wrong indentation: expected 6 but found 4

(indentation)


[error] 1754-1754: wrong indentation: expected 6 but found 4

(indentation)


[error] 1759-1759: wrong indentation: expected 6 but found 4

(indentation)


[error] 1764-1764: wrong indentation: expected 6 but found 4

(indentation)


[error] 1769-1769: wrong indentation: expected 6 but found 4

(indentation)


[error] 1774-1774: wrong indentation: expected 6 but found 4

(indentation)


[error] 1779-1779: wrong indentation: expected 6 but found 4

(indentation)


[error] 1784-1784: wrong indentation: expected 6 but found 4

(indentation)


[error] 1789-1789: wrong indentation: expected 6 but found 4

(indentation)


[error] 1794-1794: wrong indentation: expected 6 but found 4

(indentation)


[error] 1799-1799: wrong indentation: expected 6 but found 4

(indentation)


[error] 1804-1804: wrong indentation: expected 6 but found 4

(indentation)


[error] 1809-1809: wrong indentation: expected 6 but found 4

(indentation)


[error] 1814-1814: wrong indentation: expected 6 but found 4

(indentation)


[error] 1819-1819: wrong indentation: expected 6 but found 4

(indentation)


[error] 1824-1824: wrong indentation: expected 6 but found 4

(indentation)


[error] 1829-1829: wrong indentation: expected 6 but found 4

(indentation)


[error] 1834-1834: wrong indentation: expected 6 but found 4

(indentation)


[error] 1839-1839: wrong indentation: expected 6 but found 4

(indentation)


[error] 1844-1844: wrong indentation: expected 4 but found 2

(indentation)


[error] 1846-1846: wrong indentation: expected 6 but found 4

(indentation)


[error] 1851-1851: wrong indentation: expected 6 but found 4

(indentation)


[error] 1856-1856: wrong indentation: expected 6 but found 4

(indentation)


[error] 1861-1861: wrong indentation: expected 6 but found 4

(indentation)


[error] 1866-1866: wrong indentation: expected 6 but found 4

(indentation)


[error] 1871-1871: wrong indentation: expected 6 but found 4

(indentation)


[error] 1876-1876: wrong indentation: expected 6 but found 4

(indentation)


[error] 1881-1881: wrong indentation: expected 6 but found 4

(indentation)


[error] 1886-1886: wrong indentation: expected 6 but found 4

(indentation)


[error] 1891-1891: wrong indentation: expected 6 but found 4

(indentation)


[error] 1896-1896: wrong indentation: expected 6 but found 4

(indentation)


[error] 1901-1901: wrong indentation: expected 6 but found 4

(indentation)


[error] 1906-1906: wrong indentation: expected 6 but found 4

(indentation)


[error] 1911-1911: wrong indentation: expected 6 but found 4

(indentation)


[error] 1916-1916: wrong indentation: expected 6 but found 4

(indentation)


[error] 1921-1921: wrong indentation: expected 6 but found 4

(indentation)


[error] 1926-1926: wrong indentation: expected 6 but found 4

(indentation)


[error] 1931-1931: wrong indentation: expected 6 but found 4

(indentation)


[error] 1936-1936: wrong indentation: expected 6 but found 4

(indentation)


[error] 1941-1941: wrong indentation: expected 6 but found 4

(indentation)


[error] 1946-1946: wrong indentation: expected 6 but found 4

(indentation)


[error] 1951-1951: wrong indentation: expected 6 but found 4

(indentation)


[error] 1956-1956: wrong indentation: expected 6 but found 4

(indentation)


[error] 1961-1961: wrong indentation: expected 6 but found 4

(indentation)


[error] 1966-1966: wrong indentation: expected 6 but found 4

(indentation)


[error] 1971-1971: wrong indentation: expected 6 but found 4

(indentation)


[error] 1976-1976: wrong indentation: expected 6 but found 4

(indentation)


[error] 1981-1981: wrong indentation: expected 6 but found 4

(indentation)


[error] 1986-1986: wrong indentation: expected 6 but found 4

(indentation)


[error] 1991-1991: wrong indentation: expected 6 but found 4

(indentation)


[error] 1996-1996: wrong indentation: expected 6 but found 4

(indentation)


[error] 2001-2001: wrong indentation: expected 6 but found 4

(indentation)

Content.Shared/_LostParadise/EntityTable/EntitySelectors/NoneSelector.cs (1)

5-7: 🧹 Nitpick (assertive)

Рекомендуется расширить документацию

Текущая документация довольно краткая. Предлагается добавить:

  • Пример использования
  • Объяснение, в каких случаях следует применять этот селектор

Предлагаемые изменения:

 /// <summary>
-/// Selects nothing.
+/// Селектор, не выбирающий никаких сущностей.
+/// Используется в случаях, когда требуется явно указать отсутствие выборки сущностей,
+/// например, для отключения спавна в определенных условиях экспедиции.
 /// </summary>
📝 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.

/// <summary>
/// Селектор, не выбирающий никаких сущностей.
/// Используется в случаях, когда требуется явно указать отсутствие выборки сущностей,
/// например, для отключения спавна в определенных условиях экспедиции.
/// </summary>
Content.Server/_LostParadise/Salvage/LPSalvageSystem.Runner.cs (2)

227-231: 🛠️ Refactor suggestion

Перенесите фиксированные значения в конфигурацию для гибкости настройки

В строках 227-231 используются фиксированные числовые значения для параметров генератора местоположения. Рекомендуется перенести эти значения в конфигурационные переменные (например, CVAR), чтобы облегчить настройку и дальнейшее обслуживание кода.


233-239: 🧹 Nitpick (assertive)

Оптимизируйте вложенные запросы сущностей для повышения производительности

В строках 233-239 внутри цикла выполняется запрос всех сеток на карте, что может негативно сказаться на производительности системы. Рассмотрите возможность оптимизации этого участка кода, например, кэшируя результаты или сократив количество запросов.

Resources/Prototypes/Entities/Objects/Misc/space_cash.yml (1)

150-160: ⚠️ Potential issue

Новый прототип должен быть размещен в нашей папке согласно структуре проекта

Согласно руководству по кодированию, все добавляемые прототипы должны находиться в нашей папке. Пожалуйста, переместите прототип LPPSpaceCash25000 в соответствующую директорию, чтобы соблюдать соглашения проекта.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 155-155: wrong indentation: expected 4 but found 2

(indentation)

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: 15

🧹 Outside diff range comments (2)
Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml (1)

Line range hint 134-144: Содержимое золотого ящика требует доработки

Текущее наполнение золотого ящика (слиток золота и кубок с низким шансом выпадения) кажется недостаточно полезным для игрового процесса.

Предлагаю добавить более полезные предметы, например:

  contents:
    - id: IngotGold
    - id: DrinkGoldenCup
      prob: 0.05
+   - id: GoldBarSmall
+     amount: 2
+   - id: ClothingNeckCloakGold
+     prob: 0.3
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_hydroponics.yml (1)

Line range hint 343-348: Отформатируйте комментарии согласно стандартам YAML!

Комментарии должны начинаться с пробела после символа #.

Предлагаемое исправление:

-    #- DonkpocketBoxSpawner
-    #- RandomFoodBakedSingle
-    #- RandomFoodBakedWhole
-    #- RandomFoodMeal
-    #- RandomFoodSingle
-    #- RandomSnacks
+    # - DonkpocketBoxSpawner
+    # - RandomFoodBakedSingle
+    # - RandomFoodBakedWhole
+    # - RandomFoodMeal
+    # - RandomFoodSingle
+    # - RandomSnacks
🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 21-21: wrong indentation: expected 6 but found 4

(indentation)


[error] 27-27: wrong indentation: expected 6 but found 4

(indentation)


[error] 38-38: wrong indentation: expected 4 but found 2

(indentation)


[error] 51-51: wrong indentation: expected 6 but found 4

(indentation)


[error] 68-68: wrong indentation: expected 4 but found 2

(indentation)


[error] 79-79: wrong indentation: expected 6 but found 4

(indentation)


[error] 100-100: wrong indentation: expected 6 but found 4

(indentation)


[error] 109-109: wrong indentation: expected 4 but found 2

(indentation)


[error] 119-119: wrong indentation: expected 6 but found 4

(indentation)


[error] 130-130: wrong indentation: expected 4 but found 2

(indentation)


[error] 140-140: wrong indentation: expected 6 but found 4

(indentation)


[error] 153-153: wrong indentation: expected 4 but found 2

(indentation)


[error] 164-164: wrong indentation: expected 6 but found 4

(indentation)


[error] 185-185: wrong indentation: expected 4 but found 2

(indentation)


[error] 196-196: wrong indentation: expected 6 but found 4

(indentation)


[error] 205-205: wrong indentation: expected 6 but found 4

(indentation)


[error] 216-216: wrong indentation: expected 4 but found 2

(indentation)


[error] 227-227: wrong indentation: expected 6 but found 8

(indentation)


[warning] 227-227: too few spaces before comment

(comments)


[warning] 285-285: missing starting space in comment

(comments)


[warning] 286-286: missing starting space in comment

(comments)


[warning] 286-286: comment not indented like content

(comments-indentation)


[warning] 287-287: missing starting space in comment

(comments)


[warning] 288-288: missing starting space in comment

(comments)


[warning] 289-289: missing starting space in comment

(comments)


[warning] 289-289: comment not indented like content

(comments-indentation)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Reviewing files that changed from the base of the PR and between 6c26238 and dda1f6d.

⛔ Files ignored due to path filters (35)
  • Resources/Audio/Expedition/Lchavasse_Lunar_Abyss_but_NO_dubstep.ogg is excluded by !**/*.ogg
  • Resources/Audio/StationEvents/Lchavasse_Lunar_Abyss_but_NO_dubstep.ogg is excluded by !**/*.ogg
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/equipped-head-base.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/equipped-head-decals-01.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/equipped-head-decals-02.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/equipped-head-light.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/equipped-head-reinforced-points.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/equipped-head-visor.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/icon-base.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/icon-decals-01.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/icon-decals-02.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/icon-flash.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/icon-reinforced-points.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/icon-visor.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/Head/Helmets/eva_color.rsi/light-overlay.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/maxim_prototype.rsi/equipped-OUTERCLOTHING.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/maxim_prototype.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/maxim_prototype.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/maxim_prototype.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/equipped-base.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/equipped-breathing-gear.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/equipped-decals-01.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/equipped-decals-02-boxer.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/equipped-reinforced-points.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/equipped-unshaded.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/icon-base.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/icon-breathing-gear.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/icon-decals-01.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/icon-decals-02-boxer.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/icon-reinforced-points.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/icon-unshaded.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/inhand-left-base.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/inhand-left-breathing-gear.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/inhand-left-decals-01.png is excluded by !**/*.png
  • Resources/Textures/_LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi/inhand-left-reinforced-points.png is excluded by !**/*.png
📒 Files selected for processing (23)
  • Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml (1 hunks)
  • Resources/Prototypes/SoundCollections/NukeMusic.yml (1 hunks)
  • Resources/Prototypes/SoundCollections/expeditions.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Catalog/Fills/Backpacks/duffelbags.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/materials.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/suit_storage.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Catalog/Fills/StorageFillTemplates/departmental_eva.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Clothing/Head/hardsuit-helmet.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Clothing/Head/softsuits-helmets.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/hardsuits.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/softsuits.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/magboots.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_engineering.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_hydroponics.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_medical.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_supply.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/generator.yml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (23)
Resources/Prototypes/SoundCollections/NukeMusic.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Clothing/Head/hardsuit-helmet.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/magboots.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/materials.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/SoundCollections/expeditions.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Catalog/Fills/Backpacks/duffelbags.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/generator.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Catalog/Fills/StorageFillTemplates/departmental_eva.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/hardsuits.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/softsuits.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Clothing/Head/softsuits-helmets.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_supply.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_engineering.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_medical.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/suit_storage.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_hydroponics.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

🪛 yamllint (1.35.1)
Resources/Prototypes/_LostParadise/Entities/Clothing/Head/hardsuit-helmet.yml

[warning] 539-539: missing starting space in comment

(comments)


[error] 543-543: too many spaces inside brackets

(brackets)


[error] 543-543: too many spaces inside brackets

(brackets)


[error] 547-547: wrong indentation: expected 4 but found 2

(indentation)


[error] 566-566: too many spaces inside brackets

(brackets)


[error] 566-566: too many spaces inside brackets

(brackets)


[error] 568-568: too many spaces inside brackets

(brackets)


[error] 568-568: too many spaces inside brackets

(brackets)


[error] 572-572: wrong indentation: expected 4 but found 2

(indentation)


[warning] 577-577: too few spaces before comment

(comments)

Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/magboots.yml

[error] 130-130: wrong indentation: expected at least 3

(indentation)


[error] 144-144: wrong indentation: expected at least 3

(indentation)


[error] 160-160: wrong indentation: expected at least 3

(indentation)


[error] 161-161: too many spaces inside braces

(braces)


[error] 161-161: too many spaces inside braces

(braces)


[error] 162-162: too many spaces inside braces

(braces)


[error] 162-162: too many spaces before colon

(colons)


[error] 162-162: too many spaces inside braces

(braces)


[error] 169-169: wrong indentation: expected at least 3

(indentation)


[error] 170-170: too many spaces inside braces

(braces)


[error] 170-170: too many spaces inside braces

(braces)


[error] 171-171: too many spaces inside braces

(braces)


[error] 171-171: too many spaces before colon

(colons)


[error] 171-171: too many spaces inside braces

(braces)

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/materials.yml

[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 9-9: wrong indentation: expected at least 5

(indentation)


[error] 18-18: wrong indentation: expected at least 3

(indentation)

Resources/Prototypes/_LostParadise/Catalog/Fills/Backpacks/duffelbags.yml

[error] 127-127: wrong indentation: expected 4 but found 2

(indentation)


[error] 143-143: wrong indentation: expected 4 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Catalog/Fills/StorageFillTemplates/departmental_eva.yml

[error] 6-6: wrong indentation: expected at least 3

(indentation)


[error] 8-8: wrong indentation: expected at least 5

(indentation)


[error] 18-18: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected at least 5

(indentation)


[error] 30-30: wrong indentation: expected at least 3

(indentation)


[error] 32-32: wrong indentation: expected at least 5

(indentation)


[error] 42-42: wrong indentation: expected at least 3

(indentation)


[error] 44-44: wrong indentation: expected at least 5

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 34-34: wrong indentation: expected 6 but found 4

(indentation)


[error] 45-45: wrong indentation: expected 4 but found 2

(indentation)


[error] 56-56: wrong indentation: expected 6 but found 4

(indentation)


[error] 64-64: wrong indentation: expected 6 but found 4

(indentation)


[error] 74-74: wrong indentation: expected 4 but found 2

(indentation)


[error] 86-86: wrong indentation: expected 6 but found 4

(indentation)


[error] 98-98: wrong indentation: expected 6 but found 4

(indentation)


[error] 107-107: wrong indentation: expected 4 but found 2

(indentation)


[error] 118-118: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 6 but found 4

(indentation)


[error] 193-193: wrong indentation: expected 4 but found 2

(indentation)


[error] 204-204: wrong indentation: expected 6 but found 4

(indentation)


[error] 211-211: wrong indentation: expected 6 but found 4

(indentation)


[error] 222-222: wrong indentation: expected 4 but found 2

(indentation)


[error] 234-234: wrong indentation: expected 6 but found 4

(indentation)


[error] 255-255: wrong indentation: expected 6 but found 4

(indentation)


[error] 266-266: wrong indentation: expected 4 but found 2

(indentation)


[error] 276-276: wrong indentation: expected 6 but found 4

(indentation)


[error] 292-292: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/hardsuits.yml

[warning] 709-709: missing starting space in comment

(comments)


[warning] 712-712: too few spaces before comment

(comments)


[error] 716-716: wrong indentation: expected 4 but found 2

(indentation)


[warning] 724-724: too few spaces before comment

(comments)


[error] 747-747: wrong indentation: expected 4 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 24-24: wrong indentation: expected 6 but found 4

(indentation)


[error] 37-37: wrong indentation: expected 4 but found 2

(indentation)


[error] 48-48: wrong indentation: expected 6 but found 4

(indentation)


[error] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 82-82: wrong indentation: expected 4 but found 2

(indentation)


[error] 93-93: wrong indentation: expected 6 but found 4

(indentation)


[error] 110-110: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 151-151: wrong indentation: expected 4 but found 2

(indentation)


[error] 163-163: wrong indentation: expected 6 but found 4

(indentation)


[error] 172-172: wrong indentation: expected 6 but found 4

(indentation)


[error] 181-181: wrong indentation: expected 4 but found 2

(indentation)


[error] 192-192: wrong indentation: expected 6 but found 4

(indentation)


[error] 232-232: wrong indentation: expected 6 but found 4

(indentation)


[error] 242-242: wrong indentation: expected 4 but found 2

(indentation)


[error] 252-252: wrong indentation: expected 6 but found 4

(indentation)


[error] 267-267: wrong indentation: expected 4 but found 2

(indentation)


[error] 277-277: wrong indentation: expected 6 but found 4

(indentation)


[error] 292-292: wrong indentation: expected 4 but found 2

(indentation)


[error] 302-302: wrong indentation: expected 6 but found 4

(indentation)


[error] 306-306: wrong indentation: expected 6 but found 4

(indentation)


[error] 321-321: wrong indentation: expected 4 but found 2

(indentation)


[error] 332-332: wrong indentation: expected 6 but found 4

(indentation)


[warning] 343-343: missing starting space in comment

(comments)


[warning] 344-344: missing starting space in comment

(comments)


[warning] 345-345: missing starting space in comment

(comments)


[warning] 346-346: missing starting space in comment

(comments)


[warning] 347-347: missing starting space in comment

(comments)


[warning] 348-348: missing starting space in comment

(comments)


[error] 352-352: wrong indentation: expected 6 but found 4

(indentation)


[error] 363-363: wrong indentation: expected 4 but found 2

(indentation)


[error] 373-373: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/softsuits.yml

[error] 4-4: wrong indentation: expected at least 3

(indentation)


[warning] 4-4: too few spaces before comment

(comments)


[error] 9-9: wrong indentation: expected at least 3

(indentation)


[error] 11-11: wrong indentation: expected at least 5

(indentation)


[warning] 12-12: too few spaces before comment

(comments)


[error] 24-24: wrong indentation: expected at least 5

(indentation)


[error] 45-45: wrong indentation: expected 4 but found 2

(indentation)


[error] 48-48: wrong indentation: expected 6 but found 4

(indentation)


[error] 60-60: wrong indentation: expected 8 but found 6

(indentation)


[error] 70-70: wrong indentation: expected 8 but found 6

(indentation)


[error] 83-83: wrong indentation: expected 8 but found 6

(indentation)


[error] 101-101: wrong indentation: expected 4 but found 2

(indentation)


[error] 104-104: wrong indentation: expected 6 but found 4

(indentation)


[error] 116-116: wrong indentation: expected 8 but found 6

(indentation)


[error] 126-126: wrong indentation: expected 8 but found 6

(indentation)


[error] 139-139: wrong indentation: expected 8 but found 6

(indentation)


[error] 157-157: wrong indentation: expected 4 but found 2

(indentation)


[error] 160-160: wrong indentation: expected 6 but found 4

(indentation)


[error] 172-172: wrong indentation: expected 8 but found 6

(indentation)


[error] 182-182: wrong indentation: expected 8 but found 6

(indentation)


[error] 195-195: wrong indentation: expected 8 but found 6

(indentation)


[error] 213-213: wrong indentation: expected 4 but found 2

(indentation)


[error] 216-216: wrong indentation: expected 6 but found 4

(indentation)


[error] 228-228: wrong indentation: expected 8 but found 6

(indentation)


[error] 238-238: wrong indentation: expected 8 but found 6

(indentation)


[error] 251-251: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml

[error] 6-6: wrong indentation: expected 6 but found 4

(indentation)


[error] 9-9: wrong indentation: expected 8 but found 6

(indentation)


[error] 30-30: wrong indentation: expected 8 but found 6

(indentation)


[error] 41-41: wrong indentation: expected 4 but found 2

(indentation)


[error] 43-43: wrong indentation: expected 6 but found 4

(indentation)


[error] 57-57: wrong indentation: expected 4 but found 2

(indentation)


[error] 68-68: wrong indentation: expected 6 but found 4

(indentation)


[error] 71-71: wrong indentation: expected 8 but found 6

(indentation)


[error] 88-88: wrong indentation: expected 8 but found 6

(indentation)


[error] 102-102: wrong indentation: expected 4 but found 2

(indentation)


[error] 104-104: wrong indentation: expected 6 but found 4

(indentation)


[error] 118-118: wrong indentation: expected 4 but found 2

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


[error] 132-132: wrong indentation: expected 8 but found 6

(indentation)


[error] 148-148: wrong indentation: expected 8 but found 6

(indentation)


[error] 158-158: wrong indentation: expected 8 but found 6

(indentation)


[error] 178-178: wrong indentation: expected 4 but found 2

(indentation)


[error] 180-180: wrong indentation: expected 6 but found 4

(indentation)


[error] 194-194: wrong indentation: expected 6 but found 4

(indentation)


[error] 197-197: wrong indentation: expected 8 but found 6

(indentation)


[error] 213-213: wrong indentation: expected 8 but found 6

(indentation)


[error] 226-226: wrong indentation: expected 8 but found 6

(indentation)


[error] 248-248: wrong indentation: expected 4 but found 2

(indentation)


[error] 250-250: wrong indentation: expected 6 but found 4

(indentation)


[error] 264-264: wrong indentation: expected 6 but found 4

(indentation)


[error] 267-267: wrong indentation: expected 8 but found 6

(indentation)


[error] 283-283: wrong indentation: expected 8 but found 6

(indentation)


[error] 296-296: wrong indentation: expected 8 but found 6

(indentation)


[error] 307-307: wrong indentation: expected 4 but found 2

(indentation)


[error] 309-309: wrong indentation: expected 6 but found 4

(indentation)


[error] 323-323: wrong indentation: expected 6 but found 4

(indentation)


[error] 326-326: wrong indentation: expected 8 but found 6

(indentation)


[error] 342-342: wrong indentation: expected 8 but found 6

(indentation)


[error] 355-355: wrong indentation: expected 8 but found 6

(indentation)


[error] 363-363: wrong indentation: expected 8 but found 6

(indentation)


[error] 372-372: wrong indentation: expected 4 but found 2

(indentation)


[error] 374-374: wrong indentation: expected 6 but found 4

(indentation)


[error] 388-388: wrong indentation: expected 4 but found 2

(indentation)


[error] 390-390: wrong indentation: expected 6 but found 4

(indentation)


[error] 397-397: wrong indentation: expected 8 but found 6

(indentation)


[error] 410-410: wrong indentation: expected 6 but found 4

(indentation)


[error] 419-419: wrong indentation: expected 8 but found 6

(indentation)


[warning] 423-423: comment not indented like content

(comments-indentation)


[error] 431-431: wrong indentation: expected 4 but found 2

(indentation)


[error] 433-433: wrong indentation: expected 6 but found 4

(indentation)


[error] 446-446: wrong indentation: expected 4 but found 2

(indentation)


[error] 456-456: wrong indentation: expected 4 but found 2

(indentation)


[error] 466-466: wrong indentation: expected 4 but found 2

(indentation)


[error] 468-468: wrong indentation: expected 6 but found 4

(indentation)


[error] 474-474: wrong indentation: expected 8 but found 6

(indentation)


[error] 484-484: wrong indentation: expected 4 but found 2

(indentation)


[error] 486-486: wrong indentation: expected 6 but found 4

(indentation)


[error] 492-492: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/Head/softsuits-helmets.yml

[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 10-10: wrong indentation: expected at least 5

(indentation)


[error] 16-16: too many spaces inside brackets

(brackets)


[error] 16-16: too many spaces inside brackets

(brackets)


[warning] 38-38: too few spaces before comment

(comments)


[warning] 39-39: too few spaces before comment

(comments)


[warning] 39-39: missing starting space in comment

(comments)


[warning] 43-43: too few spaces before comment

(comments)


[warning] 43-43: missing starting space in comment

(comments)


[error] 49-49: wrong indentation: expected 8 but found 6

(indentation)


[error] 54-54: wrong indentation: expected 8 but found 6

(indentation)


[warning] 58-58: missing starting space in comment

(comments)


[error] 70-70: too many spaces inside brackets

(brackets)


[error] 70-70: too many spaces inside brackets

(brackets)


[error] 72-72: wrong indentation: expected 4 but found 2

(indentation)


[error] 75-75: wrong indentation: expected 6 but found 4

(indentation)


[error] 85-85: wrong indentation: expected 8 but found 6

(indentation)


[error] 96-96: too many spaces inside brackets

(brackets)


[error] 96-96: too many spaces inside brackets

(brackets)


[error] 98-98: wrong indentation: expected 4 but found 2

(indentation)


[error] 101-101: wrong indentation: expected 6 but found 4

(indentation)


[error] 111-111: wrong indentation: expected 8 but found 6

(indentation)


[error] 124-124: too many spaces inside brackets

(brackets)


[error] 124-124: too many spaces inside brackets

(brackets)


[error] 126-126: wrong indentation: expected 4 but found 2

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


[error] 139-139: wrong indentation: expected 8 but found 6

(indentation)


[error] 150-150: too many spaces inside brackets

(brackets)


[error] 150-150: too many spaces inside brackets

(brackets)


[error] 152-152: wrong indentation: expected 4 but found 2

(indentation)


[error] 155-155: wrong indentation: expected 6 but found 4

(indentation)


[error] 165-165: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_supply.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 17-17: wrong indentation: expected 6 but found 4

(indentation)


[error] 29-29: wrong indentation: expected 6 but found 4

(indentation)


[error] 40-40: wrong indentation: expected 4 but found 2

(indentation)


[error] 51-51: wrong indentation: expected 6 but found 4

(indentation)


[error] 67-67: wrong indentation: expected 6 but found 4

(indentation)


[error] 79-79: wrong indentation: expected 4 but found 2

(indentation)


[error] 90-90: wrong indentation: expected 6 but found 4

(indentation)


[error] 103-103: wrong indentation: expected 6 but found 4

(indentation)


[error] 112-112: wrong indentation: expected 4 but found 2

(indentation)


[error] 123-123: wrong indentation: expected 6 but found 4

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


[error] 139-139: wrong indentation: expected 4 but found 2

(indentation)


[error] 151-151: wrong indentation: expected 6 but found 4

(indentation)


[error] 160-160: wrong indentation: expected 6 but found 4

(indentation)


[error] 169-169: wrong indentation: expected 4 but found 2

(indentation)


[error] 181-181: wrong indentation: expected 6 but found 4

(indentation)


[error] 189-189: wrong indentation: expected 6 but found 4

(indentation)


[error] 201-201: wrong indentation: expected 4 but found 2

(indentation)


[error] 213-213: wrong indentation: expected 6 but found 4

(indentation)


[error] 221-221: wrong indentation: expected 6 but found 4

(indentation)


[error] 232-232: wrong indentation: expected 4 but found 2

(indentation)


[error] 244-244: wrong indentation: expected 6 but found 4

(indentation)


[error] 260-260: wrong indentation: expected 6 but found 4

(indentation)


[warning] 263-263: missing starting space in comment

(comments)


[error] 273-273: wrong indentation: expected 4 but found 2

(indentation)


[error] 283-283: wrong indentation: expected 6 but found 4

(indentation)


[error] 294-294: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_engineering.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 30-30: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 4 but found 2

(indentation)


[error] 56-56: wrong indentation: expected 6 but found 4

(indentation)


[error] 75-75: wrong indentation: expected 6 but found 4

(indentation)


[error] 86-86: wrong indentation: expected 4 but found 2

(indentation)


[error] 97-97: wrong indentation: expected 6 but found 4

(indentation)


[error] 105-105: wrong indentation: expected 6 but found 4

(indentation)


[error] 116-116: wrong indentation: expected 4 but found 2

(indentation)


[error] 127-127: wrong indentation: expected 6 but found 4

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 147-147: wrong indentation: expected 4 but found 2

(indentation)


[error] 158-158: wrong indentation: expected 6 but found 4

(indentation)


[error] 166-166: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 4 but found 2

(indentation)


[error] 189-189: wrong indentation: expected 6 but found 4

(indentation)


[error] 202-202: wrong indentation: expected 6 but found 4

(indentation)


[error] 215-215: wrong indentation: expected 4 but found 2

(indentation)


[error] 227-227: wrong indentation: expected 6 but found 4

(indentation)


[error] 237-237: wrong indentation: expected 6 but found 4

(indentation)


[error] 247-247: wrong indentation: expected 4 but found 2

(indentation)


[error] 258-258: wrong indentation: expected 6 but found 4

(indentation)


[error] 297-297: wrong indentation: expected 6 but found 4

(indentation)


[error] 308-308: wrong indentation: expected 4 but found 2

(indentation)


[error] 318-318: wrong indentation: expected 6 but found 4

(indentation)


[error] 333-333: wrong indentation: expected 4 but found 2

(indentation)


[error] 345-345: wrong indentation: expected 6 but found 4

(indentation)


[error] 355-355: wrong indentation: expected 6 but found 4

(indentation)


[error] 365-365: wrong indentation: expected 4 but found 2

(indentation)


[warning] 369-369: truthy value should be one of [false, true]

(truthy)


[error] 375-375: wrong indentation: expected 6 but found 4

(indentation)


[error] 383-383: wrong indentation: expected 6 but found 4

(indentation)


[error] 393-393: wrong indentation: expected 4 but found 2

(indentation)


[error] 405-405: wrong indentation: expected 6 but found 4

(indentation)


[warning] 428-428: missing starting space in comment

(comments)


[error] 430-430: wrong indentation: expected 6 but found 4

(indentation)


[error] 441-441: wrong indentation: expected 4 but found 2

(indentation)


[error] 452-452: wrong indentation: expected 6 but found 4

(indentation)


[error] 458-458: wrong indentation: expected 6 but found 4

(indentation)


[error] 468-468: wrong indentation: expected 4 but found 2

(indentation)


[error] 480-480: wrong indentation: expected 6 but found 4

(indentation)


[error] 510-510: wrong indentation: expected 6 but found 4

(indentation)


[error] 521-521: wrong indentation: expected 4 but found 2

(indentation)


[error] 531-531: wrong indentation: expected 6 but found 4

(indentation)


[error] 547-547: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_medical.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 45-45: wrong indentation: expected 6 but found 4

(indentation)


[error] 58-58: wrong indentation: expected 4 but found 2

(indentation)


[error] 69-69: wrong indentation: expected 6 but found 4

(indentation)


[error] 84-84: wrong indentation: expected 6 but found 4

(indentation)


[error] 96-96: wrong indentation: expected 4 but found 2

(indentation)


[error] 107-107: wrong indentation: expected 6 but found 4

(indentation)


[error] 113-113: wrong indentation: expected 6 but found 4

(indentation)


[error] 122-122: wrong indentation: expected 4 but found 2

(indentation)


[error] 133-133: wrong indentation: expected 6 but found 4

(indentation)


[error] 142-142: wrong indentation: expected 6 but found 4

(indentation)


[error] 151-151: wrong indentation: expected 4 but found 2

(indentation)


[error] 162-162: wrong indentation: expected 6 but found 4

(indentation)


[error] 172-172: wrong indentation: expected 6 but found 4

(indentation)


[error] 181-181: wrong indentation: expected 4 but found 2

(indentation)


[error] 192-192: wrong indentation: expected 6 but found 4

(indentation)


[error] 197-197: wrong indentation: expected 6 but found 4

(indentation)


[error] 207-207: wrong indentation: expected 4 but found 2

(indentation)


[error] 218-218: wrong indentation: expected 6 but found 4

(indentation)


[error] 228-228: wrong indentation: expected 6 but found 4

(indentation)


[error] 237-237: wrong indentation: expected 4 but found 2

(indentation)


[error] 248-248: wrong indentation: expected 6 but found 4

(indentation)


[error] 258-258: wrong indentation: expected 6 but found 4

(indentation)


[error] 271-271: wrong indentation: expected 4 but found 2

(indentation)


[error] 282-282: wrong indentation: expected 6 but found 4

(indentation)


[error] 289-289: wrong indentation: expected 6 but found 4

(indentation)


[error] 300-300: wrong indentation: expected 4 but found 2

(indentation)


[error] 311-311: wrong indentation: expected 6 but found 4

(indentation)


[error] 323-323: wrong indentation: expected 4 but found 2

(indentation)


[error] 334-334: wrong indentation: expected 6 but found 4

(indentation)


[error] 346-346: wrong indentation: expected 6 but found 4

(indentation)


[error] 359-359: wrong indentation: expected 4 but found 2

(indentation)


[error] 370-370: wrong indentation: expected 6 but found 4

(indentation)


[error] 390-390: wrong indentation: expected 6 but found 4

(indentation)


[error] 399-399: wrong indentation: expected 4 but found 2

(indentation)


[error] 410-410: wrong indentation: expected 6 but found 4

(indentation)


[warning] 415-415: comment not indented like content

(comments-indentation)


[error] 416-416: wrong indentation: expected 6 but found 5

(indentation)


[error] 426-426: wrong indentation: expected 4 but found 2

(indentation)


[error] 437-437: wrong indentation: expected 6 but found 4

(indentation)


[error] 459-459: wrong indentation: expected 6 but found 4

(indentation)


[error] 469-469: wrong indentation: expected 4 but found 2

(indentation)


[error] 481-481: wrong indentation: expected 6 but found 4

(indentation)


[error] 493-493: wrong indentation: expected 6 but found 4

(indentation)


[error] 503-503: wrong indentation: expected 4 but found 2

(indentation)


[error] 514-514: wrong indentation: expected 6 but found 4

(indentation)


[error] 546-546: wrong indentation: expected 6 but found 4

(indentation)


[error] 558-558: wrong indentation: expected 4 but found 2

(indentation)


[error] 568-568: wrong indentation: expected 6 but found 4

(indentation)


[error] 580-580: wrong indentation: expected 4 but found 2

(indentation)


[error] 590-590: wrong indentation: expected 6 but found 4

(indentation)


[error] 602-602: wrong indentation: expected 4 but found 2

(indentation)


[warning] 606-606: truthy value should be one of [false, true]

(truthy)


[error] 612-612: wrong indentation: expected 6 but found 4

(indentation)


[error] 621-621: wrong indentation: expected 6 but found 4

(indentation)


[error] 631-631: wrong indentation: expected 4 but found 2

(indentation)


[error] 642-642: wrong indentation: expected 6 but found 4

(indentation)


[error] 668-668: wrong indentation: expected 6 but found 4

(indentation)


[error] 682-682: wrong indentation: expected 4 but found 2

(indentation)


[error] 694-694: wrong indentation: expected 6 but found 4

(indentation)


[error] 714-714: wrong indentation: expected 6 but found 4

(indentation)


[error] 723-723: wrong indentation: expected 4 but found 2

(indentation)


[error] 733-733: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/suit_storage.yml

[warning] 1-1: missing starting space in comment

(comments)


[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 18-18: too many spaces inside brackets

(brackets)


[error] 18-18: too many spaces inside brackets

(brackets)


[error] 22-22: wrong indentation: expected 6 but found 2

(indentation)


[error] 25-25: too many spaces inside brackets

(brackets)


[error] 25-25: too many spaces inside brackets

(brackets)


[error] 29-29: wrong indentation: expected 6 but found 2

(indentation)


[error] 32-32: too many spaces inside brackets

(brackets)


[error] 32-32: too many spaces inside brackets

(brackets)


[error] 36-36: wrong indentation: expected 6 but found 2

(indentation)


[error] 39-39: too many spaces inside brackets

(brackets)


[error] 39-39: too many spaces inside brackets

(brackets)


[error] 43-43: wrong indentation: expected 6 but found 2

(indentation)


[error] 50-50: wrong indentation: expected 6 but found 2

(indentation)


[error] 64-64: wrong indentation: expected 6 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_hydroponics.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 21-21: wrong indentation: expected 6 but found 4

(indentation)


[error] 27-27: wrong indentation: expected 6 but found 4

(indentation)


[error] 38-38: wrong indentation: expected 4 but found 2

(indentation)


[error] 51-51: wrong indentation: expected 6 but found 4

(indentation)


[error] 68-68: wrong indentation: expected 4 but found 2

(indentation)


[error] 79-79: wrong indentation: expected 6 but found 4

(indentation)


[error] 100-100: wrong indentation: expected 6 but found 4

(indentation)


[error] 109-109: wrong indentation: expected 4 but found 2

(indentation)


[error] 119-119: wrong indentation: expected 6 but found 4

(indentation)


[error] 130-130: wrong indentation: expected 4 but found 2

(indentation)


[error] 140-140: wrong indentation: expected 6 but found 4

(indentation)


[error] 153-153: wrong indentation: expected 4 but found 2

(indentation)


[error] 164-164: wrong indentation: expected 6 but found 4

(indentation)


[error] 185-185: wrong indentation: expected 4 but found 2

(indentation)


[error] 196-196: wrong indentation: expected 6 but found 4

(indentation)


[error] 205-205: wrong indentation: expected 6 but found 4

(indentation)


[error] 216-216: wrong indentation: expected 4 but found 2

(indentation)


[error] 227-227: wrong indentation: expected 6 but found 8

(indentation)


[warning] 227-227: too few spaces before comment

(comments)


[warning] 285-285: missing starting space in comment

(comments)


[warning] 286-286: missing starting space in comment

(comments)


[warning] 286-286: comment not indented like content

(comments-indentation)


[warning] 287-287: missing starting space in comment

(comments)


[warning] 288-288: missing starting space in comment

(comments)


[warning] 289-289: missing starting space in comment

(comments)


[warning] 289-289: comment not indented like content

(comments-indentation)

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml

[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 9-9: wrong indentation: expected at least 5

(indentation)


[error] 26-26: wrong indentation: expected at least 3

(indentation)


[error] 28-28: wrong indentation: expected at least 5

(indentation)


[error] 40-40: wrong indentation: expected at least 3

(indentation)


[error] 42-42: wrong indentation: expected at least 5

(indentation)


[error] 59-59: wrong indentation: expected at least 3

(indentation)


[error] 61-61: wrong indentation: expected at least 5

(indentation)


[error] 75-75: wrong indentation: expected at least 3

(indentation)


[error] 77-77: wrong indentation: expected at least 5

(indentation)


[error] 89-89: wrong indentation: expected at least 3

(indentation)


[error] 91-91: wrong indentation: expected at least 5

(indentation)


[error] 103-103: wrong indentation: expected at least 3

(indentation)


[error] 105-105: wrong indentation: expected at least 5

(indentation)


[error] 120-120: wrong indentation: expected at least 3

(indentation)


[error] 122-122: wrong indentation: expected at least 5

(indentation)


[error] 137-137: wrong indentation: expected at least 3

(indentation)


[error] 139-139: wrong indentation: expected at least 5

(indentation)


[error] 151-151: wrong indentation: expected at least 3

(indentation)


[error] 153-153: wrong indentation: expected at least 5

(indentation)


[error] 165-165: wrong indentation: expected at least 3

(indentation)


[error] 167-167: wrong indentation: expected at least 5

(indentation)


[error] 180-180: wrong indentation: expected at least 3

(indentation)


[error] 182-182: wrong indentation: expected at least 5

(indentation)


[error] 195-195: wrong indentation: expected at least 3

(indentation)


[warning] 197-197: comment not indented like content

(comments-indentation)


[error] 198-198: wrong indentation: expected at least 5

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 33-33: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 4 but found 2

(indentation)


[error] 54-54: wrong indentation: expected 6 but found 4

(indentation)


[error] 77-77: wrong indentation: expected 6 but found 4

(indentation)


[error] 88-88: wrong indentation: expected 4 but found 2

(indentation)


[error] 99-99: wrong indentation: expected 6 but found 4

(indentation)


[error] 114-114: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 143-143: wrong indentation: expected 6 but found 4

(indentation)


[error] 154-154: wrong indentation: expected 4 but found 2

(indentation)


[error] 165-165: wrong indentation: expected 6 but found 4

(indentation)


[error] 170-170: wrong indentation: expected 6 but found 4

(indentation)


[error] 179-179: wrong indentation: expected 4 but found 2

(indentation)


[error] 190-190: wrong indentation: expected 6 but found 4

(indentation)


[error] 196-196: wrong indentation: expected 6 but found 4

(indentation)


[error] 207-207: wrong indentation: expected 4 but found 2

(indentation)


[error] 218-218: wrong indentation: expected 6 but found 4

(indentation)


[error] 223-223: wrong indentation: expected 6 but found 4

(indentation)


[error] 235-235: wrong indentation: expected 4 but found 2

(indentation)


[error] 246-246: wrong indentation: expected 6 but found 4

(indentation)


[error] 252-252: wrong indentation: expected 6 but found 4

(indentation)


[error] 262-262: wrong indentation: expected 4 but found 2

(indentation)


[error] 273-273: wrong indentation: expected 6 but found 4

(indentation)


[error] 289-289: wrong indentation: expected 6 but found 4

(indentation)


[error] 299-299: wrong indentation: expected 4 but found 2

(indentation)


[error] 310-310: wrong indentation: expected 6 but found 4

(indentation)


[error] 317-317: wrong indentation: expected 6 but found 4

(indentation)


[error] 328-328: wrong indentation: expected 4 but found 2

(indentation)


[error] 339-339: wrong indentation: expected 6 but found 4

(indentation)


[error] 344-344: wrong indentation: expected 6 but found 4

(indentation)


[error] 354-354: wrong indentation: expected 4 but found 2

(indentation)


[error] 366-366: wrong indentation: expected 6 but found 4

(indentation)


[error] 373-373: wrong indentation: expected 6 but found 4

(indentation)


[error] 384-384: wrong indentation: expected 4 but found 2

(indentation)


[error] 396-396: wrong indentation: expected 6 but found 4

(indentation)


[error] 403-403: wrong indentation: expected 6 but found 4

(indentation)


[error] 412-412: wrong indentation: expected 4 but found 2

(indentation)


[error] 423-423: wrong indentation: expected 6 but found 4

(indentation)


[error] 457-457: wrong indentation: expected 6 but found 4

(indentation)


[error] 496-496: wrong indentation: expected 4 but found 2

(indentation)


[error] 506-506: wrong indentation: expected 6 but found 4

(indentation)


[error] 511-511: wrong indentation: expected 6 but found 4

(indentation)


[error] 521-521: wrong indentation: expected 4 but found 2

(indentation)


[error] 531-531: wrong indentation: expected 6 but found 4

(indentation)


[error] 544-544: wrong indentation: expected 4 but found 2

(indentation)


[warning] 548-548: truthy value should be one of [false, true]

(truthy)


[error] 554-554: wrong indentation: expected 6 but found 4

(indentation)


[error] 560-560: wrong indentation: expected 6 but found 4

(indentation)


[error] 569-569: wrong indentation: expected 4 but found 2

(indentation)


[error] 581-581: wrong indentation: expected 6 but found 4

(indentation)


[error] 589-589: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml

[warning] 8-8: too few spaces before comment

(comments)


[error] 10-10: wrong indentation: expected 4 but found 2

(indentation)


[error] 20-20: wrong indentation: expected 4 but found 2

(indentation)


[error] 31-31: wrong indentation: expected 6 but found 4

(indentation)


[error] 49-49: wrong indentation: expected 6 but found 4

(indentation)


[error] 56-56: too many spaces inside brackets

(brackets)


[error] 56-56: too many spaces inside brackets

(brackets)


[error] 60-60: wrong indentation: expected 4 but found 2

(indentation)


[error] 71-71: wrong indentation: expected 6 but found 4

(indentation)


[error] 87-87: wrong indentation: expected 6 but found 4

(indentation)


[error] 100-100: wrong indentation: expected 4 but found 2

(indentation)


[error] 112-112: wrong indentation: expected 6 but found 4

(indentation)


[error] 133-133: wrong indentation: expected 6 but found 4

(indentation)


[error] 142-142: wrong indentation: expected 4 but found 2

(indentation)


[error] 154-154: wrong indentation: expected 6 but found 4

(indentation)


[error] 181-181: wrong indentation: expected 6 but found 4

(indentation)


[error] 194-194: wrong indentation: expected 4 but found 2

(indentation)


[error] 206-206: wrong indentation: expected 6 but found 4

(indentation)


[error] 213-213: wrong indentation: expected 6 but found 4

(indentation)


[error] 228-228: wrong indentation: expected 4 but found 2

(indentation)


[error] 240-240: wrong indentation: expected 6 but found 4

(indentation)


[error] 251-251: wrong indentation: expected 6 but found 4

(indentation)


[error] 260-260: wrong indentation: expected 4 but found 2

(indentation)


[error] 271-271: wrong indentation: expected 6 but found 4

(indentation)


[error] 291-291: wrong indentation: expected 6 but found 4

(indentation)


[error] 300-300: wrong indentation: expected 4 but found 2

(indentation)


[error] 311-311: wrong indentation: expected 6 but found 4

(indentation)


[error] 331-331: wrong indentation: expected 6 but found 4

(indentation)


[error] 342-342: wrong indentation: expected 4 but found 2

(indentation)


[error] 352-352: wrong indentation: expected 6 but found 4

(indentation)


[error] 370-370: wrong indentation: expected 6 but found 4

(indentation)


[warning] 376-376: too few spaces before comment

(comments)


[error] 381-381: wrong indentation: expected 4 but found 2

(indentation)


[warning] 385-385: truthy value should be one of [false, true]

(truthy)


[error] 391-391: wrong indentation: expected 6 but found 4

(indentation)


[warning] 414-414: missing starting space in comment

(comments)


[warning] 415-415: missing starting space in comment

(comments)


[warning] 416-416: missing starting space in comment

(comments)


[warning] 417-417: missing starting space in comment

(comments)


[warning] 418-418: missing starting space in comment

(comments)


[warning] 419-419: missing starting space in comment

(comments)


[warning] 420-420: missing starting space in comment

(comments)


[warning] 421-421: missing starting space in comment

(comments)


[warning] 422-422: missing starting space in comment

(comments)


[error] 432-432: wrong indentation: expected 4 but found 2

(indentation)


[warning] 436-436: truthy value should be one of [false, true]

(truthy)


[error] 442-442: wrong indentation: expected 6 but found 4

(indentation)


[error] 465-465: wrong indentation: expected 6 but found 4

(indentation)


[error] 476-476: wrong indentation: expected 4 but found 2

(indentation)


[warning] 480-480: truthy value should be one of [false, true]

(truthy)


[error] 486-486: wrong indentation: expected 6 but found 4

(indentation)


[error] 494-494: wrong indentation: expected 6 but found 4

(indentation)


[error] 507-507: too many spaces inside brackets

(brackets)


[error] 507-507: too many spaces inside brackets

(brackets)


[error] 509-509: wrong indentation: expected 4 but found 2

(indentation)


[warning] 513-513: truthy value should be one of [false, true]

(truthy)


[error] 519-519: wrong indentation: expected 6 but found 4

(indentation)


[error] 532-532: wrong indentation: expected 4 but found 2

(indentation)


[error] 544-544: wrong indentation: expected 6 but found 4

(indentation)


[error] 606-606: wrong indentation: expected 6 but found 4

(indentation)


[warning] 607-607: comment not indented like content

(comments-indentation)


[warning] 609-609: comment not indented like content

(comments-indentation)


[error] 620-620: wrong indentation: expected 4 but found 2

(indentation)


[error] 631-631: wrong indentation: expected 6 but found 4

(indentation)


[error] 640-640: wrong indentation: expected 6 but found 4

(indentation)


[error] 652-652: wrong indentation: expected 4 but found 2

(indentation)


[error] 662-662: wrong indentation: expected 6 but found 4

(indentation)


[error] 676-676: wrong indentation: expected 6 but found 4

(indentation)


[error] 691-691: wrong indentation: expected 4 but found 2

(indentation)


[error] 701-701: wrong indentation: expected 6 but found 4

(indentation)


[error] 710-710: wrong indentation: expected 6 but found 4

(indentation)


[error] 719-719: wrong indentation: expected 4 but found 2

(indentation)


[error] 729-729: wrong indentation: expected 6 but found 4

(indentation)


[error] 748-748: wrong indentation: expected 6 but found 4

(indentation)


[error] 758-758: wrong indentation: expected 4 but found 2

(indentation)


[error] 768-768: wrong indentation: expected 6 but found 4

(indentation)


[error] 778-778: wrong indentation: expected 6 but found 4

(indentation)


[error] 789-789: wrong indentation: expected 4 but found 2

(indentation)


[error] 800-800: wrong indentation: expected 6 but found 4

(indentation)


[error] 810-810: wrong indentation: expected 6 but found 4

(indentation)


[error] 819-819: wrong indentation: expected 4 but found 2

(indentation)


[error] 830-830: wrong indentation: expected 6 but found 4

(indentation)


[error] 840-840: wrong indentation: expected 6 but found 4

(indentation)


[error] 849-849: wrong indentation: expected 4 but found 2

(indentation)


[error] 859-859: wrong indentation: expected 6 but found 4

(indentation)


[error] 871-871: wrong indentation: expected 6 but found 4

(indentation)


[warning] 872-872: comment not indented like content

(comments-indentation)


[error] 884-884: wrong indentation: expected 4 but found 2

(indentation)


[error] 894-894: wrong indentation: expected 6 but found 4

(indentation)


[warning] 898-898: too few spaces before comment

(comments)


[error] 899-899: wrong indentation: expected 6 but found 4

(indentation)


[error] 911-911: wrong indentation: expected 4 but found 2

(indentation)


[error] 921-921: wrong indentation: expected 6 but found 4

(indentation)


[error] 941-941: wrong indentation: expected 6 but found 4

(indentation)


[error] 950-950: wrong indentation: expected 4 but found 2

(indentation)


[error] 965-965: wrong indentation: expected 6 but found 4

(indentation)

🔇 Additional comments (62)
Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/materials.yml (2)

12-24: Проверьте существование всех материалов

Структура прототипа корректна. Необходимо проверить наличие всех указанных материалов в системе.

✅ Verification successful

Все материалы существуют и корректно определены в прототипах

Проверка показала, что все указанные материалы (SheetGlass, SheetPlastic, SheetSteel, SheetPlasma, SheetPlasteel) присутствуют в системе и определены в нескольких прототипах, включая:

  • Базовые определения в Resources/Prototypes/Entities/Objects/Materials/Sheets/
  • Рецепты создания в Resources/Prototypes/Recipes/Lathes/sheet.yml
  • Использование в различных контейнерах и ящиках
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all sheet materials exist in prototypes
echo "Checking for sheet materials..."
for material in SheetGlass SheetPlastic SheetSteel SheetPlasma SheetPlasteel; do
    echo "Searching for $material:"
    rg -l "id: $material" "Resources/Prototypes"
done

Length of output: 3214

🧰 Tools
🪛 yamllint (1.35.1)

[error] 18-18: wrong indentation: expected at least 3

(indentation)


1-10: Проверьте существование MaterialBiomass

Логика и структура прототипа корректны. Необходимо убедиться, что MaterialBiomass существует в системе.

✅ Verification successful

Прототип проверен и подтверждён

MaterialBiomass корректно определён в системе и используется в соответствии со спецификацией. Материал имеет правильную структуру с необходимыми компонентами Material и PhysicalComposition.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that MaterialBiomass exists in prototypes
rg -l "id: MaterialBiomass" "Resources/Prototypes"

Length of output: 182


Script:

#!/bin/bash
# Check the definition of MaterialBiomass to ensure it's properly defined
rg -A 5 "id: MaterialBiomass" "Resources/Prototypes/Entities/Objects/Materials/materials.yml"

Length of output: 296

🧰 Tools
🪛 yamllint (1.35.1)

[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 9-9: wrong indentation: expected at least 5

(indentation)

Resources/Prototypes/SoundCollections/NukeMusic.yml (1)

Line range hint 1-9: Изменения корректны

Структура прототипа соответствует требованиям:

  • Правильное расположение файла в директории Prototypes
  • Отсутствуют русские переводы
  • Формат YAML соблюден
Resources/Prototypes/_LostParadise/Catalog/Fills/Backpacks/duffelbags.yml (2)

121-136: Конфигурация корректна!

Набор хирургических инструментов логически согласован и соответствует описанию продвинутой хирургической сумки.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 127-127: wrong indentation: expected 4 but found 2

(indentation)


137-156: ⚠️ Potential issue

Требуется пересмотр конфигурации импровизированной хирургической сумки

Обнаружены следующие проблемы:

  1. Родительский элемент ClothingBackpackDuffelMime кажется неподходящим для хирургической сумки
  2. Наличие PillSpaceDrugs в хирургическом наборе может быть проблематичным с точки зрения баланса
  3. Некоторые предметы (например, FoodCondimentPacketKetchup) кажутся неуместными в хирургическом наборе

Предлагаемые изменения:

- parent: ClothingBackpackDuffelMime
+ parent: ClothingBackpackDuffelMedical
    contents:
      - id: ScalpelShiv
      - id: WelderMini
      - id: SawImprov
      - id: ClothingHandsGlovesFingerless
-     - id: PillSpaceDrugs
-       amount: 3
      - id: Plunger
      - id: Spoon
-     - id: FoodCondimentPacketKetchup
      - id: PowerCellMedium
      - id: CableApcStack1
        amount: 2

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 143-143: wrong indentation: expected 4 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/Head/softsuits-helmets.yml (5)

38-43: Хорошо документированная конфигурация батареи

Подробные комментарии объясняют логику работы батареи и системы подзарядки. Расчёты энергопотребления и времени работы чётко описаны.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 38-38: too few spaces before comment

(comments)


[warning] 39-39: too few spaces before comment

(comments)


[warning] 39-39: missing starting space in comment

(comments)


[warning] 43-43: too few spaces before comment

(comments)


[warning] 43-43: missing starting space in comment

(comments)


120-145: Конфигурация корректна

Настройки шлема корректны и соответствуют общей структуре.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 124-124: too many spaces inside brackets

(brackets)


[error] 124-124: too many spaces inside brackets

(brackets)


[error] 126-126: wrong indentation: expected 4 but found 2

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


[error] 139-139: wrong indentation: expected 8 but found 6

(indentation)


62-62: Проверьте путь к текстуре маски

Необходимо убедиться, что файл маски света существует по указанному пути: /Textures/Effects/LightMasks/cone.png

✅ Verification successful

Путь к текстуре маски света корректен

Файл cone.png существует в директории /Textures/Effects/LightMasks/, что подтверждает правильность указанного пути в конфигурации.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the light mask texture exists
fd -t f "cone.png" | grep -i "LightMasks"

Length of output: 140


117-119: 🛠️ Refactor suggestion

Неполная конфигурация PointLight

Компонент PointLight переопределяет только цвет, но не указывает radius и energy. Это может привести к неожиданному поведению, если базовые значения изменятся.

  - type: PointLight
    color: "#adffe6"
+   radius: 3
+   energy: 2

Likely invalid or redundant comment.


3-3: Проверьте существование родительской сущности

Необходимо убедиться, что сущность ClothingHeadEVAHelmetBase существует в системе.

✅ Verification successful

Родительская сущность подтверждена

Сущность ClothingHeadEVAHelmetBase существует в файле Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml и корректно определена как базовый космический шлем со всеми необходимыми компонентами для функционирования (защита от давления, температуры и т.д.).

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the parent entity exists
rg -l "id:\s*ClothingHeadEVAHelmetBase" "Resources/Prototypes"

Length of output: 128


Script:

#!/bin/bash
# Let's verify the actual implementation of the parent entity
rg -A 10 "id:\s*ClothingHeadEVAHelmetBase" "Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml"

Length of output: 387

Resources/Prototypes/_LostParadise/Entities/Clothing/Shoes/magboots.yml (3)

155-171: 🛠️ Refactor suggestion

Исправьте форматирование в определениях действий

Необходимо исправить форматирование в компонентах InstantAction:

  - type: InstantAction
-   icon: { sprite: _LostParadise/Clothing/Shoes/Boots/magboots-mercenary.rsi, state: icon }
-   iconOn: { sprite : _LostParadise/Clothing/Shoes/Boots/magboots-mercenary.rsi, state: icon-on }
+   icon: {sprite: _LostParadise/Clothing/Shoes/Boots/magboots-mercenary.rsi, state: icon}
+   iconOn: {sprite: _LostParadise/Clothing/Shoes/Boots/magboots-mercenary.rsi, state: icon-on}

То же самое исправление требуется для ActionToggleMagbootsCombat.

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 160-160: wrong indentation: expected at least 3

(indentation)


[error] 161-161: too many spaces inside braces

(braces)


[error] 161-161: too many spaces inside braces

(braces)


[error] 162-162: too many spaces inside braces

(braces)


[error] 162-162: too many spaces before colon

(colons)


[error] 162-162: too many spaces inside braces

(braces)


[error] 169-169: wrong indentation: expected at least 3

(indentation)


[error] 170-170: too many spaces inside braces

(braces)


[error] 170-170: too many spaces inside braces

(braces)


[error] 171-171: too many spaces inside braces

(braces)


[error] 171-171: too many spaces before colon

(colons)


[error] 171-171: too many spaces inside braces

(braces)


124-137: ⚠️ Potential issue

Обнаружены проблемы с зависимостями и отсутствующими компонентами

Выявлены следующие критические проблемы:

  1. Циклическая зависимость: сущность наследуется от ClothingShoesBootsMagCombat, который определен позже в файле
  2. Отсутствует компонент ClothingSpeedModifier, который присутствует во всех других магнитных ботинках

Предлагаемые исправления:

- parent: ClothingShoesBootsMagCombat
+ parent: ClothingShoesBootsMag
  id: ClothingShoesBootsMagMercenary
  ...
  components:
    ...
+   - type: ClothingSpeedModifier
+     walkModifier: 0.95
+     sprintModifier: 0.9
+     enabled: false

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 130-130: wrong indentation: expected at least 3

(indentation)


138-154: Проверьте баланс модификаторов скорости

Модификатор спринта (0.9) более агрессивный по сравнению с другими магнитными ботинками в игре (обычно 0.94-0.95). Это может повлиять на игровой баланс, особенно в боевых ситуациях.

Запустим проверку модификаторов скорости в других прототипах:

🧰 Tools
🪛 yamllint (1.35.1)

[error] 144-144: wrong indentation: expected at least 3

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/softsuits.yml (4)

1-38: Хорошая базовая реализация костюма EVA!

Отличные решения по дизайну:

  • Добавление хранилища делает костюм более практичным
  • Обоснованный штраф к скорости в 5%
  • Правильная композиция материалов для EVA костюма
🧰 Tools
🪛 yamllint (1.35.1)

[error] 4-4: wrong indentation: expected at least 3

(indentation)


[warning] 4-4: too few spaces before comment

(comments)


[error] 9-9: wrong indentation: expected at least 3

(indentation)


[error] 11-11: wrong indentation: expected at least 5

(indentation)


[warning] 12-12: too few spaces before comment

(comments)


[error] 24-24: wrong indentation: expected at least 5

(indentation)


95-150: Корректная реализация костюма атмосферного техника

Реализация соответствует общей структуре и имеет правильную цветовую схему для атмосферного отдела.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 101-101: wrong indentation: expected 4 but found 2

(indentation)


[error] 104-104: wrong indentation: expected 6 but found 4

(indentation)


[error] 116-116: wrong indentation: expected 8 but found 6

(indentation)


[error] 126-126: wrong indentation: expected 8 but found 6

(indentation)


[error] 139-139: wrong indentation: expected 8 but found 6

(indentation)


39-94: Проверить существование прототипа шлема

Необходимо убедиться, что прототип ClothingHeadEVAHelmetEngineer существует в системе.

✅ Verification successful

Прототип шлема существует и цветовая схема соответствует

Прототип ClothingHeadEVAHelmetEngineer корректно определен в файле и использует согласованную цветовую схему с костюмом:

  • Основной цвет (#ffee00) идентичен
  • Цвет усиленных точек (#ff7f00) совпадает
  • Дополнительно имеет визор (#adcfd5)
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск прототипа шлема инженера
rg "ClothingHeadEVAHelmetEngineer" --type yaml

Length of output: 296


Script:

#!/bin/bash
# Проверим содержимое файла с шлемом, чтобы убедиться в соответствии цветовой схемы
cat Resources/Prototypes/_LostParadise/Entities/Clothing/Head/softsuits-helmets.yml

Length of output: 5049

🧰 Tools
🪛 yamllint (1.35.1)

[error] 45-45: wrong indentation: expected 4 but found 2

(indentation)


[error] 48-48: wrong indentation: expected 6 but found 4

(indentation)


[error] 60-60: wrong indentation: expected 8 but found 6

(indentation)


[error] 70-70: wrong indentation: expected 8 but found 6

(indentation)


[error] 83-83: wrong indentation: expected 8 but found 6

(indentation)


151-206: 🧹 Nitpick (assertive)

Добавить документацию о цветовой схеме

Предлагаю добавить комментарий, объясняющий выбор цветов для карго отдела. Это упростит поддержку и обновление в будущем.

  - type: Sprite
    sprite: _LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi
    layers:
+   # Cargo department colors:
+   # - Base: Cargo brown (#deb733)
+   # - Decals: Silver (#c0c0c0)
+   # - Reinforcement: Dark gray (#3e3e48)
    - state: icon-base
      color: "#deb733"

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 157-157: wrong indentation: expected 4 but found 2

(indentation)


[error] 160-160: wrong indentation: expected 6 but found 4

(indentation)


[error] 172-172: wrong indentation: expected 8 but found 6

(indentation)


[error] 182-182: wrong indentation: expected 8 but found 6

(indentation)


[error] 195-195: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (2)

1-34: 🧹 Nitpick (assertive)

Рекомендуется добавить документацию для улучшения поддерживаемости

Предлагаю добавить комментарии с описанием:

  • Общего назначения таблицы
  • Почему выбраны именно такие весовые коэффициенты
  • Какие предметы могут появиться из каждой подтаблицы
 - type: LPentityTable
   id: SalvageScrapSpawnerCommon
+  # Common salvage loot table
+  # Designed to provide basic resources with occasional valuable items
   table: !type:GroupSelector
     children:
     # 70% chance of scrap of some kind

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: wrong indentation: expected 6 but found 4

(indentation)


[error] 9-9: wrong indentation: expected 8 but found 6

(indentation)


[error] 30-30: wrong indentation: expected 8 but found 6

(indentation)


437-440: Требуется верификация вероятностей спавна

Различные спавнеры используют разные вероятности (0.5, 0.75, 1.0). Рекомендуется проверить:

  • Баланс частоты появления мобов
  • Влияние на игровой процесс
  • Соответствие ожидаемому уровню сложности

Also applies to: 446-450, 456-460

✅ Verification successful

Вероятности спавна сбалансированы и логически обоснованы

Анализ показывает хорошо продуманную систему вероятностей:

  • Базовые спавнеры используют 0.5 для обычного и 0.75 для ценного лута
  • Магнитные мобы имеют градацию 0.5/0.75/1.0, что создает прогрессию сложности
  • Распределение редкости предметов в таблицах (common/uncommon/rare/legendary) имеет правильные весовые коэффициенты:
    • Обычные предметы: 50-60%
    • Необычные: 30-40%
    • Редкие: 5-15%
    • Легендарные: 1-10%
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск всех использований спавнеров для анализа их распределения
rg -l "SalvageSpawnerMob" | while read -r file; do
  echo "=== $file ==="
  rg "SalvageSpawnerMob.*prob: " "$file"
done

Length of output: 380


Script:

#!/bin/bash
# Поиск всех вероятностей в файле спавнеров
echo "=== Анализ вероятностей спавна ==="
rg "prob: " Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml -B2 -A1

# Поиск всех таблиц спавна
echo -e "\n=== Анализ таблиц спавна ==="
rg "tableId: " Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml -B2 -A1

Length of output: 7760

Resources/Prototypes/_LostParadise/Catalog/Fills/Lockers/suit_storage.yml (3)

1-71: Проверка существования родительских типов

Необходимо убедиться, что все родительские типы существуют в системе:

  • SuitStorageBase
  • StorageFillEVASuitEngineer
  • StorageFillEVASuitAtmosTech
  • StorageFillEVASuitCargo
  • StorageFillEVASuitSalvage
✅ Verification successful

Все родительские типы существуют в системе

Проверка показала, что все родительские типы корректно определены в прототипах:

  • SuitStorageBase в Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
  • Все шаблоны заполнения EVA-костюмов (StorageFillEVASuitEngineer, StorageFillEVASuitAtmosTech, StorageFillEVASuitCargo, StorageFillEVASuitSalvage) в Resources/Prototypes/_LostParadise/Catalog/Fills/StorageFillTemplates/departmental_eva.yml
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all parent types exist
for parent in SuitStorageBase StorageFillEVASuitEngineer StorageFillEVASuitAtmosTech StorageFillEVASuitCargo StorageFillEVASuitSalvage; do
  rg "id: $parent" Resources/Prototypes/
done

Length of output: 1568

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 1-1: missing starting space in comment

(comments)


[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 18-18: too many spaces inside brackets

(brackets)


[error] 18-18: too many spaces inside brackets

(brackets)


[error] 22-22: wrong indentation: expected 6 but found 2

(indentation)


[error] 25-25: too many spaces inside brackets

(brackets)


[error] 25-25: too many spaces inside brackets

(brackets)


[error] 29-29: wrong indentation: expected 6 but found 2

(indentation)


[error] 32-32: too many spaces inside brackets

(brackets)


[error] 32-32: too many spaces inside brackets

(brackets)


[error] 36-36: wrong indentation: expected 6 but found 2

(indentation)


[error] 39-39: too many spaces inside brackets

(brackets)


[error] 39-39: too many spaces inside brackets

(brackets)


[error] 43-43: wrong indentation: expected 6 but found 2

(indentation)


[error] 50-50: wrong indentation: expected 6 but found 2

(indentation)


[error] 64-64: wrong indentation: expected 6 but found 2

(indentation)


45-58: 🛠️ Refactor suggestion

Несоответствие экипировки в хранилище шахтёрского костюма

В хранилище шахтёрского костюма используется ClothingOuterHardsuitSalvage вместо специализированного шахтёрского костюма.

Рекомендуется заменить на соответствующий шахтёрский костюм, если он существует в системе.

✅ Verification successful

Использование костюма утилизатора в шахтёрском хранилище корректно

Согласно найденному определению, ClothingOuterHardsuitSalvage фактически является шахтёрским костюмом ("mining hardsuit") с описанием, указывающим на его предназначение для защиты от опасных условий и встреч с дикой фауной, что полностью соответствует потребностям шахтёров.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if mining hardsuit exists
rg "ClothingOuterHardsuitMining" Resources/Prototypes/

Length of output: 419


Script:

#!/bin/bash
# Check salvage hardsuit definition and its purpose
rg "ClothingOuterHardsuitSalvage" Resources/Prototypes/ -B 2 -A 2

# Check mining-specific gas masks
rg "ClothingMaskGasMining" Resources/Prototypes/

Length of output: 4067

🧰 Tools
🪛 yamllint (1.35.1)

[error] 50-50: wrong indentation: expected 6 but found 2

(indentation)


1-15: Проверка существования прототипов экипировки наемника

Необходимо убедиться, что все указанные ID экипировки существуют в системе.

✅ Verification successful

Let me verify the remaining equipment IDs that weren't checked in the first run.


Проверка прототипов экипировки наемника завершена успешно

Все ID экипировки существуют в системе:

  • ClothingOuterHardsuitMercenary определен в Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/hardsuits.yml
  • ClothingMaskGasMercenary определен в Resources/Prototypes/_LostParadise/Entities/Clothing/Mask/mask.yml
  • ClothingShoesBootsMagMercenaryFilled определен в Resources/Prototypes/_LostParadise/Catalog/Fills/Items/misc.yml
  • AirTankFilled определен в Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml
  • JetpackMiniFilled определен в Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all equipment prototypes exist
for id in ClothingOuterHardsuitMercenary ClothingMaskGasMercenary ClothingShoesBootsMagMercenaryFilled; do
  rg "id: $id" Resources/Prototypes/
done

Length of output: 1254


Script:

#!/bin/bash
# Check for AirTankFilled and JetpackMiniFilled prototypes
for id in AirTankFilled JetpackMiniFilled; do
  rg "id: $id" Resources/Prototypes/
done

Length of output: 3052

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 1-1: missing starting space in comment

(comments)


[error] 7-7: wrong indentation: expected at least 3

(indentation)

Resources/Prototypes/_LostParadise/Catalog/Fills/StorageFillTemplates/departmental_eva.yml (4)

1-12: Комплект инженера выглядит корректным!

Набор содержит все необходимое оборудование для ВКД (внекорабельной деятельности) инженера, включая специализированный скафандр.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: wrong indentation: expected at least 3

(indentation)


[error] 8-8: wrong indentation: expected at least 5

(indentation)


13-24: Комплект атмос-техника выглядит корректным!

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

🧰 Tools
🪛 yamllint (1.35.1)

[error] 18-18: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected at least 5

(indentation)


37-48: Отличный комплект для специалиста по утилизации!

Набор включает все стандартное оборудование для ВКД, плюс магнитные ботинки для работы на обломках. Использование маски исследователя обеспечивает дополнительную защиту.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 42-42: wrong indentation: expected at least 3

(indentation)


[error] 44-44: wrong indentation: expected at least 5

(indentation)


34-34: Проверить использование простой дыхательной маски

Для грузчика используется ClothingMaskBreath вместо ClothingMaskGas. Это может ограничить защиту в опасных атмосферах.

Resources/Prototypes/_LostParadise/Entities/Clothing/Head/hardsuit-helmet.yml (2)

565-579: ⚠️ Potential issue

Отсутствует компонент Armor для экспериментального шлема

Экспериментальный шлем спасателя не имеет компонента Armor, что может привести к несбалансированной защите.

Добавьте компонент Armor:

  - type: PointLight
    radius: 7
    energy: 3
+ - type: Armor
+   modifiers:
+     coefficients:
+       Blunt: 0.7
+       Slash: 0.7
+       Piercing: 0.5
+       Heat: 0.8
+       Radiation: 0.3

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 566-566: too many spaces inside brackets

(brackets)


[error] 566-566: too many spaces inside brackets

(brackets)


[error] 568-568: too many spaces inside brackets

(brackets)


[error] 568-568: too many spaces inside brackets

(brackets)


[error] 572-572: wrong indentation: expected 4 but found 2

(indentation)


[warning] 577-577: too few spaces before comment

(comments)


539-564: 🛠️ Refactor suggestion

Проверьте баланс защиты для шлема наёмника

Коэффициенты защиты для шлема наёмника (0.9) кажутся слишком высокими по сравнению с другими шлемами аналогичного типа. Рекомендуется снизить значения для лучшего баланса.

Предлагаемые изменения:

  coefficients:
-       Blunt: 0.9
-       Slash: 0.9
-       Piercing: 0.9
-       Heat: 0.9
+       Blunt: 0.8
+       Slash: 0.8
+       Piercing: 0.8
+       Heat: 0.8

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 539-539: missing starting space in comment

(comments)


[error] 543-543: too many spaces inside brackets

(brackets)


[error] 543-543: too many spaces inside brackets

(brackets)


[error] 547-547: wrong indentation: expected 4 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Entities/Clothing/OuterClothing/hardsuits.yml (2)

709-740: 🛠️ Refactor suggestion

Проверьте описание и баланс защиты костюма наёмника

  1. В описании упоминается "blunderbuss proof", что может быть неуместно для научно-фантастического сеттинга.
  2. Коэффициенты защиты требуют корректировки для баланса.

Предлагаемые изменения:

- description: A special suit that protects from the danger of space, employed by mercenary forces. Not certified to be blunderbuss proof.
+ description: A special suit that protects from the danger of space, employed by mercenary forces. Not certified for heavy combat.
  components:
  - type: Armor
    modifiers:
      coefficients:
-       Blunt: 0.75
-       Slash: 0.75
-       Piercing: 0.75
+       Blunt: 0.65
+       Slash: 0.65
+       Piercing: 0.65

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 709-709: missing starting space in comment

(comments)


[warning] 712-712: too few spaces before comment

(comments)


[error] 716-716: wrong indentation: expected 4 but found 2

(indentation)


[warning] 724-724: too few spaces before comment

(comments)


741-767: Проверьте интеграцию экспериментального костюма

Убедитесь, что родительский класс ClothingOuterHardsuitMaxim существует и содержит все необходимые базовые компоненты.

✅ Verification successful

Родительский класс найден, но требуются дополнительные проверки

Давайте проверим наличие связанного шлема, указанного в ToggleableClothing:


Интеграция экспериментального костюма корректна

Проверка показала, что:

  • Родительский класс ClothingOuterHardsuitMaxim существует и содержит все базовые компоненты
  • Связанный шлем ClothingHeadHelmetHardsuitMaximPrototype также присутствует в системе
  • Все необходимые компоненты и модификаторы определены корректно
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверка существования родительского класса
rg -l "parent: ClothingOuterHardsuitMaxim" Resources/Prototypes/

Length of output: 147


Script:

#!/bin/bash
# Поиск определения базового класса ClothingOuterHardsuitMaxim
rg "ClothingOuterHardsuitMaxim" Resources/Prototypes/ -A 20

Length of output: 7057


Script:

#!/bin/bash
# Поиск прототипа шлема ClothingHeadHelmetHardsuitMaximPrototype
rg "ClothingHeadHelmetHardsuitMaximPrototype" Resources/Prototypes/ -A 10

Length of output: 1512

🧰 Tools
🪛 yamllint (1.35.1)

[error] 747-747: wrong indentation: expected 4 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/generator.yml (3)

1-5: Структура и именование сущности корректны

Базовая конфигурация сущности соответствует стандартам. Наследование от MarkerBase и использование суффикса "Dungeon" логично для данного контекста.


12-18: 🧹 Nitpick (assertive)

Рассмотрите балансировку шансов появления

Текущие значения:

  • Обычный генератор (PortableGeneratorPacman): 100%
  • Редкий генератор (PortableGeneratorSuperPacman): 30%

Это означает, что при каждом спавне будет появляться обычный генератор, а супер-генератор имеет дополнительный шанс 30%. Возможно, стоит пересмотреть эти значения для лучшего баланса.

Предлагаемые изменения:

      prototypes:
        - PortableGeneratorPacman
-     chance: 1
+     chance: 0.7
      rarePrototypes:
        - PortableGeneratorSuperPacman
-     rareChance: 0.3
+     rareChance: 0.3

Это сделает появление обычного генератора менее гарантированным, что лучше подходит для случайного спавнера.

Likely invalid or redundant comment.


7-11: Проверьте корректность состояний спрайта

Убедитесь, что:

  1. Состояние "red" существует в базовом спрайте маркера
  2. Файл portable_generator.rsi содержит состояние "portgen0"
✅ Verification successful

Состояния спрайтов проверены и подтверждены

Проверка показала, что:

  • Состояние "red" существует в спрайте маркера (./Resources/Textures/_LostParadise/Markers/cross.rsi/meta.json)
  • Состояние "portgen0" существует в спрайте генератора (./Resources/Textures/Structures/Power/Generation/portable_generator.rsi/meta.json)
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify sprite states exist
rg -g "*.rsi/meta.json" -l "portgen0"

Length of output: 186


Script:

#!/bin/bash
# Let's first find all .rsi directories in the repository
fd -t d "\.rsi$"

# Then let's check the content of meta.json files in these directories
fd -t f "meta\.json$" -x cat {}

Length of output: 73518


Script:

#!/bin/bash
# Let's check for marker sprites and portable generator sprites specifically
fd -t f "meta\.json$" -x grep -l "red\|portgen0" {}

# Also let's check the specific paths that might contain these sprites
fd -t f "meta\.json$" "Structures/Power/Generation" -x cat {}
fd -t f "meta\.json$" "Markers" -x cat {}

Length of output: 11640


Script:

#!/bin/bash
# Let's check the specific files content
cat "./Resources/Textures/Structures/Power/Generation/portable_generator.rsi/meta.json"
cat "./Resources/Textures/_LostParadise/Markers/cross.rsi/meta.json"

Length of output: 2747

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_supply.yml (9)

72-105: Подтверждаю корректность настроек спавна одежды

Гарантированный шанс появления (100%) оправдан для базового снаряжения. Редкие предметы (hardsuits) имеют адекватный шанс появления (1%).

🧰 Tools
🪛 yamllint (1.35.1)

[error] 79-79: wrong indentation: expected 4 but found 2

(indentation)


[error] 90-90: wrong indentation: expected 6 but found 4

(indentation)


[error] 103-103: wrong indentation: expected 6 but found 4

(indentation)


163-193: Конфигурация хранилищ костюмов выглядит сбалансированной

Распределение шансов и типов хранилищ костюмов реализовано корректно. Редкие варианты (NTSRA, Mining, Quartermaster) имеют адекватный шанс появления (5%).

🧰 Tools
🪛 yamllint (1.35.1)

[error] 169-169: wrong indentation: expected 4 but found 2

(indentation)


[error] 181-181: wrong indentation: expected 6 but found 4

(indentation)


[error] 189-189: wrong indentation: expected 6 but found 4

(indentation)


194-224: Конфигурация фабрикаторов реализована корректно

Распределение типов фабрикаторов и процессоров способствует правильной игровой прогрессии. Промышленные варианты корректно помещены в пул редких предметов.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 201-201: wrong indentation: expected 4 but found 2

(indentation)


[error] 213-213: wrong indentation: expected 6 but found 4

(indentation)


[error] 221-221: wrong indentation: expected 6 but found 4

(indentation)


1-32: 🧹 Nitpick (assertive)

Рекомендуется пересмотреть шанс появления и баланс предметов

Шанс появления 90% кажется слишком высоким для смешанной таблицы лута, которая включает ценные предметы. Рекомендуется:

  • Уменьшить общий шанс появления до 70-80%
  • Разделить предметы на категории по ценности
  • Настроить отдельные шансы для каждой категории
  chance: 0.9
+ # TODO: Implement weighted categories
+ # toolsChance: 0.8
+ # materialsChance: 0.6
+ # valuablesChance: 0.4

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 17-17: wrong indentation: expected 6 but found 4

(indentation)


[error] 29-29: wrong indentation: expected 6 but found 4

(indentation)


225-266: Требуется проверка закомментированных элементов и элементов безопасности

Обнаружены следующие моменты:

  • Закомментированные прототипы (SalvageTechFabCircuitboardNF, SecurityTechFabCircuitboard)
  • Потенциально опасные элементы в редком пуле (IFF системы, оружейные системы)
✅ Verification successful

Закомментированные и безопасные элементы проверены

По результатам проверки:

  • SalvageTechFabCircuitboardNF закомментирован во всех местах использования, что указывает на его намеренное отключение
  • SecurityTechFabCircuitboard активно используется в базовых картах и шкафчиках начальников, поэтому его исключение из редких предметов подземелья оправдано
  • ComputerIFFCircuitboard и ShuttleGunSvalinnMachineGunCircuitboard являются легитимными прототипами, которые используются в различных местах игры, включая исследования и производство

Текущая конфигурация спавнера сбалансирована и соответствует общей структуре игры.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем статус закомментированных прототипов
rg "SalvageTechFabCircuitboardNF|SecurityTechFabCircuitboard" --type yaml

# Проверяем использование систем безопасности
rg "ComputerIFFCircuitboard|ShuttleGunSvalinnMachineGunCircuitboard" --type yaml

Length of output: 3970

🧰 Tools
🪛 yamllint (1.35.1)

[error] 232-232: wrong indentation: expected 4 but found 2

(indentation)


[error] 244-244: wrong indentation: expected 6 but found 4

(indentation)


[error] 260-260: wrong indentation: expected 6 but found 4

(indentation)


[warning] 263-263: missing starting space in comment

(comments)


132-162: 🛠️ Refactor suggestion

Рекомендуется сбалансировать заполненные шкафчики

Наличие полностью заполненных шкафчиков (LockerSalvageSpecialistFilled, WardrobeCargoFilled) может привести к избытку ресурсов. Предлагается:

  • Добавить частично заполненные варианты
  • Уменьшить шанс появления полных шкафчиков
    prototypes:
    - LockerSalvageSpecialist
    - WardrobeCargo
    - LockerQuarterMaster
+    # Add partially filled variants
+    - LockerSalvageSpecialistPartiallyFilled
+    - WardrobeCargoPartiallyFilled
    - LockerSalvageSpecialistFilled
    - WardrobeCargoFilled

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 139-139: wrong indentation: expected 4 but found 2

(indentation)


[error] 151-151: wrong indentation: expected 6 but found 4

(indentation)


[error] 160-160: wrong indentation: expected 6 but found 4

(indentation)


106-131: ⚠️ Potential issue

Требуется корректировка шансов появления высокоуровневого снаряжения

Текущие настройки (100% базовый шанс, 5% для прототипов) кажутся слишком щедрыми для высокоуровневого снаряжения. Рекомендуется:

  • Уменьшить базовый шанс до 75-80%
  • Снизить шанс появления прототипов до 1-2%
-    chance: 1
+    chance: 0.8
-    rareChance: 0.05
+    rareChance: 0.02

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 112-112: wrong indentation: expected 4 but found 2

(indentation)


[error] 123-123: wrong indentation: expected 6 but found 4

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


267-296: Необходимо прояснить статус закомментированных элементов

В конфигурации обнаружены:

  • Закомментированный прототип SalvageTechfabNFFlatpack
  • Оружейные системы в редком пуле

Требуется:

  • Уточнить статус закомментированного прототипа
  • Проверить баланс оружейных систем
✅ Verification successful

Баланс спавнера проверен, требуется корректировка

Анализ показал:

  • Прототип SalvageTechfabNFFlatpack существует в файле flatpacks.yml, но закомментирован в спавнере - это намеренное решение для баланса
  • Оружейные системы (ShuttleGunKineticFlatpack, AmmoTechFabFlatpack) имеют очень низкий шанс появления (1%), что соответствует балансу других спавнеров наемников (0.5-1%)

Рекомендации:

  • Удалить закомментированную строку с SalvageTechfabNFFlatpack, так как она больше не используется
  • Оставить текущие шансы появления оружейных систем, так как они сбалансированы с остальным контентом
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем статус закомментированного прототипа
rg "SalvageTechfabNFFlatpack" --type yaml

# Проверяем использование оружейных систем
rg "ShuttleGunKineticFlatpack|AmmoTechFabFlatpack" --type yaml

Length of output: 1257


Script:

#!/bin/bash
# Проверяем определение прототипа SalvageTechfabNFFlatpack
rg "SalvageTechfabNFFlatpack" -A 10 --type yaml Resources/Prototypes/_LostParadise/Entities/Objects/Devices/flatpacks.yml

# Проверяем баланс спавнеров с оружейными системами
rg "chance:|rareChance:" -B 5 Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml

Length of output: 56091

🧰 Tools
🪛 yamllint (1.35.1)

[error] 273-273: wrong indentation: expected 4 but found 2

(indentation)


[error] 283-283: wrong indentation: expected 6 but found 4

(indentation)


[error] 294-294: wrong indentation: expected 6 but found 4

(indentation)


33-71: 🧹 Nitpick (assertive)

Рекомендуется разделить оружие и инструменты

Текущая реализация смешивает боевое оружие (crushers) с утилитарными инструментами. Это может создать проблемы с балансом в PvP. Предлагается:

  • Создать отдельный спавнер для оружия
  • Оставить только утилитарные инструменты в текущем спавнере
🧰 Tools
🪛 yamllint (1.35.1)

[error] 40-40: wrong indentation: expected 4 but found 2

(indentation)


[error] 51-51: wrong indentation: expected 6 but found 4

(indentation)


[error] 67-67: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml (1)

87-87: Форматирование исправлено

Корректное выравнивание параметра amount.

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml (3)

149-149: 🧹 Nitpick (assertive)

Исправьте опечатки в описании

В описании обнаружены опечатки:

  • "hydroponical instalation" -> "hydroponical installation"
-  description: Contains a full kit to build a hydroponical instalation.
+  description: Contains a full kit to build a hydroponical installation.

Likely invalid or redundant comment.


197-209: 🧹 Nitpick (assertive)

Проверьте распределение вероятностей для RTG

Текущее распределение вероятностей для RTG:

  • 40% шанс получить 2 штуки
  • 40% шанс получить 3 штуки
  • 20% шанс получить 4 штуки

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

Предлагаю изменить распределение:

-      prob: 0.4  # 2 штуки
+      prob: 0.3  # 2 штуки
-      prob: 0.4  # 3 штуки
+      prob: 0.5  # 3 штуки
-      prob: 0.2  # 4 штуки
+      prob: 0.2  # 4 штуки
✅ Verification successful

Предложенное изменение распределения RTG одобрено

Анализ показывает, что RTG используется в трёх местах:

  • Как базовый прототип предмета
  • В списке случайных инженерных предметов с шансом 95%
  • В лутe экспедиций с текущим распределением

Предложенное изменение вероятностей (30%/50%/20%) сделает распределение более естественным, сохранив при этом ожидаемое значение 2.8 и не нарушив баланс в других частях игры.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем использование RTG в других местах кодовой базы
rg -l "GeneratorRTGFlatpack" --type yaml

Length of output: 289


Script:

#!/bin/bash
# Проверяем содержимое файлов с RTG для анализа баланса
rg "GeneratorRTGFlatpack" -A 5 -B 2 --type yaml

Length of output: 3292

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 197-197: comment not indented like content

(comments-indentation)


[error] 198-198: wrong indentation: expected at least 5

(indentation)


91-95: 🧹 Nitpick (assertive)

Проверьте достаточность количества кроватей

Два стазис-бокса могут быть недостаточны для полноценного медотсека.

Рекомендую увеличить количество стазис-боксов:

    - id: StasisBedFlatpack
-     amount: 2
+     amount: 3
✅ Verification successful

Let me gather more information about medical bay configurations to make a more informed decision.


Based on the analysis of the codebase, I can now generate the final response:

Количество стазис-боксов достаточно для данной конфигурации

Анализ показывает, что два стазис-бокса являются стандартным количеством для медотсека в данном контексте:

  • Это часть базового набора для медотсека (CrateServiceKitMedbay)
  • В большинстве стандартных карт станций используется 1-2 стазис-бокса
  • Набор включает дополнительное медицинское оборудование (VendingMachineMedical, MedicalTechFab), которое компенсирует ограниченное количество стазис-боксов
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем стандартные конфигурации медотсеков
rg "StasisBedFlatpack" --type yaml -A 5

Length of output: 1987


Script:

#!/bin/bash
# Поиск конфигураций медотсеков и связанных спавнеров
rg "StasisBed" --type yaml -A 5

# Поиск других медицинских ящиков и их содержимого
rg "CrateMedical" --type yaml -A 10

Length of output: 66613

🧰 Tools
🪛 yamllint (1.35.1)

[error] 91-91: wrong indentation: expected at least 5

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_hydroponics.yml (2)

1-37: Конфигурация спавнера случайного хлама выглядит корректно!

Хорошо сбалансированные шансы появления для обычных (95%) и редких (10%) предметов.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 21-21: wrong indentation: expected 6 but found 4

(indentation)


[error] 27-27: wrong indentation: expected 6 but found 4

(indentation)


20-22: ⚠️ Potential issue

Обнаружено дублирование прототипа!

SpawnDungeonLootPartsEngi повторяется три раза подряд. Это может привести к непропорциональному распределению шансов появления.

Предлагаемое исправление:

    prototypes:
-   - SpawnDungeonLootPartsEngi
-   - SpawnDungeonLootPartsEngi
-   - SpawnDungeonLootPartsEngi
+   - SpawnDungeonLootPartsEngi

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 21-21: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml (2)

1-37: Конфигурация спавнера научного хлама корректна!

Сбалансированное распределение шансов появления предметов с подходящим набором прототипов для научной зоны.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 34-34: wrong indentation: expected 6 but found 4

(indentation)


233-252: Отличная организация прототипов!

Хорошее разделение плат на логические группы (компьютеры, станки, машины) с помощью комментариев улучшает читаемость конфигурации.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 234-234: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml (2)

1-29: Конфигурация кухонного спавнера выглядит правильно!

Хорошо подобранные спрайты и сбалансированные шансы появления предметов для кухонной зоны.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 24-24: wrong indentation: expected 6 but found 4

(indentation)


374-374: 🧹 Nitpick (assertive)

Исправьте форматирование комментария!

Комментарий должен начинаться с пробела после символа #.

Предлагаемое исправление:

-    # - ServiceTechFabFlatpack
+    # - ServiceTechFabFlatpack

Likely invalid or redundant comment.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_engineering.yml (4)

1-35: Конфигурация спавнера инженерного хлама выглядит сбалансированной!

Распределение предметов и шансы появления хорошо подобраны для инженерного лута.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 30-30: wrong indentation: expected 6 but found 4

(indentation)


80-109: Отличная балансировка продвинутых инструментов!

Низкий шанс появления (0.01) для мощных инструментов, таких как RCD, хорошо сбалансирован.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 86-86: wrong indentation: expected 4 but found 2

(indentation)


[error] 97-97: wrong indentation: expected 6 but found 4

(indentation)


[error] 105-105: wrong indentation: expected 6 but found 4

(indentation)


36-78: 🧹 Nitpick (assertive)

Рекомендуется снизить шанс появления базовых инструментов

Текущий шанс 0.95 кажется слишком высоким и может привести к избытку инструментов. Рекомендуется снизить до 0.75-0.85 для лучшего баланса.

  chance: 0.95
+  chance: 0.85

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 43-43: wrong indentation: expected 4 but found 2

(indentation)


[error] 56-56: wrong indentation: expected 6 but found 4

(indentation)


[error] 75-75: wrong indentation: expected 6 but found 4

(indentation)


110-139: 🛠️ Refactor suggestion

Рекомендуется убрать синдикатовские ящики с инструментами

Синдикатовские ящики с инструментами могут быть слишком мощными для данного контекста. Рекомендуется их убрать или заменить на более подходящие альтернативы.

  rarePrototypes:
-   - ToolboxSyndicate
-   - ToolboxSyndicateFilled
+   - ToolboxMechanicalFilled
+   - ToolboxElectricalFilled

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 116-116: wrong indentation: expected 4 but found 2

(indentation)


[error] 127-127: wrong indentation: expected 6 but found 4

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_medical.yml (2)

415-417: Правильное решение по синдикатовским предметам!

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

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 415-415: comment not indented like content

(comments-indentation)


[error] 416-416: wrong indentation: expected 6 but found 5

(indentation)


624-675: 🛠️ Refactor suggestion

Требуется корректировка спавнера химикатов

Текущая конфигурация позволяет появление опасных химикатов (токсины, свинец). Рекомендуется:

  1. Ограничить список доступных химикатов
  2. Снизить шанс появления опасных веществ
  3. Добавить больше медицинских химикатов
  rarePrototypes:
    - CognizineChemistryBottle
    - OmnizineChemistryBottle
    - PaxChemistryBottle
-   - MuteToxinChemistryBottle
-   - ToxinChemistryBottle
-   - LeadChemistryBottle
+   - AntitoxinChemistryBottle
+   - TranquilizerChemistryBottle
    rareChance: 0.01

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 631-631: wrong indentation: expected 4 but found 2

(indentation)


[error] 642-642: wrong indentation: expected 6 but found 4

(indentation)


[error] 668-668: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (4)

1-12: Базовая сущность корректно определена!

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

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 8-8: too few spaces before comment

(comments)


[error] 10-10: wrong indentation: expected 4 but found 2

(indentation)


898-904: 🧹 Nitpick (assertive)

Улучшение документации по безопасности

Важное примечание о сканировании портфелей должно быть более заметным и правильно оформлено:

-    rarePrototypes: # Make sure to scan all the briefcases for loot
+    # SECURITY: All briefcases must be scanned for contraband items
+    rarePrototypes:

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 898-898: too few spaces before comment

(comments)


[error] 899-899: wrong indentation: expected 6 but found 4

(indentation)


872-874: 🧹 Nitpick (assertive)

Документирование отключенных функций безопасности

Закомментированные жидкие канистры отключены из-за потенциального злоупотребления. Рекомендуется добавить более подробную документацию о рисках безопасности:

-#    - LiquidCarbonDioxideCanister # Abused to hell
-#    - LiquidNitrogenCanister # Abused to hell
-#    - LiquidOxygenCanister # Abused to hell
+    # SECURITY: The following canisters are disabled due to exploitation risks:
+    # - LiquidCarbonDioxideCanister  # Can be exploited for infinite resources
+    # - LiquidNitrogenCanister       # Can be exploited for infinite resources
+    # - LiquidOxygenCanister         # Can be exploited for infinite resources

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 872-872: comment not indented like content

(comments-indentation)


335-501: Проверка безопасности спавна машин

Необходимо проверить безопасность спавна следующих машин:

  • Autolathe и Protolathe могут быть использованы для создания потенциально опасных предметов
  • ExosuitFabricator требует дополнительных ограничений доступа
✅ Verification successful

Проверка безопасности завершена

На основе анализа кода подтверждаю, что спавн указанных машин в данном контексте безопасен, так как:

  1. Autolathe и Protolathe имеют стандартные ограничения на производство предметов через компонент Lathe с четко определенными списками рецептов.
  2. ExosuitFabricator также имеет строго определенный список доступных для создания предметов.
  3. Все машины требуют специальных плат (circuitboard) для сборки и не могут быть использованы "из коробки".
  4. Редкие версии машин (HyperConvection) имеют дополнительные требования к материалам и компонентам.
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск потенциально опасных рецептов
ast-grep --pattern 'recipe:
  $$$
  result: $_dangerous_item
  $$$'

Length of output: 69


Script:

#!/bin/bash
# Поиск файлов с рецептами для Autolathe
rg -l "Autolathe" Resources/Prototypes/

# Поиск файлов с рецептами для Protolathe
rg -l "Protolathe" Resources/Prototypes/

# Поиск файлов с рецептами для ExosuitFabricator
rg -l "ExosuitFabricator" Resources/Prototypes/

# Проверка ограничений доступа
rg "AccessReader|RequireAccess" Resources/Prototypes/ -A 5

Length of output: 66753


Script:

#!/bin/bash
# Поиск ограничений доступа для Autolathe и Protolathe
rg "Autolathe|Protolathe|ExosuitFabricator" Resources/Prototypes/ -A 5 -B 5

# Поиск компонентов контроля доступа
rg "RequireAccess|AccessComponent" Resources/Prototypes/Entities/Structures/Machines/ -A 5

Length of output: 74390

🧰 Tools
🪛 yamllint (1.35.1)

[error] 342-342: wrong indentation: expected 4 but found 2

(indentation)


[error] 352-352: wrong indentation: expected 6 but found 4

(indentation)


[error] 370-370: wrong indentation: expected 6 but found 4

(indentation)


[warning] 376-376: too few spaces before comment

(comments)


[error] 381-381: wrong indentation: expected 4 but found 2

(indentation)


[warning] 385-385: truthy value should be one of [false, true]

(truthy)


[error] 391-391: wrong indentation: expected 6 but found 4

(indentation)


[warning] 414-414: missing starting space in comment

(comments)


[warning] 415-415: missing starting space in comment

(comments)


[warning] 416-416: missing starting space in comment

(comments)


[warning] 417-417: missing starting space in comment

(comments)


[warning] 418-418: missing starting space in comment

(comments)


[warning] 419-419: missing starting space in comment

(comments)


[warning] 420-420: missing starting space in comment

(comments)


[warning] 421-421: missing starting space in comment

(comments)


[warning] 422-422: missing starting space in comment

(comments)


[error] 432-432: wrong indentation: expected 4 but found 2

(indentation)


[warning] 436-436: truthy value should be one of [false, true]

(truthy)


[error] 442-442: wrong indentation: expected 6 but found 4

(indentation)


[error] 465-465: wrong indentation: expected 6 but found 4

(indentation)


[error] 476-476: wrong indentation: expected 4 but found 2

(indentation)


[warning] 480-480: truthy value should be one of [false, true]

(truthy)


[error] 486-486: wrong indentation: expected 6 but found 4

(indentation)


[error] 494-494: wrong indentation: expected 6 but found 4

(indentation)

@@ -5,3 +5,4 @@
- /Audio/StationEvents/countdown.ogg
- /Audio/StationEvents/clearly_nuclear.ogg
- /Audio/StationEvents/chip_nightmare.ogg
- /Audio/StationEvents/Lchavasse_Lunar_Abyss_but_NO_dubstep.ogg
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Аудиофайл не найден

Файл /Audio/StationEvents/Lchavasse_Lunar_Abyss_but_NO_dubstep.ogg указан в коллекции звуков, но не существует в директории Resources/Audio/StationEvents/. Необходимо добавить отсутствующий аудиофайл или исправить путь к нему.

🔗 Analysis chain

Проверка наличия аудиофайла

Необходимо убедиться, что добавленный аудиофайл существует в указанном месте и соответствует формату .ogg.


I'll try to locate the audio files directory and understand the repository structure first, then we can verify the specific file's existence.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence and format of the audio file

# Check if the audio file exists
fd "Lchavasse_Lunar_Abyss_but_NO_dubstep.ogg" Audio/StationEvents/

# Verify the file format
file $(fd "Lchavasse_Lunar_Abyss_but_NO_dubstep.ogg" Audio/StationEvents/)

Length of output: 452


Script:

#!/bin/bash
# Let's try to find the audio directory first
fd -t d "Audio"

# Then search for any .ogg files to understand the structure
fd -e ogg

Length of output: 73670

Comment on lines +72 to +90
- type: Sprite
sprite: _LostParadise/Clothing/Head/Helmets/eva_color.rsi
layers:
- state: icon-base
color: "#ffee00"
- state: icon-reinforced-points
color: "#ff7f00"
- state: icon-visor
color: "#adcfd5"
- type: Clothing
sprite: _LostParadise/Clothing/Head/Helmets/eva_color.rsi
clothingVisuals:
head:
- state: equipped-head-base
color: "#ffee00"
- state: equipped-head-reinforced-points
color: "#ff7f00"
- state: equipped-head-visor
color: "#adcfd5"
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Рефакторинг дублирования цветовых значений

Значения цветов дублируются между компонентами Sprite и Clothing. Рекомендуется вынести цветовые константы в отдельные переменные для упрощения поддержки.

- type: entity
  parent: ClothingHeadEVAHelmetWithLightBase
  id: ClothingHeadEVAHelmetEngineer
  vars:
    baseColor: "#ffee00"
    reinforcedColor: "#ff7f00"
    visorColor: "#adcfd5"
  components:
    # ... использовать переменные вместо хардкода цветов
🧰 Tools
🪛 yamllint (1.35.1)

[error] 72-72: wrong indentation: expected 4 but found 2

(indentation)


[error] 75-75: wrong indentation: expected 6 but found 4

(indentation)


[error] 85-85: wrong indentation: expected 8 but found 6

(indentation)

Comment on lines +171 to +172
- type: PointLight
radius: 6
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Добавьте параметр energy в PointLight

Для консистентности с базовой конфигурацией, следует также указать параметр energy при переопределении radius.

  - type: PointLight
    radius: 6
+   energy: 2
📝 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: PointLight
radius: 6
- type: PointLight
radius: 6
energy: 2

Comment on lines 207 to 261
- type: entity
parent: NFClothingOuterEVASuitBase
id: ClothingOuterEVASuitSalvage
name: salvage specialist EVA suit
description: An EVA suit with a built-in helmet commonly issued to salvage specialists.
components:
- type: Sprite
sprite: _LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi
layers:
- state: icon-base
color: "#deb733"
- state: icon-decals-01
color: "#ad2aea"
- state: icon-reinforced-points
color: "#786243"
- state: icon-breathing-gear
- state: icon-unshaded
shader: unshaded
- type: Item
inhandVisuals:
left:
- state: inhand-left-base
color: "#deb733"
- state: inhand-left-decals-01
color: "#ad2aea"
- state: inhand-left-reinforced-points
color: "#786243"
- state: inhand-left-breathing-gear
- state: inhand-left-unshaded
shader: unshaded
right:
- state: inhand-right-base
color: "#deb733"
- state: inhand-right-decals-01
color: "#ad2aea"
- state: inhand-right-reinforced-points
color: "#786243"
- state: inhand-right-breathing-gear
- state: inhand-right-unshaded
shader: unshaded
- type: Clothing
sprite: _LostParadise/Clothing/OuterClothing/Suits/eva_color.rsi
clothingVisuals:
outerClothing:
- state: equipped-base
color: "#deb733"
- state: equipped-decals-01
color: "#ad2aea"
- state: equipped-reinforced-points
color: "#786243"
- state: equipped-breathing-gear
- state: equipped-unshaded
shader: unshaded
- type: ToggleableClothing
clothingPrototype: ClothingHeadEVAHelmetSalvage
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Важный элемент новой системы экспедиций

Костюм специалиста по утилизации хорошо вписывается в обновленную систему экспедиций. Уникальная цветовая схема поможет легко идентифицировать специалистов во время миссий.

Рекомендую добавить компонент с тегом для интеграции с системой экспедиций, если планируется особое взаимодействие костюма с механиками экспедиций.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 213-213: wrong indentation: expected 4 but found 2

(indentation)


[error] 216-216: wrong indentation: expected 6 but found 4

(indentation)


[error] 228-228: wrong indentation: expected 8 but found 6

(indentation)


[error] 238-238: wrong indentation: expected 8 but found 6

(indentation)


[error] 251-251: wrong indentation: expected 8 but found 6

(indentation)

Comment on lines +219 to +221
- !type:NestedSelector
tableId: SalvageEquipmentUncommon
weight: 10
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

Исправьте дублирование ссылки на таблицу

Таблица SalvageEquipmentUncommon указана дважды с разными весами. Вероятно, вторая ссылка должна указывать на SalvageEquipmentRare.

       - !type:NestedSelector
-        tableId: SalvageEquipmentUncommon
+        tableId: SalvageEquipmentRare
         weight: 10
📝 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:NestedSelector
tableId: SalvageEquipmentUncommon
weight: 10
- !type:NestedSelector
tableId: SalvageEquipmentRare
weight: 10

layers:
- state: green
scale: 0.7, 0.7
- sprite: Objects/Specific/Hydroponics/seeds.rsi
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

Исправьте опечатку в суффиксе!

Слово "Sciense" написано неправильно, должно быть "Science".

Предлагаемое исправление:

-  suffix: "Dungeon, Sciense"
+  suffix: "Dungeon, Science"

Also applies to: 264-264

Comment on lines 1 to 550
prototypes:
- PowerCellMedium
- PowerCellHigh
- PowerCellHyper
chance: 0.95
offset: 0.0
rarePrototypes:
- PowerCellMicroreactor
- PowerCellPotato
rareChance: 0.01

- type: entity
name: random machine board
id: SpawnDungeonLootCircuitBoardEngi
parent: MarkerBasePlaceFree
suffix: "Dungeon, Engineering"
components:
- type: Sprite
layers:
- state: green
scale: 0.7, 0.7
- sprite: Objects/Misc/module.rsi
state: science
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
# Computers
- PowerComputerCircuitboard
- SolarControlComputerCircuitboard
- AlertsComputerCircuitboard
# Lathes
- CircuitImprinterMachineCircuitboard
# - EngineeringTechFabCircuitboard
- ProtolatheMachineCircuitboard
- AutolatheMachineCircuitboard
- FlatpackerMachineCircuitboard
# Machines
- SpaceHeaterMachineCircuitBoard
- PortableScrubberMachineCircuitBoard
- HellfireHeaterMachineCircuitBoard
- HellfireFreezerMachineCircuitBoard
- ThermomachineHeaterMachineCircuitBoard
- ThermomachineFreezerMachineCircuitBoard
- PortableGeneratorJrPacmanMachineCircuitboard
- PortableGeneratorPacmanMachineCircuitboard
- PortableGeneratorSuperPacmanMachineCircuitboard
- EmitterCircuitboard
- CondenserMachineCircuitBoard
- TurboItemRechargerCircuitboard
- GyroscopeMachineCircuitboard
- CellRechargerCircuitboard
- MiniGravityGeneratorCircuitboard
- ThrusterMachineCircuitboard
- StationMapCircuitboard
chance: 0.95
offset: 0.0
rarePrototypes:
- AutolatheHyperConvectionMachineCircuitboard
- ProtolatheHyperConvectionMachineCircuitboard
- ComputerIFFCircuitboard
rareChance: 0.05

- type: entity
name: random flatpack
id: SpawnDungeonLootFlatpacksEngi
parent: MarkerBasePlaceFree
suffix: "Dungeon, Engineering"
components:
- type: Sprite
layers:
- state: green
- sprite: _LostParadise/Objects/Devices/flatpack.rsi
state: engineering_lathe
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
- AutolatheFlatpack
- ExosuitFabricatorFlatpack
- ProtolatheFlatpack
- CircuitImprinterFlatpack
# - EngineeringTechFabFlatpack
- MaterialReclaimerFlatpack
- PowerCellRechargerFlatpack
- WeaponCapacitorRechargerFlatpack
- BorgChargerFlatpack
- PortableGeneratorJrPacmanFlatpack
- PortableGeneratorPacmanFlatpack
- PortableGeneratorSuperPacmanFlatpack
- GeneratorRTGFlatpack
chance: 0.95
offset: 0.0
rarePrototypes:
- GeneratorRTGDamagedFlatpack
- AmeControllerUnanchoredFlatpack
- RadiationCollectorFullTankFlatpack
rareChance: 0.05
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Необходим общий пересмотр баланса спавнеров

Наблюдаются следующие проблемы с балансом:

  1. Слишком высокие шансы появления для обычных предметов (0.95-1.0)
  2. Наличие мощных синдикатовских предметов в редком луте
  3. Несбалансированное распределение между обычными и редкими предметами

Рекомендуется:

  • Снизить базовые шансы появления до 0.75-0.85
  • Убрать или заменить синдикатовские предметы
  • Пересмотреть список редких предметов
🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 30-30: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 4 but found 2

(indentation)


[error] 56-56: wrong indentation: expected 6 but found 4

(indentation)


[error] 75-75: wrong indentation: expected 6 but found 4

(indentation)


[error] 86-86: wrong indentation: expected 4 but found 2

(indentation)


[error] 97-97: wrong indentation: expected 6 but found 4

(indentation)


[error] 105-105: wrong indentation: expected 6 but found 4

(indentation)


[error] 116-116: wrong indentation: expected 4 but found 2

(indentation)


[error] 127-127: wrong indentation: expected 6 but found 4

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 147-147: wrong indentation: expected 4 but found 2

(indentation)


[error] 158-158: wrong indentation: expected 6 but found 4

(indentation)


[error] 166-166: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 4 but found 2

(indentation)


[error] 189-189: wrong indentation: expected 6 but found 4

(indentation)


[error] 202-202: wrong indentation: expected 6 but found 4

(indentation)


[error] 215-215: wrong indentation: expected 4 but found 2

(indentation)


[error] 227-227: wrong indentation: expected 6 but found 4

(indentation)


[error] 237-237: wrong indentation: expected 6 but found 4

(indentation)


[error] 247-247: wrong indentation: expected 4 but found 2

(indentation)


[error] 258-258: wrong indentation: expected 6 but found 4

(indentation)


[error] 297-297: wrong indentation: expected 6 but found 4

(indentation)


[error] 308-308: wrong indentation: expected 4 but found 2

(indentation)


[error] 318-318: wrong indentation: expected 6 but found 4

(indentation)


[error] 333-333: wrong indentation: expected 4 but found 2

(indentation)


[error] 345-345: wrong indentation: expected 6 but found 4

(indentation)


[error] 355-355: wrong indentation: expected 6 but found 4

(indentation)


[error] 365-365: wrong indentation: expected 4 but found 2

(indentation)


[warning] 369-369: truthy value should be one of [false, true]

(truthy)


[error] 375-375: wrong indentation: expected 6 but found 4

(indentation)


[error] 383-383: wrong indentation: expected 6 but found 4

(indentation)


[error] 393-393: wrong indentation: expected 4 but found 2

(indentation)


[error] 405-405: wrong indentation: expected 6 but found 4

(indentation)


[warning] 428-428: missing starting space in comment

(comments)


[error] 430-430: wrong indentation: expected 6 but found 4

(indentation)


[error] 441-441: wrong indentation: expected 4 but found 2

(indentation)


[error] 452-452: wrong indentation: expected 6 but found 4

(indentation)


[error] 458-458: wrong indentation: expected 6 but found 4

(indentation)


[error] 468-468: wrong indentation: expected 4 but found 2

(indentation)


[error] 480-480: wrong indentation: expected 6 but found 4

(indentation)


[error] 510-510: wrong indentation: expected 6 but found 4

(indentation)


[error] 521-521: wrong indentation: expected 4 but found 2

(indentation)


[error] 531-531: wrong indentation: expected 6 but found 4

(indentation)


[error] 547-547: wrong indentation: expected 6 but found 4

(indentation)

Comment on lines 1 to 595
- type: Sprite
layers:
- state: green
- sprite: Structures/Storage/Crates/sec_gear.rsi
state: icon
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
- CrateSecurityArmor
- CrateSecurityHelmet
chance: 0.85
offset: 0.0
rarePrototypes:
- CrateSecurityRiot
- CrateSecurityBiosuit
rareChance: 0.05

- type: entity
name: random crate (restock)
id: SpawnDungeonLootCrateRestockArmory
parent: MarkerBase
suffix: "Dungeon, Armory"
components:
- type: Sprite
layers:
- state: green
- sprite: Structures/Storage/Crates/weapon.rsi
state: icon
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
- CrateVendingMachineRestockAmmoFilled
- CrateVendingMachineRestockLessLethalVendFilled
- CrateVendingMachineRestockNonLethalVendFilled
chance: 1.0
offset: 0.0

# Machines
- type: entity
name: random vendomat
id: SpawnDungeonVendomatsArmory
parent: MarkerBase
suffix: "Dungeon, Armory"
components:
- type: Sprite
layers:
- state: green
- sprite: Structures/Machines/VendingMachines/winterdrobe.rsi
state: off
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
- VendingMachineBountyVend
- VendingMachineAmmo
- LessLethalVendingMachine
chance: 1
offset: 0.0
rarePrototypes:
- SpawnDungeonMachineFrame
rareChance: 0.01

- type: entity
name: random machine techfab
id: SpawnDungeonLootLatheArmory
parent: MarkerBase
suffix: "Dungeon, Armory"
components:
- type: Sprite
layers:
- state: green
- sprite: Structures/Machines/techfab.rsi
state: icon
- sprite: Structures/Machines/techfab.rsi
state: sec
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
- AmmoTechFab
- MercenaryTechFab
- MercenaryTechFabFlatpack
- MercenaryTechFabCircuitboardNF
- AmmoTechFabFlatpack
chance: 1
offset: 0.0
rarePrototypes:
- MercenaryTechFab
- MercenaryTechFabFlatpack
- MercenaryTechFabCircuitboardNF
- AmmoTechFabFlatpack
- MercenaryTechFabCircuitboardHackedNF
- MercenaryTechFabHacked
rareChance: 0.005
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

Критические проблемы баланса в военном снаряжении!

Обнаружены серьезные проблемы:

  1. Слишком много мощного военного снаряжения в одном месте
  2. Высокие шансы появления взрывчатки (0.8)
  3. Доступность продвинутой брони и оружия может нарушить баланс игры

Необходимо:

  1. Значительно снизить шансы появления мощного оружия
  2. Ограничить доступность взрывчатки
  3. Добавить больше базового снаряжения
🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 33-33: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 4 but found 2

(indentation)


[error] 54-54: wrong indentation: expected 6 but found 4

(indentation)


[error] 77-77: wrong indentation: expected 6 but found 4

(indentation)


[error] 88-88: wrong indentation: expected 4 but found 2

(indentation)


[error] 99-99: wrong indentation: expected 6 but found 4

(indentation)


[error] 114-114: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 143-143: wrong indentation: expected 6 but found 4

(indentation)


[error] 154-154: wrong indentation: expected 4 but found 2

(indentation)


[error] 165-165: wrong indentation: expected 6 but found 4

(indentation)


[error] 170-170: wrong indentation: expected 6 but found 4

(indentation)


[error] 179-179: wrong indentation: expected 4 but found 2

(indentation)


[error] 190-190: wrong indentation: expected 6 but found 4

(indentation)


[error] 196-196: wrong indentation: expected 6 but found 4

(indentation)


[error] 207-207: wrong indentation: expected 4 but found 2

(indentation)


[error] 218-218: wrong indentation: expected 6 but found 4

(indentation)


[error] 223-223: wrong indentation: expected 6 but found 4

(indentation)


[error] 235-235: wrong indentation: expected 4 but found 2

(indentation)


[error] 246-246: wrong indentation: expected 6 but found 4

(indentation)


[error] 252-252: wrong indentation: expected 6 but found 4

(indentation)


[error] 262-262: wrong indentation: expected 4 but found 2

(indentation)


[error] 273-273: wrong indentation: expected 6 but found 4

(indentation)


[error] 289-289: wrong indentation: expected 6 but found 4

(indentation)


[error] 299-299: wrong indentation: expected 4 but found 2

(indentation)


[error] 310-310: wrong indentation: expected 6 but found 4

(indentation)


[error] 317-317: wrong indentation: expected 6 but found 4

(indentation)


[error] 328-328: wrong indentation: expected 4 but found 2

(indentation)


[error] 339-339: wrong indentation: expected 6 but found 4

(indentation)


[error] 344-344: wrong indentation: expected 6 but found 4

(indentation)


[error] 354-354: wrong indentation: expected 4 but found 2

(indentation)


[error] 366-366: wrong indentation: expected 6 but found 4

(indentation)


[error] 373-373: wrong indentation: expected 6 but found 4

(indentation)


[error] 384-384: wrong indentation: expected 4 but found 2

(indentation)


[error] 396-396: wrong indentation: expected 6 but found 4

(indentation)


[error] 403-403: wrong indentation: expected 6 but found 4

(indentation)


[error] 412-412: wrong indentation: expected 4 but found 2

(indentation)


[error] 423-423: wrong indentation: expected 6 but found 4

(indentation)


[error] 457-457: wrong indentation: expected 6 but found 4

(indentation)


[error] 496-496: wrong indentation: expected 4 but found 2

(indentation)


[error] 506-506: wrong indentation: expected 6 but found 4

(indentation)


[error] 511-511: wrong indentation: expected 6 but found 4

(indentation)


[error] 521-521: wrong indentation: expected 4 but found 2

(indentation)


[error] 531-531: wrong indentation: expected 6 but found 4

(indentation)


[error] 544-544: wrong indentation: expected 4 but found 2

(indentation)


[warning] 548-548: truthy value should be one of [false, true]

(truthy)


[error] 554-554: wrong indentation: expected 6 but found 4

(indentation)


[error] 560-560: wrong indentation: expected 6 but found 4

(indentation)


[error] 569-569: wrong indentation: expected 4 but found 2

(indentation)


[error] 581-581: wrong indentation: expected 6 but found 4

(indentation)


[error] 589-589: wrong indentation: expected 6 but found 4

(indentation)

Comment on lines +13 to +51
# Clutter
- type: entity
name: random clutter
id: SpawnDungeonLootBureaucracy
parent: MarkerBasePlaceFree
suffix: "Dungeon, Bureaucracy"
components:
- type: Sprite
layers:
- state: green
scale: 0.7, 0.7
- sprite: Objects/Misc/bureaucracy.rsi
state: labeler1
- sprite: _LostParadise/Markers/general.rsi
state: questionmark
color: red
- type: RandomSpawner
prototypes:
- PaperOffice
- Paper
- Paper
- Paper
- ClothingEyesGlasses
- ClothingEyesGlassesJamjar
- HandLabeler
- NewtonCradle
- DrinkSpaceGlue
- FolderSpawner
- FolderSpawner
- FolderSpawner
- FolderSpawner
- FolderSpawner
- SpawnDungeonLootBureaucracyPen
chance: 1
offset: 0.0
rarePrototypes:
- SpawnDungeonLootVendingRestocks
rareChance: 0.01

Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Оптимизация спавна канцелярских принадлежностей

Текущая реализация включает отдельный спавнер для ручек (SpawnDungeonLootBureaucracyPen), что усложняет поддержку. Рекомендуется объединить логику спавна ручек с основным спавнером канцелярии.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 20-20: wrong indentation: expected 4 but found 2

(indentation)


[error] 31-31: wrong indentation: expected 6 but found 4

(indentation)


[error] 49-49: wrong indentation: expected 6 but found 4

(indentation)

Comment on lines +414 to +422
#- VendingMachineChang # No food vendomats in expeds - buy from food ships or die
#- VendingMachineDonut
#- VendingMachineDiscount
#- VendingMachineSnack
#- VendingMachineSustenance
#- VendingMachineSnackBlue
#- VendingMachineSnackOrange
#- VendingMachineSnackGreen
#- VendingMachineSnackTeal
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Требуется перевод комментариев

Комментарии к отключенным вендинг машинам должны быть на английском языке согласно требованиям:

-#- VendingMachineChang # No food vendomats in expeds - buy from food ships or die
+# - VendingMachineChang # Food vending machines are disabled in expeditions - supplies must be purchased from food ships

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 414-414: missing starting space in comment

(comments)


[warning] 415-415: missing starting space in comment

(comments)


[warning] 416-416: missing starting space in comment

(comments)


[warning] 417-417: missing starting space in comment

(comments)


[warning] 418-418: missing starting space in comment

(comments)


[warning] 419-419: missing starting space in comment

(comments)


[warning] 420-420: missing starting space in comment

(comments)


[warning] 421-421: missing starting space in comment

(comments)


[warning] 422-422: missing starting space in comment

(comments)

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

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Reviewing files that changed from the base of the PR and between dda1f6d and 1e0f2a4.

📒 Files selected for processing (1)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

🪛 yamllint (1.35.1)
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml

[error] 6-6: wrong indentation: expected 6 but found 4

(indentation)


[error] 9-9: wrong indentation: expected 8 but found 6

(indentation)


[error] 30-30: wrong indentation: expected 8 but found 6

(indentation)


[error] 41-41: wrong indentation: expected 4 but found 2

(indentation)


[error] 43-43: wrong indentation: expected 6 but found 4

(indentation)


[error] 57-57: wrong indentation: expected 4 but found 2

(indentation)


[error] 68-68: wrong indentation: expected 6 but found 4

(indentation)


[error] 71-71: wrong indentation: expected 8 but found 6

(indentation)


[error] 88-88: wrong indentation: expected 8 but found 6

(indentation)


[error] 102-102: wrong indentation: expected 4 but found 2

(indentation)


[error] 104-104: wrong indentation: expected 6 but found 4

(indentation)


[error] 118-118: wrong indentation: expected 4 but found 2

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


[error] 132-132: wrong indentation: expected 8 but found 6

(indentation)


[error] 148-148: wrong indentation: expected 8 but found 6

(indentation)


[error] 158-158: wrong indentation: expected 8 but found 6

(indentation)


[error] 178-178: wrong indentation: expected 4 but found 2

(indentation)


[error] 180-180: wrong indentation: expected 6 but found 4

(indentation)


[error] 194-194: wrong indentation: expected 6 but found 4

(indentation)


[error] 197-197: wrong indentation: expected 8 but found 6

(indentation)


[error] 213-213: wrong indentation: expected 8 but found 6

(indentation)


[error] 226-226: wrong indentation: expected 8 but found 6

(indentation)


[error] 248-248: wrong indentation: expected 4 but found 2

(indentation)


[error] 250-250: wrong indentation: expected 6 but found 4

(indentation)


[error] 264-264: wrong indentation: expected 6 but found 4

(indentation)


[error] 267-267: wrong indentation: expected 8 but found 6

(indentation)


[error] 283-283: wrong indentation: expected 8 but found 6

(indentation)


[error] 296-296: wrong indentation: expected 8 but found 6

(indentation)


[error] 307-307: wrong indentation: expected 4 but found 2

(indentation)


[error] 309-309: wrong indentation: expected 6 but found 4

(indentation)


[error] 323-323: wrong indentation: expected 6 but found 4

(indentation)


[error] 326-326: wrong indentation: expected 8 but found 6

(indentation)


[error] 342-342: wrong indentation: expected 8 but found 6

(indentation)


[error] 355-355: wrong indentation: expected 8 but found 6

(indentation)


[error] 363-363: wrong indentation: expected 8 but found 6

(indentation)


[error] 372-372: wrong indentation: expected 4 but found 2

(indentation)


[error] 374-374: wrong indentation: expected 6 but found 4

(indentation)


[error] 388-388: wrong indentation: expected 4 but found 2

(indentation)


[error] 390-390: wrong indentation: expected 6 but found 4

(indentation)


[error] 397-397: wrong indentation: expected 8 but found 6

(indentation)


[error] 410-410: wrong indentation: expected 6 but found 4

(indentation)


[error] 419-419: wrong indentation: expected 8 but found 6

(indentation)


[warning] 423-423: comment not indented like content

(comments-indentation)


[error] 431-431: wrong indentation: expected 4 but found 2

(indentation)


[error] 433-433: wrong indentation: expected 6 but found 4

(indentation)


[error] 446-446: wrong indentation: expected 4 but found 2

(indentation)


[error] 456-456: wrong indentation: expected 4 but found 2

(indentation)


[error] 466-466: wrong indentation: expected 4 but found 2

(indentation)


[error] 468-468: wrong indentation: expected 6 but found 4

(indentation)


[error] 474-474: wrong indentation: expected 8 but found 6

(indentation)


[error] 484-484: wrong indentation: expected 4 but found 2

(indentation)


[error] 486-486: wrong indentation: expected 6 but found 4

(indentation)


[error] 492-492: wrong indentation: expected 8 but found 6

(indentation)

🔇 Additional comments (4)
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (4)

219-221: Исправьте дублирование таблицы оборудования

В секции SalvageTreasureSpawnerValuable таблица SalvageEquipmentUncommon указана дважды с разными весами. Вероятно, второе вхождение должно ссылаться на SalvageEquipmentRare.


1-495: Структура конфигурации выглядит логичной и хорошо организованной

Общая организация файла и иерархия сущностей реализованы грамотно:

  • Четкое разделение на категории (scrap, treasure, equipment)
  • Корректное использование наследования через parent
  • Сбалансированное распределение вероятностей
🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: wrong indentation: expected 6 but found 4

(indentation)


[error] 9-9: wrong indentation: expected 8 but found 6

(indentation)


[error] 30-30: wrong indentation: expected 8 but found 6

(indentation)


[error] 41-41: wrong indentation: expected 4 but found 2

(indentation)


[error] 43-43: wrong indentation: expected 6 but found 4

(indentation)


[error] 57-57: wrong indentation: expected 4 but found 2

(indentation)


[error] 68-68: wrong indentation: expected 6 but found 4

(indentation)


[error] 71-71: wrong indentation: expected 8 but found 6

(indentation)


[error] 88-88: wrong indentation: expected 8 but found 6

(indentation)


[error] 102-102: wrong indentation: expected 4 but found 2

(indentation)


[error] 104-104: wrong indentation: expected 6 but found 4

(indentation)


[error] 118-118: wrong indentation: expected 4 but found 2

(indentation)


[error] 129-129: wrong indentation: expected 6 but found 4

(indentation)


[error] 132-132: wrong indentation: expected 8 but found 6

(indentation)


[error] 148-148: wrong indentation: expected 8 but found 6

(indentation)


[error] 158-158: wrong indentation: expected 8 but found 6

(indentation)


[error] 178-178: wrong indentation: expected 4 but found 2

(indentation)


[error] 180-180: wrong indentation: expected 6 but found 4

(indentation)


[error] 194-194: wrong indentation: expected 6 but found 4

(indentation)


[error] 197-197: wrong indentation: expected 8 but found 6

(indentation)


[error] 213-213: wrong indentation: expected 8 but found 6

(indentation)


[error] 226-226: wrong indentation: expected 8 but found 6

(indentation)


[error] 248-248: wrong indentation: expected 4 but found 2

(indentation)


[error] 250-250: wrong indentation: expected 6 but found 4

(indentation)


[error] 264-264: wrong indentation: expected 6 but found 4

(indentation)


[error] 267-267: wrong indentation: expected 8 but found 6

(indentation)


[error] 283-283: wrong indentation: expected 8 but found 6

(indentation)


[error] 296-296: wrong indentation: expected 8 but found 6

(indentation)


[error] 307-307: wrong indentation: expected 4 but found 2

(indentation)


[error] 309-309: wrong indentation: expected 6 but found 4

(indentation)


[error] 323-323: wrong indentation: expected 6 but found 4

(indentation)


[error] 326-326: wrong indentation: expected 8 but found 6

(indentation)


[error] 342-342: wrong indentation: expected 8 but found 6

(indentation)


[error] 355-355: wrong indentation: expected 8 but found 6

(indentation)


[error] 363-363: wrong indentation: expected 8 but found 6

(indentation)


[error] 372-372: wrong indentation: expected 4 but found 2

(indentation)


[error] 374-374: wrong indentation: expected 6 but found 4

(indentation)


[error] 388-388: wrong indentation: expected 4 but found 2

(indentation)


[error] 390-390: wrong indentation: expected 6 but found 4

(indentation)


[error] 397-397: wrong indentation: expected 8 but found 6

(indentation)


[error] 410-410: wrong indentation: expected 6 but found 4

(indentation)


[error] 419-419: wrong indentation: expected 8 but found 6

(indentation)


[warning] 423-423: comment not indented like content

(comments-indentation)


[error] 431-431: wrong indentation: expected 4 but found 2

(indentation)


[error] 433-433: wrong indentation: expected 6 but found 4

(indentation)


[error] 446-446: wrong indentation: expected 4 but found 2

(indentation)


[error] 456-456: wrong indentation: expected 4 but found 2

(indentation)


[error] 466-466: wrong indentation: expected 4 but found 2

(indentation)


[error] 468-468: wrong indentation: expected 6 but found 4

(indentation)


[error] 474-474: wrong indentation: expected 8 but found 6

(indentation)


[error] 484-484: wrong indentation: expected 4 but found 2

(indentation)


[error] 486-486: wrong indentation: expected 6 but found 4

(indentation)


[error] 492-492: wrong indentation: expected 8 but found 6

(indentation)


406-422: 🧹 Nitpick (assertive)

Рекомендуется оптимизировать распределение вероятностей спавна мобов

В таблице SalvageMagnetMobTable есть потенциальное дублирование логики:

  • MobCarpSalvage появляется в нескольких местах с разными весами
  • Можно упростить конфигурацию, объединив схожие варианты спавна

Предлагаю следующую оптимизацию:

  table: !type:GroupSelector
    children:
-   - id: MobCarpSalvage
-     weight: 80
-   - id: MobCarpSalvage
-     weight: 15
-     amount: !type:RangeNumberSelector
-       range: 1, 3
+   - id: MobCarpSalvage
+     weight: 95
+     amount: !type:RangeNumberSelector
+       range: 1, 3
    - !type:AllSelector
      weight: 5

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 410-410: wrong indentation: expected 6 but found 4

(indentation)


[error] 419-419: wrong indentation: expected 8 but found 6

(indentation)


383-405: 🧹 Nitpick (assertive)

Рекомендуется добавить проверку безопасности для опасных канистр

В SalvageCanisterSpawner канистры с опасными газами (plasma, nitrous oxide) имеют меньший вес, но нет дополнительных проверок безопасности.

Рекомендуется:

  1. Добавить компонент безопасности для канистр с опасными газами
  2. Рассмотреть возможность спавна этих канистр только в определенных зонах
🧰 Tools
🪛 yamllint (1.35.1)

[error] 388-388: wrong indentation: expected 4 but found 2

(indentation)


[error] 390-390: wrong indentation: expected 6 but found 4

(indentation)


[error] 397-397: wrong indentation: expected 8 but found 6

(indentation)

Comment on lines +423 to +424
# - id: MobHivebot (solo hivebot spawn)

Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Необходимо уточнить статус функционала спавна hivebots

Закомментированная строка указывает на планируемый, но не реализованный функционал спавна одиночных hivebots.

Хотите, чтобы я помог с реализацией этого функционала или создал issue для отслеживания задачи?

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 423-423: comment not indented like content

(comments-indentation)

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: 4

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Reviewing files that changed from the base of the PR and between 1e0f2a4 and 2e7b3fe.

📒 Files selected for processing (6)
  • Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (6)
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

Никогда не предлагать ничего по отступам

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

🪛 yamllint (1.35.1)
Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 34-34: wrong indentation: expected 6 but found 4

(indentation)


[error] 45-45: wrong indentation: expected 4 but found 2

(indentation)


[error] 56-56: wrong indentation: expected 6 but found 4

(indentation)


[error] 64-64: wrong indentation: expected 6 but found 4

(indentation)


[error] 74-74: wrong indentation: expected 4 but found 2

(indentation)


[error] 86-86: wrong indentation: expected 6 but found 4

(indentation)


[error] 98-98: wrong indentation: expected 6 but found 4

(indentation)


[error] 107-107: wrong indentation: expected 4 but found 2

(indentation)


[error] 118-118: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 6 but found 4

(indentation)


[error] 193-193: wrong indentation: expected 4 but found 2

(indentation)


[error] 204-204: wrong indentation: expected 6 but found 4

(indentation)


[error] 211-211: wrong indentation: expected 6 but found 4

(indentation)


[error] 222-222: wrong indentation: expected 4 but found 2

(indentation)


[error] 234-234: wrong indentation: expected 6 but found 4

(indentation)


[error] 254-254: wrong indentation: expected 6 but found 4

(indentation)


[error] 265-265: wrong indentation: expected 4 but found 2

(indentation)


[error] 275-275: wrong indentation: expected 6 but found 4

(indentation)


[error] 291-291: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 24-24: wrong indentation: expected 6 but found 4

(indentation)


[error] 37-37: wrong indentation: expected 4 but found 2

(indentation)


[error] 48-48: wrong indentation: expected 6 but found 4

(indentation)


[error] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 82-82: wrong indentation: expected 4 but found 2

(indentation)


[error] 93-93: wrong indentation: expected 6 but found 4

(indentation)


[error] 110-110: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 151-151: wrong indentation: expected 4 but found 2

(indentation)


[error] 163-163: wrong indentation: expected 6 but found 4

(indentation)


[error] 172-172: wrong indentation: expected 6 but found 4

(indentation)


[error] 181-181: wrong indentation: expected 4 but found 2

(indentation)


[error] 192-192: wrong indentation: expected 6 but found 4

(indentation)


[error] 232-232: wrong indentation: expected 6 but found 4

(indentation)


[error] 242-242: wrong indentation: expected 4 but found 2

(indentation)


[error] 252-252: wrong indentation: expected 6 but found 4

(indentation)


[error] 267-267: wrong indentation: expected 4 but found 2

(indentation)


[error] 277-277: wrong indentation: expected 6 but found 4

(indentation)


[error] 292-292: wrong indentation: expected 4 but found 2

(indentation)


[error] 302-302: wrong indentation: expected 6 but found 4

(indentation)


[error] 306-306: wrong indentation: expected 6 but found 4

(indentation)


[error] 321-321: wrong indentation: expected 4 but found 2

(indentation)


[error] 332-332: wrong indentation: expected 6 but found 4

(indentation)


[warning] 343-343: missing starting space in comment

(comments)


[warning] 344-344: missing starting space in comment

(comments)


[warning] 345-345: missing starting space in comment

(comments)


[warning] 346-346: missing starting space in comment

(comments)


[warning] 347-347: missing starting space in comment

(comments)


[warning] 348-348: missing starting space in comment

(comments)


[error] 352-352: wrong indentation: expected 6 but found 4

(indentation)


[error] 363-363: wrong indentation: expected 4 but found 2

(indentation)


[error] 373-373: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml

[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 9-9: wrong indentation: expected at least 5

(indentation)


[error] 26-26: wrong indentation: expected at least 3

(indentation)


[error] 28-28: wrong indentation: expected at least 5

(indentation)


[error] 40-40: wrong indentation: expected at least 3

(indentation)


[error] 42-42: wrong indentation: expected at least 5

(indentation)


[error] 59-59: wrong indentation: expected at least 3

(indentation)


[error] 61-61: wrong indentation: expected at least 5

(indentation)


[error] 75-75: wrong indentation: expected at least 3

(indentation)


[error] 77-77: wrong indentation: expected at least 5

(indentation)


[error] 89-89: wrong indentation: expected at least 3

(indentation)


[error] 91-91: wrong indentation: expected at least 5

(indentation)


[error] 103-103: wrong indentation: expected at least 3

(indentation)


[error] 105-105: wrong indentation: expected at least 5

(indentation)


[error] 120-120: wrong indentation: expected at least 3

(indentation)


[error] 122-122: wrong indentation: expected at least 5

(indentation)


[error] 137-137: wrong indentation: expected at least 3

(indentation)


[error] 139-139: wrong indentation: expected at least 5

(indentation)


[error] 151-151: wrong indentation: expected at least 3

(indentation)


[error] 153-153: wrong indentation: expected at least 5

(indentation)


[error] 165-165: wrong indentation: expected at least 3

(indentation)


[error] 167-167: wrong indentation: expected at least 5

(indentation)


[error] 180-180: wrong indentation: expected at least 3

(indentation)


[error] 182-182: wrong indentation: expected at least 5

(indentation)


[error] 195-195: wrong indentation: expected at least 3

(indentation)


[warning] 197-197: comment not indented like content

(comments-indentation)


[error] 198-198: wrong indentation: expected at least 5

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml

[error] 6-6: wrong indentation: expected 6 but found 4

(indentation)


[error] 9-9: wrong indentation: expected 8 but found 6

(indentation)


[error] 30-30: wrong indentation: expected 8 but found 6

(indentation)


[error] 40-40: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 8 but found 6

(indentation)


[error] 60-60: wrong indentation: expected 8 but found 6

(indentation)


[error] 73-73: wrong indentation: expected 6 but found 4

(indentation)


[error] 76-76: wrong indentation: expected 8 but found 6

(indentation)


[error] 92-92: wrong indentation: expected 8 but found 6

(indentation)


[error] 102-102: wrong indentation: expected 8 but found 6

(indentation)


[error] 121-121: wrong indentation: expected 6 but found 4

(indentation)


[error] 124-124: wrong indentation: expected 8 but found 6

(indentation)


[error] 140-140: wrong indentation: expected 8 but found 6

(indentation)


[error] 153-153: wrong indentation: expected 8 but found 6

(indentation)


[error] 174-174: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 8 but found 6

(indentation)


[error] 193-193: wrong indentation: expected 8 but found 6

(indentation)


[error] 206-206: wrong indentation: expected 8 but found 6

(indentation)


[error] 216-216: wrong indentation: expected 6 but found 4

(indentation)


[error] 219-219: wrong indentation: expected 8 but found 6

(indentation)


[error] 235-235: wrong indentation: expected 8 but found 6

(indentation)


[error] 248-248: wrong indentation: expected 8 but found 6

(indentation)


[error] 256-256: wrong indentation: expected 8 but found 6

(indentation)


[error] 263-263: wrong indentation: expected 6 but found 4

(indentation)


[error] 272-272: wrong indentation: expected 8 but found 6

(indentation)


[warning] 276-276: comment not indented like content

(comments-indentation)


[error] 284-284: wrong indentation: expected 4 but found 2

(indentation)


[error] 286-286: wrong indentation: expected 6 but found 4

(indentation)


[error] 299-299: wrong indentation: expected 4 but found 2

(indentation)


[error] 309-309: wrong indentation: expected 4 but found 2

(indentation)


[error] 319-319: wrong indentation: expected 4 but found 2

(indentation)


[error] 321-321: wrong indentation: expected 6 but found 4

(indentation)


[error] 327-327: wrong indentation: expected 8 but found 6

(indentation)


[error] 337-337: wrong indentation: expected 4 but found 2

(indentation)


[error] 339-339: wrong indentation: expected 6 but found 4

(indentation)


[error] 345-345: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 33-33: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 4 but found 2

(indentation)


[error] 54-54: wrong indentation: expected 6 but found 4

(indentation)


[error] 77-77: wrong indentation: expected 6 but found 4

(indentation)


[error] 88-88: wrong indentation: expected 4 but found 2

(indentation)


[error] 99-99: wrong indentation: expected 6 but found 4

(indentation)


[error] 114-114: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 143-143: wrong indentation: expected 6 but found 4

(indentation)


[error] 154-154: wrong indentation: expected 4 but found 2

(indentation)


[error] 165-165: wrong indentation: expected 6 but found 4

(indentation)


[error] 170-170: wrong indentation: expected 6 but found 4

(indentation)


[error] 179-179: wrong indentation: expected 4 but found 2

(indentation)


[error] 190-190: wrong indentation: expected 6 but found 4

(indentation)


[error] 196-196: wrong indentation: expected 6 but found 4

(indentation)


[error] 207-207: wrong indentation: expected 4 but found 2

(indentation)


[error] 218-218: wrong indentation: expected 6 but found 4

(indentation)


[error] 223-223: wrong indentation: expected 6 but found 4

(indentation)


[error] 235-235: wrong indentation: expected 4 but found 2

(indentation)


[error] 246-246: wrong indentation: expected 6 but found 4

(indentation)


[error] 252-252: wrong indentation: expected 6 but found 4

(indentation)


[error] 262-262: wrong indentation: expected 4 but found 2

(indentation)


[error] 273-273: wrong indentation: expected 6 but found 4

(indentation)


[error] 289-289: wrong indentation: expected 6 but found 4

(indentation)


[error] 299-299: wrong indentation: expected 4 but found 2

(indentation)


[error] 310-310: wrong indentation: expected 6 but found 4

(indentation)


[error] 317-317: wrong indentation: expected 6 but found 4

(indentation)


[error] 328-328: wrong indentation: expected 4 but found 2

(indentation)


[error] 339-339: wrong indentation: expected 6 but found 4

(indentation)


[error] 344-344: wrong indentation: expected 6 but found 4

(indentation)


[error] 354-354: wrong indentation: expected 4 but found 2

(indentation)


[error] 366-366: wrong indentation: expected 6 but found 4

(indentation)


[error] 373-373: wrong indentation: expected 6 but found 4

(indentation)


[error] 384-384: wrong indentation: expected 4 but found 2

(indentation)


[error] 396-396: wrong indentation: expected 6 but found 4

(indentation)


[error] 403-403: wrong indentation: expected 6 but found 4

(indentation)


[error] 412-412: wrong indentation: expected 4 but found 2

(indentation)


[error] 423-423: wrong indentation: expected 6 but found 4

(indentation)


[error] 457-457: wrong indentation: expected 6 but found 4

(indentation)


[error] 496-496: wrong indentation: expected 4 but found 2

(indentation)


[error] 506-506: wrong indentation: expected 6 but found 4

(indentation)


[error] 511-511: wrong indentation: expected 6 but found 4

(indentation)


[error] 521-521: wrong indentation: expected 4 but found 2

(indentation)


[error] 531-531: wrong indentation: expected 6 but found 4

(indentation)


[error] 544-544: wrong indentation: expected 4 but found 2

(indentation)


[warning] 548-548: truthy value should be one of [false, true]

(truthy)


[error] 554-554: wrong indentation: expected 6 but found 4

(indentation)


[error] 560-560: wrong indentation: expected 6 but found 4

(indentation)


[error] 569-569: wrong indentation: expected 4 but found 2

(indentation)


[error] 581-581: wrong indentation: expected 6 but found 4

(indentation)


[error] 586-586: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml

[warning] 8-8: too few spaces before comment

(comments)


[error] 10-10: wrong indentation: expected 4 but found 2

(indentation)


[error] 20-20: wrong indentation: expected 4 but found 2

(indentation)


[error] 31-31: wrong indentation: expected 6 but found 4

(indentation)


[error] 49-49: wrong indentation: expected 6 but found 4

(indentation)


[error] 56-56: too many spaces inside brackets

(brackets)


[error] 56-56: too many spaces inside brackets

(brackets)


[error] 60-60: wrong indentation: expected 4 but found 2

(indentation)


[error] 71-71: wrong indentation: expected 6 but found 4

(indentation)


[error] 87-87: wrong indentation: expected 6 but found 4

(indentation)


[error] 100-100: wrong indentation: expected 4 but found 2

(indentation)


[error] 112-112: wrong indentation: expected 6 but found 4

(indentation)


[error] 133-133: wrong indentation: expected 6 but found 4

(indentation)


[error] 142-142: wrong indentation: expected 4 but found 2

(indentation)


[error] 154-154: wrong indentation: expected 6 but found 4

(indentation)


[error] 181-181: wrong indentation: expected 6 but found 4

(indentation)


[error] 194-194: wrong indentation: expected 4 but found 2

(indentation)


[error] 206-206: wrong indentation: expected 6 but found 4

(indentation)


[error] 213-213: wrong indentation: expected 6 but found 4

(indentation)


[error] 228-228: wrong indentation: expected 4 but found 2

(indentation)


[error] 240-240: wrong indentation: expected 6 but found 4

(indentation)


[error] 251-251: wrong indentation: expected 6 but found 4

(indentation)


[error] 260-260: wrong indentation: expected 4 but found 2

(indentation)


[error] 271-271: wrong indentation: expected 6 but found 4

(indentation)


[error] 291-291: wrong indentation: expected 6 but found 4

(indentation)


[error] 300-300: wrong indentation: expected 4 but found 2

(indentation)


[error] 311-311: wrong indentation: expected 6 but found 4

(indentation)


[error] 331-331: wrong indentation: expected 6 but found 4

(indentation)


[error] 342-342: wrong indentation: expected 4 but found 2

(indentation)


[error] 352-352: wrong indentation: expected 6 but found 4

(indentation)


[error] 370-370: wrong indentation: expected 6 but found 4

(indentation)


[warning] 376-376: too few spaces before comment

(comments)


[error] 381-381: wrong indentation: expected 4 but found 2

(indentation)


[warning] 385-385: truthy value should be one of [false, true]

(truthy)


[error] 391-391: wrong indentation: expected 6 but found 4

(indentation)


[warning] 414-414: missing starting space in comment

(comments)


[warning] 415-415: missing starting space in comment

(comments)


[warning] 416-416: missing starting space in comment

(comments)


[warning] 417-417: missing starting space in comment

(comments)


[warning] 418-418: missing starting space in comment

(comments)


[warning] 419-419: missing starting space in comment

(comments)


[warning] 420-420: missing starting space in comment

(comments)


[warning] 421-421: missing starting space in comment

(comments)


[warning] 422-422: missing starting space in comment

(comments)


[error] 432-432: wrong indentation: expected 4 but found 2

(indentation)


[warning] 436-436: truthy value should be one of [false, true]

(truthy)


[error] 442-442: wrong indentation: expected 6 but found 4

(indentation)


[error] 464-464: wrong indentation: expected 6 but found 4

(indentation)


[error] 474-474: wrong indentation: expected 4 but found 2

(indentation)


[warning] 478-478: truthy value should be one of [false, true]

(truthy)


[error] 484-484: wrong indentation: expected 6 but found 4

(indentation)


[error] 492-492: wrong indentation: expected 6 but found 4

(indentation)


[error] 505-505: too many spaces inside brackets

(brackets)


[error] 505-505: too many spaces inside brackets

(brackets)


[error] 507-507: wrong indentation: expected 4 but found 2

(indentation)


[warning] 511-511: truthy value should be one of [false, true]

(truthy)


[error] 517-517: wrong indentation: expected 6 but found 4

(indentation)


[error] 530-530: wrong indentation: expected 4 but found 2

(indentation)


[error] 542-542: wrong indentation: expected 6 but found 4

(indentation)


[error] 603-603: wrong indentation: expected 6 but found 4

(indentation)


[warning] 604-604: comment not indented like content

(comments-indentation)


[warning] 606-606: comment not indented like content

(comments-indentation)


[error] 617-617: wrong indentation: expected 4 but found 2

(indentation)


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

(indentation)


[error] 637-637: wrong indentation: expected 6 but found 4

(indentation)


[error] 649-649: wrong indentation: expected 4 but found 2

(indentation)


[error] 659-659: wrong indentation: expected 6 but found 4

(indentation)


[error] 673-673: wrong indentation: expected 6 but found 4

(indentation)


[error] 688-688: wrong indentation: expected 4 but found 2

(indentation)


[error] 698-698: wrong indentation: expected 6 but found 4

(indentation)


[error] 707-707: wrong indentation: expected 6 but found 4

(indentation)


[error] 716-716: wrong indentation: expected 4 but found 2

(indentation)


[error] 726-726: wrong indentation: expected 6 but found 4

(indentation)


[error] 745-745: wrong indentation: expected 6 but found 4

(indentation)


[error] 755-755: wrong indentation: expected 4 but found 2

(indentation)


[error] 765-765: wrong indentation: expected 6 but found 4

(indentation)


[error] 775-775: wrong indentation: expected 6 but found 4

(indentation)


[error] 786-786: wrong indentation: expected 4 but found 2

(indentation)


[error] 797-797: wrong indentation: expected 6 but found 4

(indentation)


[error] 807-807: wrong indentation: expected 6 but found 4

(indentation)


[error] 816-816: wrong indentation: expected 4 but found 2

(indentation)


[error] 827-827: wrong indentation: expected 6 but found 4

(indentation)


[error] 837-837: wrong indentation: expected 6 but found 4

(indentation)


[error] 846-846: wrong indentation: expected 4 but found 2

(indentation)


[error] 856-856: wrong indentation: expected 6 but found 4

(indentation)


[error] 868-868: wrong indentation: expected 6 but found 4

(indentation)


[warning] 869-869: comment not indented like content

(comments-indentation)


[error] 881-881: wrong indentation: expected 4 but found 2

(indentation)


[error] 891-891: wrong indentation: expected 6 but found 4

(indentation)


[warning] 895-895: too few spaces before comment

(comments)


[error] 896-896: wrong indentation: expected 6 but found 4

(indentation)


[error] 908-908: wrong indentation: expected 4 but found 2

(indentation)


[error] 918-918: wrong indentation: expected 6 but found 4

(indentation)


[error] 934-934: wrong indentation: expected 6 but found 4

(indentation)


[error] 943-943: wrong indentation: expected 4 but found 2

(indentation)


[error] 958-958: wrong indentation: expected 6 but found 4

(indentation)

🔇 Additional comments (23)
Resources/Prototypes/_LostParadise/Catalog/Fills/Crates/expeditions_loot.yml (3)

1-130: Логическая структура медицинских ящиков корректна

Содержимое каждого ящика соответствует его назначению и правильно сгруппировано. Все идентификаторы предметов корректны.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 7-7: wrong indentation: expected at least 3

(indentation)


[error] 9-9: wrong indentation: expected at least 5

(indentation)


[error] 26-26: wrong indentation: expected at least 3

(indentation)


[error] 28-28: wrong indentation: expected at least 5

(indentation)


[error] 40-40: wrong indentation: expected at least 3

(indentation)


[error] 42-42: wrong indentation: expected at least 5

(indentation)


[error] 59-59: wrong indentation: expected at least 3

(indentation)


[error] 61-61: wrong indentation: expected at least 5

(indentation)


[error] 75-75: wrong indentation: expected at least 3

(indentation)


[error] 77-77: wrong indentation: expected at least 5

(indentation)


[error] 89-89: wrong indentation: expected at least 3

(indentation)


[error] 91-91: wrong indentation: expected at least 5

(indentation)


[error] 103-103: wrong indentation: expected at least 3

(indentation)


[error] 105-105: wrong indentation: expected at least 5

(indentation)


[error] 120-120: wrong indentation: expected at least 3

(indentation)


[error] 122-122: wrong indentation: expected at least 5

(indentation)


131-144: Комплектация CMO набора соответствует требованиям

Набор содержит все необходимые компоненты для внекорабельной активности медицинского офицера.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 137-137: wrong indentation: expected at least 3

(indentation)


[error] 139-139: wrong indentation: expected at least 5

(indentation)


197-209: Вероятностное распределение RTG генераторов корректно

Расчет ожидаемого значения верен:

  • 2 RTG с вероятностью 0.4 (EV = 0.8)
  • 3 RTG с вероятностью 0.4 (EV = 1.2)
  • 4 RTG с вероятностью 0.2 (EV = 0.8)
    Общее ожидаемое значение: 2.8

Вероятности в сумме дают 1.0, что корректно.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 197-197: comment not indented like content

(comments-indentation)


[error] 198-198: wrong indentation: expected at least 5

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_kitchen.yml (4)

374-374: 🧹 Nitpick (assertive)

Закомментированный прототип ServiceTechFabFlatpack

В списке прототипов для SpawnDungeonLootFlatpacksService обнаружен закомментированный прототип без объяснения причины.

-    # - ServiceTechFabFlatpack

Likely invalid or redundant comment.


166-168: ⚠️ Potential issue

Обнаружено дублирование прототипа LockerFreezerBase

Прототип LockerFreezerBase повторяется три раза в списке prototypes. Это может привести к непропорциональному увеличению шанса его появления.

  prototypes:
    - FoodCartCold
    - FoodCartHot
    - CrateFreezer
    - LockerFreezerBase
-   - LockerFreezerBase
-   - LockerFreezerBase

Likely invalid or redundant comment.


343-348: 🧹 Nitpick (assertive)

Закомментированные прототипы в секции еды

В секции спавнера еды обнаружены закомментированные прототипы. Если они больше не используются, их следует удалить. Если они планируются к использованию в будущем, добавьте TODO комментарий с объяснением.

-    #- DonkpocketBoxSpawner
-    #- RandomFoodBakedSingle
-    #- RandomFoodBakedWhole
-    #- RandomFoodMeal
-    #- RandomFoodSingle
-    #- RandomSnacks

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 343-343: missing starting space in comment

(comments)


[warning] 344-344: missing starting space in comment

(comments)


[warning] 345-345: missing starting space in comment

(comments)


[warning] 346-346: missing starting space in comment

(comments)


[warning] 347-347: missing starting space in comment

(comments)


[warning] 348-348: missing starting space in comment

(comments)


1-387: ⚠️ Potential issue

Проблемы с отступами во всем файле

В файле обнаружены многочисленные проблемы с отступами. Рекомендуется использовать последовательные отступы в 2 пробела для всех уровней вложенности YAML.

Пример правильного форматирования:

- components:
- - type: Sprite
-   layers:
+ components:
+   - type: Sprite
+     layers:

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 19-19: wrong indentation: expected 6 but found 4

(indentation)


[error] 24-24: wrong indentation: expected 6 but found 4

(indentation)


[error] 37-37: wrong indentation: expected 4 but found 2

(indentation)


[error] 48-48: wrong indentation: expected 6 but found 4

(indentation)


[error] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 82-82: wrong indentation: expected 4 but found 2

(indentation)


[error] 93-93: wrong indentation: expected 6 but found 4

(indentation)


[error] 110-110: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 151-151: wrong indentation: expected 4 but found 2

(indentation)


[error] 163-163: wrong indentation: expected 6 but found 4

(indentation)


[error] 172-172: wrong indentation: expected 6 but found 4

(indentation)


[error] 181-181: wrong indentation: expected 4 but found 2

(indentation)


[error] 192-192: wrong indentation: expected 6 but found 4

(indentation)


[error] 232-232: wrong indentation: expected 6 but found 4

(indentation)


[error] 242-242: wrong indentation: expected 4 but found 2

(indentation)


[error] 252-252: wrong indentation: expected 6 but found 4

(indentation)


[error] 267-267: wrong indentation: expected 4 but found 2

(indentation)


[error] 277-277: wrong indentation: expected 6 but found 4

(indentation)


[error] 292-292: wrong indentation: expected 4 but found 2

(indentation)


[error] 302-302: wrong indentation: expected 6 but found 4

(indentation)


[error] 306-306: wrong indentation: expected 6 but found 4

(indentation)


[error] 321-321: wrong indentation: expected 4 but found 2

(indentation)


[error] 332-332: wrong indentation: expected 6 but found 4

(indentation)


[warning] 343-343: missing starting space in comment

(comments)


[warning] 344-344: missing starting space in comment

(comments)


[warning] 345-345: missing starting space in comment

(comments)


[warning] 346-346: missing starting space in comment

(comments)


[warning] 347-347: missing starting space in comment

(comments)


[warning] 348-348: missing starting space in comment

(comments)


[error] 352-352: wrong indentation: expected 6 but found 4

(indentation)


[error] 363-363: wrong indentation: expected 4 but found 2

(indentation)


[error] 373-373: wrong indentation: expected 6 but found 4

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/spawners.yml (4)

1-67: Реализация корректна!

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

🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: wrong indentation: expected 6 but found 4

(indentation)


[error] 9-9: wrong indentation: expected 8 but found 6

(indentation)


[error] 30-30: wrong indentation: expected 8 but found 6

(indentation)


[error] 40-40: wrong indentation: expected 6 but found 4

(indentation)


[error] 43-43: wrong indentation: expected 8 but found 6

(indentation)


[error] 60-60: wrong indentation: expected 8 but found 6

(indentation)


146-148: Исправьте дублирование ссылки на таблицу

Таблица SalvageEquipmentUncommon указана дважды с разными весами. Вероятно, вторая ссылка должна указывать на SalvageEquipmentRare.


276-277: Необходимо уточнить статус функционала спавна hivebots

Закомментированная строка указывает на планируемый, но не реализованный функционал спавна одиночных hivebots.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 276-276: comment not indented like content

(comments-indentation)


278-348: Реализация спавнеров мобов выглядит корректно!

Система вероятностного спавна с различными процентными шансами (50%, 75%, 100%) хорошо продумана и реализована.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 284-284: wrong indentation: expected 4 but found 2

(indentation)


[error] 286-286: wrong indentation: expected 6 but found 4

(indentation)


[error] 299-299: wrong indentation: expected 4 but found 2

(indentation)


[error] 309-309: wrong indentation: expected 4 but found 2

(indentation)


[error] 319-319: wrong indentation: expected 4 but found 2

(indentation)


[error] 321-321: wrong indentation: expected 6 but found 4

(indentation)


[error] 327-327: wrong indentation: expected 8 but found 6

(indentation)


[error] 337-337: wrong indentation: expected 4 but found 2

(indentation)


[error] 339-339: wrong indentation: expected 6 but found 4

(indentation)


[error] 345-345: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml (2)

81-200: ⚠️ Potential issue

Критические проблемы баланса в военном снаряжении!

Обнаружены серьезные проблемы:

  1. Слишком много мощного военного снаряжения в одном месте
  2. Высокие шансы появления взрывчатки (0.8)
  3. Доступность продвинутой брони и оружия может нарушить баланс игры

Необходимо:

  1. Значительно снизить шансы появления мощного оружия
  2. Ограничить доступность взрывчатки
  3. Добавить больше базового снаряжения
🧰 Tools
🪛 yamllint (1.35.1)

[error] 88-88: wrong indentation: expected 4 but found 2

(indentation)


[error] 99-99: wrong indentation: expected 6 but found 4

(indentation)


[error] 114-114: wrong indentation: expected 6 but found 4

(indentation)


[error] 125-125: wrong indentation: expected 4 but found 2

(indentation)


[error] 136-136: wrong indentation: expected 6 but found 4

(indentation)


[error] 143-143: wrong indentation: expected 6 but found 4

(indentation)


[error] 154-154: wrong indentation: expected 4 but found 2

(indentation)


[error] 165-165: wrong indentation: expected 6 but found 4

(indentation)


[error] 170-170: wrong indentation: expected 6 but found 4

(indentation)


[error] 179-179: wrong indentation: expected 4 but found 2

(indentation)


[error] 190-190: wrong indentation: expected 6 but found 4

(indentation)


[error] 196-196: wrong indentation: expected 6 but found 4

(indentation)


259-264: ⚠️ Potential issue

Множественные проблемы в конфигурации брони

  1. Опечатка в суффиксе:
-  suffix: "Dungeon, Sciense"
+  suffix: "Dungeon, Science"
  1. Рекомендуется снизить шансы появления мощной брони и добавить больше базовой экипировки.

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 262-262: wrong indentation: expected 4 but found 2

(indentation)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_general.yml (2)

13-51: 🧹 Nitpick (assertive)

Оптимизация спавна канцелярских принадлежностей

Текущая реализация включает отдельный спавнер для ручек (SpawnDungeonLootBureaucracyPen), что усложняет поддержку. Рекомендуется объединить логику спавна ручек с основным спавнером канцелярии.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 20-20: wrong indentation: expected 4 but found 2

(indentation)


[error] 31-31: wrong indentation: expected 6 but found 4

(indentation)


[error] 49-49: wrong indentation: expected 6 but found 4

(indentation)


414-422: ⚠️ Potential issue

Требуется перевод комментариев

Комментарии к отключенным вендинг машинам должны быть на английском языке согласно требованиям:

-#- VendingMachineChang # No food vendomats in expeds - buy from food ships or die
+# - VendingMachineChang # Food vending machines are disabled in expeditions - supplies must be purchased from food ships
🧰 Tools
🪛 yamllint (1.35.1)

[warning] 414-414: missing starting space in comment

(comments)


[warning] 415-415: missing starting space in comment

(comments)


[warning] 416-416: missing starting space in comment

(comments)


[warning] 417-417: missing starting space in comment

(comments)


[warning] 418-418: missing starting space in comment

(comments)


[warning] 419-419: missing starting space in comment

(comments)


[warning] 420-420: missing starting space in comment

(comments)


[warning] 421-421: missing starting space in comment

(comments)


[warning] 422-422: missing starting space in comment

(comments)

Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/dungeon_items_research.yml (8)

1-37: Корректная реализация спавнера научного хлама!

Сбалансированное распределение между обычными (100%) и редкими (5%) предметами. Все прототипы соответствуют научной тематике.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: wrong indentation: expected at least 3

(indentation)


[error] 20-20: wrong indentation: expected 6 but found 4

(indentation)


[error] 34-34: wrong indentation: expected 6 but found 4

(indentation)


38-66: Корректная реализация спавнера научной одежды!

Хорошо подобранный набор научной униформы с редким шансом (1%) на появление скафандра НД.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 45-45: wrong indentation: expected 4 but found 2

(indentation)


[error] 56-56: wrong indentation: expected 6 but found 4

(indentation)


[error] 64-64: wrong indentation: expected 6 but found 4

(indentation)


67-100: Корректная реализация спавнера научной мебели!

Хороший баланс между обычными и защищёнными шкафчиками. Включение научного оборудования и контейнеров для артефактов добавляет разнообразие.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 74-74: wrong indentation: expected 4 but found 2

(indentation)


[error] 86-86: wrong indentation: expected 6 but found 4

(indentation)


[error] 98-98: wrong indentation: expected 6 but found 4

(indentation)


101-185: Отличная реализация спавнера ящиков!

Впечатляющий список возможных ящиков с хорошей организацией по категориям (пустые, материалы, заполненные). Сбалансированные шансы появления.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 107-107: wrong indentation: expected 4 but found 2

(indentation)


[error] 118-118: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 6 but found 4

(indentation)


186-215: Корректная реализация спавнера исследовательских дисков!

Хороший баланс между обычными исследовательскими дисками и редкими ценными дисками.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 193-193: wrong indentation: expected 4 but found 2

(indentation)


[error] 204-204: wrong indentation: expected 6 but found 4

(indentation)


[error] 211-211: wrong indentation: expected 6 but found 4

(indentation)


220-220: ⚠️ Potential issue

Исправьте опечатку в суффиксе!

Обнаружена опечатка в строке suffix: написано "Sciense" вместо "Science".

-  suffix: "Dungeon, Sciense"
+  suffix: "Dungeon, Science"

Likely invalid or redundant comment.


263-263: ⚠️ Potential issue

Исправьте опечатку в суффиксе!

Та же опечатка в строке suffix: написано "Sciense" вместо "Science".

-  suffix: "Dungeon, Sciense"
+  suffix: "Dungeon, Science"

Likely invalid or redundant comment.


281-281: Проверьте закомментированный прототип

Закомментированный прототип ScienceTechFabFlatpack может требовать внимания. Нужно ли его включить или удалить?

✅ Verification successful

Прототип закомментирован намеренно

Прототип ScienceTechFabFlatpack существует в файле flatpacks.yml и представляет собой корректно определенный flatpack для создания научного техфаба. Его отключение в списке спавна dungeon_items_research.yml является преднамеренным балансным решением, поэтому текущее состояние корректно.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the commented prototype exists in the codebase
rg "ScienceTechFabFlatpack" --type yaml

Length of output: 270


Script:

#!/bin/bash
# Check the full context of the flatpack prototype definition
rg "ScienceTechFabFlatpack" -A 10 -B 2 Resources/Prototypes/_LostParadise/Entities/Objects/Devices/flatpacks.yml

Length of output: 491

amount: 3
- id: VendingMachineNutriFlatpack
- id: VendingMachineSeedsUnlockedFlatpack
# - id: ServiceTechFabFlatpack
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Необходимо принять решение по закомментированной строке

Строка # - id: ServiceTechFabFlatpack должна быть либо раскомментирована, если компонент необходим, либо удалена, если он не используется.

Comment on lines +228 to +234
- CrateServiceKitCleanades
chance: 0.9
offset: 0.0
rarePrototypes:
- CrateServiceKitKitchen
- CrateServiceKitHydroponics
rareChance: 0.005
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Слишком низкий шанс появления редких предметов

Шанс появления редких предметов (rareChance: 0.005) в SpawnDungeonLootCrateService кажется чрезмерно низким. Это означает, что игроки практически никогда не увидят CrateServiceKitKitchen и CrateServiceKitHydroponics.

Рекомендуется увеличить значение rareChance до более разумного уровня, например 0.05 (5%).

🧰 Tools
🪛 yamllint (1.35.1)

[error] 232-232: wrong indentation: expected 6 but found 4

(indentation)

Comment on lines +306 to +312
- KitchenElectricGrill
- KitchenReagentGrinder
- VendingMachineCondiments
- BoozeDispenserEmpty
- SodaDispenserEmpty
- SpawnDungeonLootFlatpacksService
rareChance: 0.40
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Высокий шанс появления редких предметов для кухонного оборудования

Значение rareChance: 0.40 для SpawnDungeonLootKitchenTabletop кажется слишком высоким для редких предметов. Это может нарушить баланс игры, так как "редкие" предметы будут появляться почти так же часто, как обычные.

Рекомендуется уменьшить значение rareChance до более подходящего уровня, например 0.15-0.20.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 306-306: wrong indentation: expected 6 but found 4

(indentation)

Comment on lines +169 to +258
- type: entity
id: SalvageEquipmentSpawnerCommon
table: !type:GroupSelector
children:
# 90% chance of equipment item
- !type:GroupSelector
weight: 90
children:
- !type:NestedSelector
tableId: SalvageEquipmentCommon
weight: 50
- !type:NestedSelector
tableId: SalvageEquipmentUncommon
weight: 35
- !type:NestedSelector
tableId: SalvageEquipmentRare
weight: 14
- !type:NestedSelector
tableId: SalvageEquipmentLegendary
weight: 1
# 5% chance of decent-ish treasure
- !type:GroupSelector
weight: 5
children:
- !type:NestedSelector
tableId: SalvageTreasureCommon
weight: 75
- !type:NestedSelector
tableId: SalvageTreasureUncommon
weight: 20
- !type:NestedSelector
tableId: SalvageTreasureRare
weight: 5
# 5% chance of decent maintenance loot
- !type:GroupSelector
weight: 5
children:
- !type:NestedSelector
tableId: MaintToolsTable
- !type:NestedSelector
tableId: MaintFluffTable

- type: entity
id: SalvageEquipmentSpawnerValuable
table: !type:GroupSelector
children:
# 90% chance of equipment item
- !type:GroupSelector
weight: 90
children:
- !type:NestedSelector
tableId: SalvageEquipmentCommon
weight: 15
- !type:NestedSelector
tableId: SalvageEquipmentUncommon
weight: 40
- !type:NestedSelector
tableId: SalvageEquipmentRare
weight: 35
- !type:NestedSelector
tableId: SalvageEquipmentLegendary
weight: 10
# 5% chance of decent-ish treasure
- !type:GroupSelector
weight: 5
children:
- !type:NestedSelector
tableId: SalvageTreasureCommon
weight: 60
- !type:NestedSelector
tableId: SalvageTreasureUncommon
weight: 30
- !type:NestedSelector
tableId: SalvageTreasureRare
weight: 10
# 4% chance of decent maintenance loot
- !type:GroupSelector
weight: 4
children:
- !type:NestedSelector
tableId: MaintToolsTable
- !type:NestedSelector
tableId: MaintFluffTable
# 1% chance of syndie maintenance loot
- !type:GroupSelector
weight: 1
children:
- !type:NestedSelector
tableId: SyndieMaintLoot

Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Отсутствуют определения таблиц лута

В результате проверки кодовой базы обнаружено, что следующие таблицы лута, на которые есть ссылки в spawners.yml, не определены в системе:

  • SalvageEquipmentCommon
  • SalvageEquipmentUncommon
  • SalvageEquipmentRare
  • SalvageEquipmentLegendary
  • SalvageTreasureCommon
  • SalvageTreasureUncommon
  • SalvageTreasureRare
  • MaintToolsTable
  • MaintFluffTable
  • SyndieMaintLoot

Необходимо создать определения для всех этих таблиц лута, иначе спавнеры не будут работать корректно.

🔗 Analysis chain

Проверьте существование всех таблиц лута

Необходимо убедиться, что все referenced таблицы (SalvageEquipmentCommon, SalvageEquipmentUncommon, SalvageEquipmentRare, SalvageEquipmentLegendary, SyndieMaintLoot) определены в системе.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all referenced loot tables exist in the codebase

echo "Searching for loot table definitions..."
rg -l "SalvageEquipment(Common|Uncommon|Rare|Legendary)" --type yaml
rg -l "SyndieMaintLoot" --type yaml

Length of output: 373


Script:

#!/bin/bash
# Let's search for the actual table definitions, not just references
echo "Searching for SalvageEquipment table definitions..."
rg "^- type: table\s+id: SalvageEquipment(Common|Uncommon|Rare|Legendary)" --type yaml -A 2

echo -e "\nSearching for SyndieMaintLoot table definition..."
rg "^- type: table\s+id: SyndieMaintLoot" --type yaml -A 2

echo -e "\nSearching for other referenced tables..."
rg "^- type: table\s+id: (SalvageTreasure|MaintTools|MaintFluff)" --type yaml -A 2

Length of output: 564


Script:

#!/bin/bash
# Let's try a broader search to find table definitions in any yaml files
echo "Searching for table definitions in all yaml files..."
fd -e yml -e yaml -x cat {} | rg -A 5 "^- type: table\s+id: (SalvageEquipment|SalvageTreasure|MaintTools|MaintFluff|SyndieMaintLoot)"

echo -e "\nListing all yaml files in Salvage directory..."
fd -e yml -e yaml . Resources/Prototypes/_LostParadise/Entities/Markers/Spawners/Random/Salvage/

Length of output: 549

🧰 Tools
🪛 yamllint (1.35.1)

[error] 174-174: wrong indentation: expected 6 but found 4

(indentation)


[error] 177-177: wrong indentation: expected 8 but found 6

(indentation)


[error] 193-193: wrong indentation: expected 8 but found 6

(indentation)


[error] 206-206: wrong indentation: expected 8 but found 6

(indentation)


[error] 216-216: wrong indentation: expected 6 but found 4

(indentation)


[error] 219-219: wrong indentation: expected 8 but found 6

(indentation)


[error] 235-235: wrong indentation: expected 8 but found 6

(indentation)


[error] 248-248: wrong indentation: expected 8 but found 6

(indentation)


[error] 256-256: wrong indentation: expected 8 but found 6

(indentation)

Copy link
Contributor

В этом ПР'е есть конфликты, пожалуйста, устраните их, прежде чем мы сможем оценить ваш ПР.

@github-actions github-actions bot added the Статус: Конфликт Ожидает починки. label Dec 21, 2024
@github-actions github-actions bot removed the Статус: Конфликт Ожидает починки. label Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Изменения: C# Изменяет какие-либо файлы .cs Изменения: YML Изменяет какие-либо файлы .yml Изменения: Звуки Изменяет какие-либо файлы .ogg Изменения: Интерфейс Изменяет какие-либо файлы .xaml Изменения: Карта Изменяет какие-либо файлы карт Изменения: Локализация Изменяет какие-либо файлы .ftl Изменения: Спрайт Изменяет какие-либо файлы .json/.png в текстурах Приоритет: 1-Максимальный РЕШИТЬ НЕМЕДЛЕННО! Размер: 1-Огромный Для очень больших ПР'ов/баг репортов СВЯТЫЕ УГОДНИКИ Для чего-то очень крутого или супер глобального или базы данных... Статус: Не мержить НЕ МЕРЖИТЬ! Тип: Баланс Балансные правки Тип: Изменение Создание или внесение существенных изменений в код
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants