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

[PORT] More Furniture #590

Merged
merged 3 commits into from
Nov 14, 2024
Merged

[PORT] More Furniture #590

merged 3 commits into from
Nov 14, 2024

Conversation

CrimeMoot
Copy link
Collaborator

@CrimeMoot CrimeMoot commented Nov 14, 2024

Описание PR

Новая мебель: AdventureTimeSS14/space_station_ADT#485
Шезлонг и ДЕРЕВО: AdventureTimeSS14/space_station_ADT#481
Горе мапперам теперь есть что ставить.

2024-11-14_05-16-07
2024-11-14_05-16-44

🆑 @PyotrIgn, @Filokini

  • add: Новая мебель и системы крафта

Summary by CodeRabbit

Примечания к выпуску

  • Новые функции

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

    • Обновлены метаданные для текстур, включая размеры и лицензии для новых объектов мебели и декора.

Copy link

coderabbitai bot commented Nov 14, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

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

Changes

Файл Изменения
Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Decoration/flora.ftl Добавлены записи: ent-FloraPalmTree1 (короткая пальма) и ent-FloraPalmTree2 (пальма) с описанием.
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/beds.ftl Добавлена запись: ent-ADTDeckChair (деревянный шезлонг) с описанием.
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/benchs.ftl Добавлены записи для скамейки церкви: ent-ADTBenchChurchLeftSide, ent-ADTBenchChurchMiddle, ent-ADTBenchChurchRightSide.
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/chairs.ftl Добавлены записи для различных стульев и кресел, включая ent-ADTChairPizzeria, ent-ADTChairRed, ent-ADTChairWhite, и другие.
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/misc.ftl Добавлена запись: ent-ADTDiscoBall (диско-шар) с описанием.
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/sofas.ftl Добавлены записи для различных диванов, включая черные, красные, белые и другие.
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/tables.ftl Добавлены записи для различных столов, включая ent-ADTTableFrame, ent-ADTTableRed, и другие.
Resources/Prototypes/ADT/Entities/Objects/Decoration/flora.yml Добавлены сущности: FloraPalmTree1 и FloraPalmTree2.
Resources/Prototypes/ADT/Entities/Structures/Furniture/beds.yml Добавлена сущность: ADTDeckChair.
Resources/Prototypes/ADT/Entities/Structures/Furniture/benchs.yml Добавлены сущности для скамейки церкви.
Resources/Prototypes/ADT/Entities/Structures/Furniture/chairs.yml Добавлены сущности для различных стульев и кресел.
Resources/Prototypes/ADT/Entities/Structures/Furniture/misc.yml Добавлена сущность: ADTDiscoBall.
Resources/Prototypes/ADT/Entities/Structures/Furniture/sofas.yml Добавлены сущности для различных диванов.
Resources/Prototypes/ADT/Entities/Structures/Furniture/tables.yml Добавлены сущности для различных столов.
Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/discoball.yml Добавлен граф для конструкции ADTDiscoBall.
Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/beds.yml Добавлен граф для конструкции adt_deckchair.
Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/seats.yml Добавлен граф для конструкции стульев и кресел.
Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/tables.yml Добавлен граф для конструкции столов.
Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/bonfire.yml Добавлен граф для конструкции ADTBonfire.
Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml Добавлен граф для конструкции ADTFireplace.
Resources/Prototypes/ADT/Recipes/Construction/furniture.yml Добавлены рецепты для различных предметов мебели.
Resources/Prototypes/Entities/Structures/Decoration/bonfire.yml Добавлен компонент Construction для сущности Bonfire.
Resources/Prototypes/Entities/Structures/Decoration/fireplace.yml Добавлен компонент Construction для сущности Fireplace.
Resources/Textures/... Добавлены метаданные для различных текстур, включая диваны, стулья и столы.

Possibly related PRs

  • [PORT] disco floor #582: Основной PR вводит новые записи для пальм в локализации, в то время как связанный PR добавляет функцию диско-пола, оба улучшая ресурсы локализации для русского языка.

В лесу, где пальмы растут,
Новый шезлонг под солнцем ждет.
Стулья, диваны — всё в порядке,
Диско-шар светит в яркой загадке.
Мебель для всех, уют и стиль,
В нашем мире — это не просто мил! 🐇✨


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 resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

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

CodeRabbit Configuration File (.coderabbit.yaml)

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

Documentation and Community

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

Copy link

RSI Diff Bot; head commit 9bc4811 merging into ca20923
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi

State Old New Status
palm1 Added
palm2 Added

Resources/Textures/ADT/Structures/Decoration/discoball.rsi

State Old New Status
discoball Added

Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi

State Old New Status
black_armchair Added
blue_armchair Added
blue_armchair_02 Added
brown_armchair Added
brown_armchair_02 Added
white_armchair Added
white_armchair_02 Added

Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsyuna.rsi

State Old New Status
brown_armchair Added
red_armchair Added
violet_armchair Added

Resources/Textures/ADT/Structures/Furniture/Chairs/chairs.rsi

State Old New Status
pizza_chair Added
red_chair Added
white_chair Added

Resources/Textures/ADT/Structures/Furniture/Chairs/oktoberfest_chair.rsi

State Old New Status
oct_chair_orange Added

Resources/Textures/ADT/Structures/Furniture/Sofas/black_sofa.rsi

State Old New Status
sofa_left Added
sofa_middle Added
sofa_right Added

Resources/Textures/ADT/Structures/Furniture/Sofas/leather_sofa.rsi

State Old New Status
sofa_left Added
sofa_middle Added
sofa_right Added

Resources/Textures/ADT/Structures/Furniture/Sofas/red_sofa.rsi

State Old New Status
sofa_left Added
sofa_middle Added
sofa_right Added

Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi

State Old New Status
bluesofa_left Added
bluesofa_left_02 Added
bluesofa_leftcorner Added
bluesofa_middle Added
bluesofa_right Added
bluesofa_right_02 Added
bluesofa_rightcorner Added

Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi

State Old New Status
brownsofa_left Added
brownsofa_left_02 Added
brownsofa_leftcorner Added
brownsofa_middle Added
brownsofa_right Added
brownsofa_right_02 Added
brownsofa_rightcorner Added

Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi

State Old New Status
whitesofa_left Added
whitesofa_left_02 Added
whitesofa_leftcorner Added
whitesofa_middle Added
whitesofa_right Added
whitesofa_right_02 Added
whitesofa_rightcorner Added

Resources/Textures/ADT/Structures/Furniture/Sofas/violet_sofa.rsi

State Old New Status
sofa_left Added
sofa_middle Added
sofa_right Added

Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi

State Old New Status
full Added
state_0 Added
state_1 Added
state_2 Added
state_3 Added
state_4 Added
state_5 Added
state_6 Added
state_7 Added

Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi

State Old New Status
full Added
state_0 Added
state_1 Added
state_2 Added
state_3 Added
state_4 Added
state_5 Added
state_6 Added
state_7 Added

Resources/Textures/ADT/Structures/Furniture/Tables/roundtable.rsi

State Old New Status
round_glass Added
round_plastic Added
round_wood Added

Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi

State Old New Status
full Added
state_0 Added
state_1 Added
state_2 Added
state_3 Added
state_4 Added
state_5 Added
state_6 Added
state_7 Added

Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi

State Old New Status
full Added
state_0 Added
state_1 Added
state_2 Added
state_3 Added
state_4 Added
state_5 Added
state_6 Added
state_7 Added

Resources/Textures/ADT/Structures/Furniture/bed_double.rsi

State Old New Status
bottom Added
top Added

Resources/Textures/ADT/Structures/Furniture/bench_church.rsi

State Old New Status
bench_left Added
bench_middle Added
bench_right Added

Resources/Textures/ADT/Structures/Furniture/deckchair.rsi

State Old New Status
deckchair Added

@CrimeMoot
Copy link
Collaborator Author

Мне лень АДТ менять. Пусть так будет.

Copy link

@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: 23

🧹 Outside diff range and nitpick comments (24)
Resources/Prototypes/ADT/Entities/Objects/Decoration/flora.yml (1)

1-17: Предложение по улучшению документации

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

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

 - type: entity
   parent: BaseTree
   id: FloraPalmTree1
+   # Короткая пальма для небольших помещений
   name: short palm tree
   
 - type: entity
   parent: BaseTree
   id: FloraPalmTree2
+   # Высокая пальма для открытых пространств
   name: tall palm tree
Resources/Prototypes/ADT/Entities/Structures/Furniture/beds.yml (1)

1-5: Структура сущности корректна!

Базовое определение сущности правильное, но рекомендуется дополнить описание информацией о механике использования (например, как долго можно лежать, какие действия доступны).

  description: A deckchair for the acquisition of an even tan under the light of the nearest star.
+ description: A deckchair for the acquisition of an even tan under the light of the nearest star. Right-click to buckle yourself in for a relaxing sunbath.
Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/bonfire.yml (1)

14-24: Рассмотрите добавление проверки перед разрушением

При разборке игрок теряет 5 досок (создание требует 15, возвращается только 10). Рекомендуется:

  1. Добавить предупреждение о потере ресурсов
  2. Рассмотреть возможность полного возврата материалов
         - to: start
           completed:
             - !type:SpawnPrototype
               prototype: MaterialWoodPlank1
-              amount: 10
+              amount: 15
           steps:
+            - !type:DoAfter
+              delay: 1
+              message: "Вы уверены, что хотите разобрать костёр? Часть материалов будет потеряна."
             - tool: Prying
               doAfter: 2
Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml (1)

21-24: Исправить форматирование YAML

Необходимо исправить отступы в блоке SpawnPrototype:

          - !type:SpawnPrototype
-                prototype: SheetSteel1
-                amount: 15
+            prototype: SheetSteel1
+            amount: 15
Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/discoball.yml (1)

1-27: Требуется документация по использованию

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

+# Конструкция диско-шара
+# Используется для создания праздничной атмосферы
+# Требования:
+# - 10 единиц стали
+# - Сварочный аппарат
+
 - type: constructionGraph
   id: ADTDiscoBallGraph
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/tables.ftl (1)

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

Для избежания дублирования текста "Октоберфест" рекомендуется вынести его в отдельную переменную.

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

+oktoberfest-suffix = Октоберфест
+
 ent-ADTTableOktoberfest = стол для Октоберфеста
-    .suffix = { "Октоберфест" }
+    .suffix = { oktoberfest-suffix }

 ent-ADTTableOktoberfestOrange = стол с оранжевой скатертью для Октоберфеста
-    .suffix = { "Октоберфест" }
+    .suffix = { oktoberfest-suffix }

Also applies to: 24-24

Resources/Prototypes/ADT/Entities/Structures/Furniture/misc.yml (2)

1-8: Рекомендуется дополнить описание сущности

Базовое описание "disco ball" следует локализовать на русский язык, так как файл содержит русскоязычный комментарий.

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

  id: ADTDiscoBall
  parent: BaseStructureDynamic
- name: disco ball
- description: disco ball
+ name: Праздничный диско-шар
+ description: Ярко светящаяся сфера, от которой разбегаются световые лучи

31-35: Рекомендуется настроить параметры освещения

Текущие параметры освещения (радиус 8, энергия 4) могут быть избыточными. Рекомендуется проверить эти значения в игре.

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

  - type: PointLight
-   radius: 8
-   energy: 4
+   radius: 5
+   energy: 2.5
Resources/Prototypes/ADT/Entities/Structures/Furniture/benchs.yml (1)

22-22: Рассмотрите возможность добавления документации для спрайтов

Комментарии #спрайт от shi106 следует перенести в отдельный файл документации или README, описывающий авторство ресурсов.

Also applies to: 34-34, 46-46

Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/chairs.ftl (1)

17-42: Рекомендация по оптимизации дублирующихся записей

Для записей с суффиксом '2' (White2, Brown2, Blue2) предлагается использовать полное наследование записи, а не только её описания.

Пример оптимизации:

-ent-ADTArmchairWhite2 = { ent-ADTArmchairWhite }
-    .desc = { ent-ADTArmchairWhite.desc }
+ent-ADTArmchairWhite2 = { ent-ADTArmchairWhite }
Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/sofas.ftl (2)

53-55: Оптимизируйте избыточные ссылки на суффиксы

Сущности *LeftSide2 содержат избыточные ссылки на суффиксы. Поскольку они полностью идентичны основным вариантам, рекомендуется использовать прямое наследование всех свойств:

-ent-ADTSofaBrownLeftSide2 = { ent-ADTSofaBrownLeftSide }
-    .suffix = { ent-ADTSofaBrownLeftSide.suffix }
-    .desc = { ent-ADTSofaBlackLeftSide.desc }
+ent-ADTSofaBrownLeftSide2 = { ent-ADTSofaBrownLeftSide }

Аналогичные изменения следует применить к WhiteLeftSide2 и BlueLeftSide2.

Also applies to: 81-83, 109-111


3-3: Дополните описание дивана

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

Предлагаю расширить описание:

-    .desc = Большой диван, с которого не хочется слезать.
+    .desc = Большой удобный диван с мягкой обивкой, с которого не хочется слезать.
Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/tables.yml (2)

1-16: Проверьте количество металлических стержней для базовой рамы стола

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

    steps:
      - material: MetalRod
-       amount: 2
+       amount: 4
        doAfter: 1

93-101: Несогласованность в форматировании YAML

В блоке completed для adttableroundplastic есть проблема с отступами:

      completed:
      - !type:SpawnPrototype    # неправильный отступ
            prototype: SheetPlastic1  # излишний отступ
      completed:
-     - !type:SpawnPrototype
-           prototype: SheetPlastic1
+       - !type:SpawnPrototype
+         prototype: SheetPlastic1
Resources/Prototypes/ADT/Entities/Structures/Furniture/chairs.yml (2)

1-15: Рекомендуется перенести общие компоненты в базовый класс

Базовая сущность ADTChairBase может включить в себя компонент Construction, который повторяется во всех дочерних сущностях. Это уменьшит дублирование кода.

  - type: Rotatable
+ - type: Construction
+   graph: ADTSeat

55-67: Рекомендуется обновить наследование

Стул ADTChairOktoberfest следует наследовать от ADTChairBase для поддержания единообразия структуры.

  name: oktoberfest chair
  id: ADTChairOktoberfest
- parent: SeatBase
+ parent: ADTChairBase
Resources/Prototypes/ADT/Entities/Structures/Furniture/tables.yml (2)

1-8: Уточните описание базового стола

Текущее описание "A square piece of metal standing on four metal legs" слишком общее. Рекомендуется указать тип металла для большей конкретики.


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

Фиксированное количество досок (min: 1, max: 1) делает поведение предсказуемым. Рекомендуется добавить случайность:

  MaterialWoodPlank:
-   min: 1
-   max: 1
+   min: 1
+   max: 3

Also applies to: 88-91

Resources/Prototypes/ADT/Entities/Structures/Furniture/sofas.yml (4)

16-51: Рекомендуется унифицировать именование сущностей

Предлагается добавить префикс "black" к именам сущностей для консистентности с другими вариантами диванов:

-  name: sofa left side
+  name: black sofa left side

192-214: Рекомендация по архитектуре дублирующихся сущностей

Вместо создания отдельных сущностей с суффиксом "2", рекомендуется:

  1. Создать варианты как подтипы основной сущности
  2. Использовать систему вариантов (variants) для разных состояний спрайтов
  3. Это упростит поддержку кода и уменьшит дублирование

Also applies to: 280-302, 368-391


163-165: Рекомендация по стилю комментариев

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

  1. Использовать более формальный стиль в комментариях
  2. Избегать неформальных выражений ("ёмаё")
  3. Структурировать комментарии для лучшей читаемости

257-258: Уточнение названия цвета

Если цвет действительно синий, а не голубой, рекомендуется:

  1. Изменить префикс в названиях файлов с "blue" на "navy"
  2. Обновить соответствующие идентификаторы и названия сущностей
Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/seats.yml (1)

260-869: Оптимизация структуры кода для улучшения поддержки

Наблюдается значительное дублирование кода в определениях узлов. Рекомендуется использовать YAML-якоря и ссылки для повторяющихся структур.

Пример оптимизации:

definitions: &steel_furniture_template
  edges:
    - to: start
      completed:
        - !type:SpawnPrototype
          prototype: SheetSteel1
          amount: 2
      steps:
        - tool: Screwing
          doAfter: 2

# Использование шаблона
    - node: adtsofablackleft
      entity: ADTSofaBlackLeftSide
      <<: *steel_furniture_template
Resources/Prototypes/ADT/Recipes/Construction/furniture.yml (1)

461-461: Исправление несогласованности в именовании

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

  • ADTSofabrownLeftSideRecipe
  • ADTSofabrownRightSideRecipe
  • ADTSofabrownLeftSideRecipe2
    и т.д.

Следует использовать согласованный стиль, как в других идентификаторах.

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

- id: ADTSofabrownLeftSideRecipe
+ id: ADTSofaBrownLeftSideRecipe
- id: ADTSofabrownRightSideRecipe
+ id: ADTSofaBrownRightSideRecipe
- id: ADTSofabrownLeftSideRecipe2
+ id: ADTSofaBrownLeftSideRecipe2

Also applies to: 478-478, 495-495, 512-512, 529-529, 546-546, 563-563

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between ca20923 and 9bc4811.

⛔ Files ignored due to path filters (95)
  • Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/palm1.png is excluded by !**/*.png
  • Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/palm2.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Decoration/discoball.rsi/discoball.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/black_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/blue_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/blue_armchair_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/brown_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/brown_armchair_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/white_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/white_armchair_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsyuna.rsi/brown_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsyuna.rsi/red_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsyuna.rsi/violet_armchair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/chairs.rsi/pizza_chair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/chairs.rsi/red_chair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/chairs.rsi/white_chair.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Chairs/oktoberfest_chair.rsi/oct_chair_orange.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/black_sofa.rsi/sofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/black_sofa.rsi/sofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/black_sofa.rsi/sofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/leather_sofa.rsi/sofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/leather_sofa.rsi/sofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/leather_sofa.rsi/sofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/red_sofa.rsi/sofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/red_sofa.rsi/sofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/red_sofa.rsi/sofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_left_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_leftcorner.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_right_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/bluesofa_rightcorner.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_left_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_leftcorner.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_right_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/brownsofa_rightcorner.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_left_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_leftcorner.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_right_02.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/whitesofa_rightcorner.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/violet_sofa.rsi/sofa_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/violet_sofa.rsi/sofa_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Sofas/violet_sofa.rsi/sofa_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/full.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_0.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_1.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_2.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_3.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_4.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_5.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_6.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/state_7.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/full.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_0.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_1.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_2.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_3.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_4.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_5.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_6.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/state_7.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/roundtable.rsi/round_glass.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/roundtable.rsi/round_plastic.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/roundtable.rsi/round_wood.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/full.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_0.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_1.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_2.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_3.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_4.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_5.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_6.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/state_7.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/full.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_0.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_1.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_2.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_3.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_4.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_5.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_6.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/state_7.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/bed_double.rsi/bottom.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/bed_double.rsi/top.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/bench_church.rsi/bench_left.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/bench_church.rsi/bench_middle.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/bench_church.rsi/bench_right.png is excluded by !**/*.png
  • Resources/Textures/ADT/Structures/Furniture/deckchair.rsi/deckchair.png is excluded by !**/*.png
📒 Files selected for processing (44)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Decoration/flora.ftl (1 hunks)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/beds.ftl (1 hunks)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/benchs.ftl (1 hunks)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/chairs.ftl (1 hunks)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/misc.ftl (1 hunks)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/sofas.ftl (1 hunks)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/tables.ftl (1 hunks)
  • Resources/Prototypes/ADT/Entities/Objects/Decoration/flora.yml (1 hunks)
  • Resources/Prototypes/ADT/Entities/Structures/Furniture/beds.yml (1 hunks)
  • Resources/Prototypes/ADT/Entities/Structures/Furniture/benchs.yml (1 hunks)
  • Resources/Prototypes/ADT/Entities/Structures/Furniture/chairs.yml (1 hunks)
  • Resources/Prototypes/ADT/Entities/Structures/Furniture/misc.yml (1 hunks)
  • Resources/Prototypes/ADT/Entities/Structures/Furniture/sofas.yml (1 hunks)
  • Resources/Prototypes/ADT/Entities/Structures/Furniture/tables.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/discoball.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/beds.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/seats.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/tables.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/bonfire.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml (1 hunks)
  • Resources/Prototypes/ADT/Recipes/Construction/furniture.yml (1 hunks)
  • Resources/Prototypes/Entities/Structures/Decoration/bonfire.yml (1 hunks)
  • Resources/Prototypes/Entities/Structures/Decoration/fireplace.yml (1 hunks)
  • Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Decoration/discoball.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsyuna.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Chairs/chairs.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Chairs/oktoberfest_chair.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/black_sofa.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/leather_sofa.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/red_sofa.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Sofas/violet_sofa.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Tables/roundtable.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/bed_double.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/bench_church.rsi/meta.json (1 hunks)
  • Resources/Textures/ADT/Structures/Furniture/deckchair.rsi/meta.json (1 hunks)
✅ Files skipped from review due to trivial changes (25)
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Decoration/flora.ftl
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/beds.ftl
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/benchs.ftl
  • Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/misc.ftl
  • Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/meta.json
  • Resources/Textures/ADT/Structures/Decoration/discoball.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsluna.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Chairs/armchairsyuna.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Chairs/chairs.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Chairs/oktoberfest_chair.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/black_sofa.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/leather_sofa.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/red_sofa.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_blue.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_brown.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/sofa_white.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Sofas/violet_sofa.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Tables/roundtable.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_red_wood.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/Tables/table_white_wood.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/bed_double.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/bench_church.rsi/meta.json
  • Resources/Textures/ADT/Structures/Furniture/deckchair.rsi/meta.json
🔇 Additional comments (32)
Resources/Prototypes/ADT/Entities/Objects/Decoration/flora.yml (2)

10-17: 🛠️ Refactor suggestion

Проверка состояния спрайта и уникальности имени

Те же проблемы, что и в первом определении:

  1. Неуникальное имя объекта
  2. Необходимо проверить существование состояния спрайта palm2
#!/bin/bash
# Проверка существования состояния palm2 в файле спрайтов
if [ -d "Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi" ]; then
    jq '.states | keys' "Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/meta.json"
fi

Предлагаю изменить название для более четкого различия:

-  name: palm tree
+  name: tall palm tree

1-9: 🛠️ Refactor suggestion

Необходимо уточнить название и проверить зависимости

Обнаружены следующие проблемы:

  1. Название "palm tree" одинаково для обоих объектов, что может вызвать путаницу
  2. Необходимо проверить существование родительского класса и спрайтов

Предлагаю изменить название для более четкого различия:

-  name: palm tree
+  name: short palm tree
✅ Verification successful

Проверка зависимостей успешно завершена

Проверка показала:

  1. Родительский класс BaseTree существует в файле Resources/Prototypes/Entities/Objects/Decoration/flora.yml
  2. Файл спрайтов palm_tree.rsi присутствует и содержит необходимое состояние palm1
  3. Лицензия и авторские права корректно указаны в мета-данных спрайта

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

-  name: palm tree
+  name: short palm tree
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверка существования родительского класса BaseTree
rg -l "id: BaseTree" Resources/Prototypes/

# Проверка существования файла спрайтов и состояния palm1
fd -e rsi "palm_tree.rsi" Resources/Textures/ADT/Objects/Decoration/

Length of output: 324


Script:

#!/bin/bash
# Check for BaseTree parent entity with more flexible search
rg "id:\s*BaseTree" Resources/Prototypes/

# Check for palm tree sprite states more precisely
if [ -f "Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/meta.json" ]; then
    echo "Sprite file exists"
    cat Resources/Textures/ADT/Objects/Decoration/palm_tree.rsi/meta.json
else
    echo "Sprite file not found"
fi

# Search for any tree-related base entities
rg "parent:\s*BaseTree" Resources/Prototypes/

Length of output: 3427

Resources/Prototypes/ADT/Entities/Structures/Furniture/beds.yml (3)

13-16: Проверить позиционирование персонажа

Текущие настройки компонента Strap выглядят корректно, но рекомендуется протестировать:

  • Смещение buckleOffset на предмет клиппинга модели
  • Корректность поворота на -90 градусов

10-12: Проверить граф конструкции

Необходимо проверить существование и корректность графа конструкции adt_deckchair.

#!/bin/bash
# Description: Verify construction graph definition
rg "adt_deckchair" Resources/Prototypes/ADT/Recipes/Construction/Graph/

7-9: Проверить наличие файла спрайта

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

✅ Verification successful

Файл спрайта найден и корректно используется

Файл спрайта deckchair.rsi существует по пути Resources/Textures/ADT/Structures/Furniture/deckchair.rsi и правильно указан в конфигурации компонента Sprite.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify sprite file existence
fd "deckchair.rsi" Resources/Textures/ADT/Structures/Furniture/

Length of output: 162


Script:

#!/bin/bash
# Check if the sprite file exists in the correct location
fd "deckchair.rsi" Resources/Textures/

# Check for any references to this sprite in the codebase
rg -g "*.yml" -g "*.yaml" "deckchair.rsi" Resources/

Length of output: 376

Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/bonfire.yml (1)

1-4: Структура графа корректна

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

Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/beds.yml (3)

1-4: Структура графа корректна

Базовая структура графа построения определена правильно, с четким идентификатором и указанием начальной точки.


16-26: Проверьте существование прототипа

Необходимо убедиться, что сущность ADTDeckChair и прототип MaterialWoodPlank1 определены в системе.

Также рекомендуется добавить проверку инструмента перед разборкой:

          steps:
            - tool: Screwing
+             completed:
+               - !type:CheckConstructionAllowed {}
              doAfter: 1
✅ Verification successful

Let me verify the actual entity definition for ADTDeckChair to ensure it's properly defined.


Прототипы существуют и корректно определены

Проверка показала, что:

  • Сущность ADTDeckChair корректно определена в Resources/Prototypes/ADT/Entities/Structures/Furniture/beds.yml
  • Прототип MaterialWoodPlank1 корректно определен в Resources/Prototypes/Entities/Objects/Materials/materials.yml

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

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск определений необходимых прототипов
echo "Проверка ADTDeckChair:"
rg "ADTDeckChair" Resources/Prototypes/

echo "Проверка MaterialWoodPlank1:"
rg "MaterialWoodPlank1" Resources/Prototypes/

Length of output: 7810


Script:

#!/bin/bash
# Проверяем полное определение ADTDeckChair
echo "Содержимое файла с определением ADTDeckChair:"
cat Resources/Prototypes/ADT/Entities/Structures/Furniture/beds.yml

echo -e "\nПроверяем определение MaterialWoodPlank1:"
cat Resources/Prototypes/Entities/Objects/Materials/materials.yml | grep -A 10 "id: MaterialWoodPlank1"

Length of output: 1099


5-15: Проверьте баланс материалов

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

✅ Verification successful

Стоимость создания шезлонга сбалансирована

Анализ рецептов мебели показывает, что затраты в 5 досок на создание шезлонга (ADTDeckChair) соответствуют общему балансу:

  • Обычные стулья и скамейки требуют 2-4 доски
  • Медицинская кровать требует 10 досок
  • Столы требуют 1-4 доски
  • Книжные полки требуют 5 досок

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

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск других рецептов мебели для сравнения затрат материалов
rg -l "material: WoodPlank" Resources/Prototypes/

Length of output: 7810


Script:

#!/bin/bash
# Поиск рецептов мебели с использованием досок (WoodPlank)
echo "=== Рецепты мебели с досками ==="
rg -A 5 "material: WoodPlank" Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/ Resources/Prototypes/Recipes/Construction/Graphs/furniture/

# Поиск конкретно кроватей и стульев
echo -e "\n=== Рецепты кроватей и стульев ==="
rg -A 5 "material: WoodPlank" Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/beds.yml Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/seats.yml Resources/Prototypes/Recipes/Construction/Graphs/furniture/bed.yml Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml

Length of output: 22062

Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml (2)

1-4: Корректное определение графа конструкции!

Структура определения графа соответствует принятым конвенциям, идентификатор следует шаблону именования ADT.


17-17: Проверить существование прототипа Fireplace

Необходимо убедиться, что сущность "Fireplace" определена в системе.

✅ Verification successful

Прототип Fireplace существует и корректно определен

Сущность "Fireplace" найдена в файле Resources/Prototypes/Entities/Structures/Decoration/fireplace.yml с правильным определением базовых компонентов.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the Fireplace entity exists
rg -A 5 'id: Fireplace' "Resources/Prototypes"

Length of output: 669

Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/discoball.yml (2)

1-4: LGTM: Корректное определение графа конструирования

Базовая структура графа определена правильно, с четким идентификатором и начальной точкой.


5-14: Проверьте баланс материалов

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

✅ Verification successful

Let me search for more decorative items to get a better comparison.


Давайте попробуем другой подход для поиска похожих предметов.


Стоимость материалов для диско-шара сбалансирована

На основе анализа рецептов в кодовой базе:

  • Простые предметы (стулья) стоят 2 единицы стали
  • Камин, как декоративный функциональный предмет, стоит 15 единиц стали
  • Диско-шар со стоимостью 10 единиц стали находится в разумном промежутке между простыми предметами и более сложными декоративными конструкциями

Текущая стоимость в 10 единиц стали является обоснованной для декоративного предмета такого типа.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Описание: Поиск других рецептов конструирования декоративных предметов для сравнения стоимости материалов

rg -l "material: Steel" Resources/Prototypes/ADT/Recipes/Construction/Graph/ | while read -r file; do
  echo "=== $file ==="
  rg "material: Steel" -A 1 "$file"
done

Length of output: 3512


Script:

#!/bin/bash
# Поиск других декоративных предметов и их стоимости
rg -l "fun|decorative|decoration" Resources/Prototypes/ADT/Recipes/Construction/Graph/ | while read -r file; do
  echo "=== $file ==="
  # Показываем контекст до и после упоминания материалов
  rg "material:" -B 2 -A 2 "$file"
done

Length of output: 103


Script:

#!/bin/bash
# Поиск всех рецептов в папке fun и других декоративных предметов
echo "=== Содержимое папки fun ==="
fd . Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/ -t f -x cat {}

echo -e "\n=== Поиск других предметов с doAfter: 5 для сравнения ==="
rg "doAfter: 5" -B 5 -A 2 Resources/Prototypes/ADT/Recipes/Construction/Graph/

Length of output: 3763

Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/tables.ftl (1)

1-2: Перевод корректный!

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

Resources/Prototypes/Entities/Structures/Decoration/bonfire.yml (2)

34-38: Корректное добавление компонента Construction

Добавление возможности строительства костра логично дополняет функционал сущности и соответствует целям PR по расширению строительных возможностей. Изменение выглядит корректным и хорошо документированным с помощью комментариев.


34-38: Проверка наличия графа конструкции

Необходимо убедиться, что граф конструкции ADTBonfire существует в системе и корректно определён.

✅ Verification successful

Граф конструкции корректно определён и используется

Граф конструкции ADTBonfire правильно определён в файле Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/bonfire.yml и имеет соответствующий рецепт в файле Resources/Prototypes/ADT/Recipes/Construction/furniture.yml. Структура графа и рецепта полностью соответствует требованиям системы.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if the ADTBonfire construction graph exists
# Expected: Find definition of ADTBonfire construction graph

# Search for ADTBonfire graph definition
rg -l "id: ADTBonfire" "Resources/Prototypes"

# Search for any references to ensure consistency
rg "ADTBonfire" "Resources/Prototypes"

Length of output: 558


Script:

#!/bin/bash
# Let's verify the content of the construction graph and recipe to ensure they are properly defined

# Check the construction graph definition
cat "Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/bonfire.yml"

# Check the recipe definition
cat "Resources/Prototypes/ADT/Recipes/Construction/furniture.yml"

Length of output: 28112

Resources/Prototypes/ADT/Entities/Structures/Furniture/misc.yml (3)

47-49: Проверьте граф конструкции

Необходимо убедиться, что ADTDiscoBallGraph и узел adtdiscoball определены в соответствующих файлах конструкции.

✅ Verification successful

Граф конструкции корректно определён

Проверка показала, что:

  • Граф ADTDiscoBallGraph определен в файле Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/discoball.yml
  • Узел adtdiscoball также определен в этом графе
  • Структура графа содержит все необходимые компоненты: начальный узел, шаги конструкции и сущность
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск определения графа конструкции
rg "ADTDiscoBallGraph" "Resources/Prototypes/ADT/Recipes/Construction/"

Length of output: 344


Script:

#!/bin/bash
# Проверим содержимое файла с графом конструкции
cat "Resources/Prototypes/ADT/Recipes/Construction/Graph/fun/discoball.yml"

Length of output: 700


24-29: Проверьте наличие файла спрайта

Необходимо убедиться, что файл ADT/Structures/Decoration/discoball.rsi существует и содержит состояние discoball.

✅ Verification successful

Файл спрайта существует и корректно настроен

Файл ADT/Structures/Decoration/discoball.rsi найден и содержит необходимое состояние discoball с анимацией из 4 кадров.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверка наличия файла спрайта
fd "discoball.rsi" Resources/Textures/

Length of output: 344


Script:

#!/bin/bash
# Поиск файла discoball.rsi в директории текстур
find Resources/Textures/ -name "discoball.rsi" -type d

# Поиск всех .rsi файлов, содержащих "disco" в названии
find Resources/Textures/ -name "*disco*.rsi" -type d

# Поиск упоминаний пути к спрайту в других файлах
rg "ADT/Structures/Decoration/discoball" Resources/

Length of output: 957


Script:

#!/bin/bash
# Проверка содержимого файла discoball.rsi на наличие состояния discoball
ls -la Resources/Textures/ADT/Structures/Decoration/discoball.rsi/

# Проверка meta.json файла внутри .rsi директории для подтверждения наличия состояния
cat Resources/Textures/ADT/Structures/Decoration/discoball.rsi/meta.json

Length of output: 814


37-46: Проверьте логику повреждений

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

✅ Verification successful

Контейнер повреждений и порог урона соответствуют стандартам

Анализ показывает, что:

  • Использование damageContainer: Inorganic корректно для неорганического горшка
  • Порог урона в 100 единиц соответствует стандартным значениям для подобной мебели (столы, стулья и другие предметы интерьера имеют аналогичный порог)
  • Комментарий о материале горшка можно оставить для ясности
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск других декоративных объектов для сравнения порогов повреждений
rg "damageContainer: Inorganic" -A 10 "Resources/Prototypes/ADT/Entities/Structures/"

Length of output: 344


Script:

#!/bin/bash
# Поиск файлов с damageContainer в структурах
rg -l "damageContainer:" Resources/Prototypes/ADT/Entities/Structures/

# Поиск всех damageContainer: Inorganic с контекстом
rg "damageContainer: Inorganic" -B 2 -A 8 Resources/Prototypes/

# Поиск порогов урона в структурах
rg "DamageTrigger" -B 5 -A 5 Resources/Prototypes/ADT/Entities/Structures/

Length of output: 139681

Resources/Prototypes/Entities/Structures/Decoration/fireplace.yml (2)

50-52: Компонент Construction добавлен корректно

Добавление компонента Construction с указанием графа и узла выполнено правильно. Это позволит игрокам создавать камин через систему строительства.


49-53: Проверьте наличие файла конструкции

Добавление компонента Construction требует соответствующего файла графа конструкции. Убедитесь, что файл Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml существует и содержит корректное определение графа ADTFireplace.

✅ Verification successful

Файл графа конструкции корректно определён

Файл графа конструкции существует и содержит правильное определение:

  • Граф ADTFireplace присутствует
  • Корректно определены узлы и переходы
  • Настроены материалы и инструменты для сборки/разборки
  • Определены необходимые действия после завершения
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of the construction graph file and its content

# Check if the file exists
fd "fireplace.yml" Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/

# If exists, verify the content contains the correct graph definition
rg "ADTFireplace" Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml

Length of output: 273


Script:

#!/bin/bash
# Let's verify the content of the construction graph file to ensure it's properly defined

cat Resources/Prototypes/ADT/Recipes/Construction/Graph/structures/fireplace.yml

Length of output: 692

Resources/Prototypes/ADT/Entities/Structures/Furniture/benchs.yml (2)

1-15: Базовая сущность корректно определена

Базовая сущность ADTBenchBase правильно наследуется от SeatBase и включает все необходимые компоненты для статического объекта мебели.


24-26: Проверьте наличие узлов конструкции

Необходимо убедиться, что узлы adtbenchchurchleft, adtbenchchurchmiddle и adtbenchchurchright определены в графе конструкции ADTSeat.

#!/bin/bash
# Поиск определений узлов конструкции
rg -g "*.yml" "graph: ADTSeat" -A 10

Also applies to: 36-38, 48-50

Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/chairs.ftl (3)

1-13: Корректное описание базовых стульев!

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


14-16: Хорошее базовое описание кресла!

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


1-42: Проверка соответствия локализации

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

✅ Verification successful

Let me check the YAML definitions to ensure they properly define all these entities.


Локализация соответствует определениям сущностей

Все сущности из файла локализации имеют корректные определения в YAML-файле. Каждый ID в локализации (ent-ADTChairPizzeria, ent-ADTChairRed и т.д.) соответствует определению в chairs.yml. Структура локализации правильно отражает иерархию и варианты мебели, включая базовые стулья, праздничные варианты и различные виды кресел.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if all localized entities have corresponding YAML definitions

# Get all entity IDs from the localization file
echo "Поиск определений сущностей для локализованных записей..."
ENTITIES=$(grep "^ent-" "Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/chairs.ftl" | cut -d' ' -f1 | cut -d'=' -f1 | tr -d ' ')

# Search for corresponding YAML definitions
for entity in $ENTITIES; do
  echo "Проверка сущности: $entity"
  rg -l "${entity#ent-}" -g "*.yml" -g "*.yaml"
done

Length of output: 5433


Script:

#!/bin/bash
# Check the actual YAML definitions for these entities
cat Resources/Prototypes/ADT/Entities/Structures/Furniture/chairs.yml

Length of output: 4830

Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Furniture/sofas.ftl (1)

1-132: Проверьте согласованность терминологии

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

  1. "Правый угол" и "Левый угол" - убедитесь, что эти термины соответствуют принятой в игре терминологии для обозначения угловых элементов мебели
  2. Использование прилагательных цвета перед существительным "диван" соответствует правилам русского языка
✅ Verification successful

Let me search for more furniture-related terms to ensure we have a complete picture of the terminology used.


Let me try a broader search to find any furniture-related terminology.


Терминология соответствует стандартам игры

На основе анализа локализации можно сделать следующие выводы:

  1. Использование терминов "Правый угол" и "Левый угол" для обозначения угловых элементов мебели является корректным и соответствует общей терминологии в игре.

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

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск других элементов мебели для проверки согласованности терминологии
rg -g "*.ftl" "угол|диван" Resources/Locale/ru-RU/

Length of output: 4932


Script:

#!/bin/bash
# Поиск других элементов мебели с угловыми частями
rg -g "*.ftl" "угловой|угловая|правый угол|левый угол" Resources/Locale/ru-RU/

Length of output: 80


Script:

#!/bin/bash
# Поиск элементов мебели и их частей
rg -g "*.ftl" "часть|мебель|стол|стул|диван" Resources/Locale/ru-RU/

Length of output: 81218

Resources/Prototypes/ADT/Entities/Structures/Furniture/sofas.yml (4)

1-15: Базовая сущность дивана реализована корректно!

Содержит все необходимые компоненты для статического объекта мебели.


52-428: Необходимо проверить наличие всех спрайтов

Давайте убедимся, что все указанные .rsi файлы и состояния существуют в проекте.

#!/bin/bash
# Description: Verify existence of sprite files and states

# Find all referenced .rsi directories
rg -o 'sprite: (.+\.rsi)' | cut -d' ' -f2 | sort -u

# Find all referenced sprite states
rg -o 'state: (.+)' | cut -d' ' -f2 | sort -u

5-5: Проверка родительской сущности

Необходимо убедиться, что сущность SeatBase существует и содержит все необходимые базовые компоненты.

✅ Verification successful

Let me verify if the parent entity SeatBase exists by searching for its definition in YAML files.


Let me check the components of the SeatBase entity to verify it has all necessary base components.


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

SeatBase существует и содержит все необходимые базовые компоненты для мебели: физику, спрайты, взаимодействие и размещение. Наследование реализовано правильно.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify parent entity existence

# Search for SeatBase definition
rg "id: SeatBase" --type yaml

Length of output: 233742


Script:

#!/bin/bash
# Search for SeatBase entity definition
rg "id: SeatBase" --type yaml

Length of output: 108


Script:

#!/bin/bash
# Get the full definition of SeatBase entity
rg -A 20 "^  id: SeatBase" --type yaml

Length of output: 1797


24-26: Проверка наличия графа конструкции

Необходимо убедиться, что граф ADTSeat и все узлы определены в системе крафта.

Also applies to: 36-38, 48-50

✅ Verification successful

Let me gather more information about the construction graph and nodes.


Let me try a different approach to find the construction graph files.


Let me check the actual construction graph definition.


Граф конструкции ADTSeat существует и корректно определен

Граф конструкции ADTSeat найден в файле Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/seats.yml. Он содержит все необходимые узлы, включая adtsofablackleft, который используется в проверяемом коде. Граф правильно определяет шаги конструкции с использованием материала Steel.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify construction graph existence

# Search for ADTSeat graph definition
rg "ADTSeat" --type yaml

# Extract and verify all node references
rg "node: adt" --type yaml | sort -u

Length of output: 233742


Script:

#!/bin/bash
# Search for ADTSeat construction graph definition and nodes
rg -l "ADTSeat" Resources/Prototypes/Constructible/Graphs/
rg "ADTSeat" Resources/Prototypes/Constructible/Graphs/ -A 5 -B 5

Length of output: 290


Script:

#!/bin/bash
# Find construction graph files and search for ADTSeat
fd "\.yml$" | rg -l "graph|construction"
fd "\.yml$" | xargs rg "ADTSeat" -C 5

Length of output: 94727


Script:

#!/bin/bash
# Find and show the ADTSeat graph definition
rg "id: ADTSeat" -A 20 Resources/Prototypes/ADT/Recipes/Construction/Graph/

Length of output: 2065

Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/seats.yml (1)

1-4: Структура графа конструирования выглядит правильной!

Корректное определение типа и идентификатора графа конструирования.

Comment on lines +5 to +13
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: bonfire
steps:
- material: WoodPlank
amount: 15
doAfter: 3
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Затраты материалов для костра требуют корректировки

Анализ рецептов показывает значительный дисбаланс в использовании досок (WoodPlank):

  • Кровать требует 5 досок
  • Стол требует 4 доски
  • Стулья требуют по 2 доски
  • Костёр требует 15 досок

Рекомендуется уменьшить количество требуемых досок для костра до 5-7 штук, что будет лучше соответствовать общему балансу крафта в игре.

🔗 Analysis chain

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

Для создания костра требуется 15 досок, что является существенной затратой ресурсов. Убедитесь, что это соответствует общему балансу игры.


Let's check the actual material costs in these other recipes to make a proper comparison.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск других рецептов с использованием WoodPlank для сравнения
rg -l "material: WoodPlank" Resources/Prototypes/ADT/Recipes/Construction/Graph/

Length of output: 373


Script:

#!/bin/bash
# Поиск количества WoodPlank в других рецептах
rg "material: WoodPlank" -A 1 Resources/Prototypes/ADT/Recipes/Construction/Graph/furniture/

Length of output: 2764

Comment on lines +5 to +14
- node: start
edges:
- to: fireplace
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: Steel
amount: 15
doAfter: 5
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Based on the search results, I can now provide a final response. The search revealed that the fireplace (15 steel) requires significantly more materials compared to similar furniture items like chairs (2 steel) and disco ball (10 steel). This allows me to make a conclusive assessment.

Количество стали для камина требует корректировки

Текущее требование в 15 единиц стали для постройки камина выглядит завышенным по сравнению с другими предметами интерьера:

  • Стулья и диваны требуют всего 2 единицы стали
  • Диско-шар требует 10 единиц стали
  • Другие декоративные структуры требуют 5-10 единиц стали

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

🔗 Analysis chain

Проверить баланс количества материалов

Требуется проверка баланса количества стали (15 единиц) относительно других предметов мебели.


Let me try a different approach to find construction recipes:

Let me also check if there are any other similar furniture or decoration items for comparison:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check material requirements in other furniture construction graphs
rg -A 5 "material: Steel" "Resources/Prototypes/ADT/Recipes/Construction/Graph"

Length of output: 669


Script:

#!/bin/bash
# Search for Steel material requirements in all construction recipes
rg -A 5 "material: Steel" Resources/Prototypes/ADT/Recipes/Construction/

# Also search in any potential furniture-specific directories
fd -t f ".*\.yml$" Resources/Prototypes/ADT/Recipes/Construction/Furniture/ -x rg -A 5 "material: Steel" {}

# Search for similar structures to compare material costs
fd -t f ".*\.yml$" Resources/Prototypes/ADT/Recipes/Construction/ -x rg -A 5 "material: Steel" {}

Length of output: 28516


Script:

#!/bin/bash
# Find all yml files that might contain construction recipes
fd -t f ".*\.yml$" Resources/Prototypes -x rg -l "material: Steel" {}

# Get detailed content of found files
fd -t f ".*\.yml$" Resources/Prototypes -x rg -A 5 "material: Steel" {}

Length of output: 28797


Script:

#!/bin/bash
# Find similar decoration or furniture items
fd -t f ".*\.yml$" Resources/Prototypes -x rg -l "parent: BaseStructure" {}

# Get their content for comparison
fd -t f ".*\.yml$" Resources/Prototypes/Entities/Structures/Decoration -x cat {}

Length of output: 33382

Comment on lines +16 to +27
- node: adtdiscoball
entity: ADTDiscoBall
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 10
- !type:DeleteEntity {}
steps:
- tool: Welding
doAfter: 5
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

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

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

          steps:
            - tool: Welding
+             qualities:
+               - Welding
              doAfter: 5

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

          completed:
          - !type:SpawnPrototype
                prototype: SheetSteel1
                amount: 10
          - !type:DeleteEntity {}
+         - !type:PlaySound
+              sound: /Audio/Items/weld.ogg
📝 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
- node: adtdiscoball
entity: ADTDiscoBall
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 10
- !type:DeleteEntity {}
steps:
- tool: Welding
doAfter: 5
- node: adtdiscoball
entity: ADTDiscoBall
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 10
- !type:DeleteEntity {}
- !type:PlaySound
sound: /Audio/Items/weld.ogg
steps:
- tool: Welding
qualities:
- Welding
doAfter: 5

Comment on lines +4 to +5
ent-ADTTableRed = красный деревянный стол
.desc = Деревянный стол с красивой скатертью.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

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

В строках 8 и 11 используется некорректная ссылка { ent-ADTRedTable }. Нужно использовать правильный идентификатор { ent-ADTTableRed }.

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

 ent-ADTTableWhite = белый деревянный стол
-    .desc = { ent-ADTRedTable }
+    .desc = { ent-ADTTableRed }

 ent-ADTTableRoundPlastic = пластиковый круглый столик
-    .desc = { ent-ADTRedTable }
+    .desc = { ent-ADTTableRed }

Also applies to: 8-8, 11-11

.desc = { ent-ADTRedTable }

ent-ADTTableRoundWood = деревянный круглый столик
.desc = { ent-ADTRoundTablePlastic }
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

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

В строках 14 и 17 используется некорректная ссылка { ent-ADTRoundTablePlastic }. Нужно использовать правильный идентификатор { ent-ADTTableRoundPlastic }.

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

-    .desc = { ent-ADTRoundTablePlastic }
+    .desc = { ent-ADTTableRoundPlastic }

-    .desc = { ent-ADTRoundTablePlastic }
+    .desc = { ent-ADTTableRoundPlastic }

Also applies to: 17-17

Comment on lines +11 to +13
- material: Steel
amount: 2
doAfter: 1
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Несогласованное время выполнения для деревянной мебели

Время выполнения (doAfter) для деревянной мебели варьируется между 1 и 2 секундами, что может запутать игроков.

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

          steps:
            - material: WoodPlank
              amount: 2
-             doAfter: 1
+             doAfter: 2

Also applies to: 231-233, 241-243, 246-248, 251-253, 256-258

Comment on lines +1 to +869
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 2

- node: adtarmchairbrown
entity: ADTArmchairBrown
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 2

- node: adtarmchairbrown2
entity: ADTArmchairBrown2
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 2

- node: adtarmchairblue
entity: ADTArmchairBlue
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 2

- node: adtarmchairblue2
entity: ADTArmchairBlue2
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 2

- node: adtchairpizzeria
entity: ADTChairPizzeria
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
steps:
- tool: Screwing
doAfter: 2

- node: adtchairred
entity: ADTChairRed
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
steps:
- tool: Screwing
doAfter: 2

- node: adtchairwhite
entity: ADTChairWhite
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
steps:
- tool: Screwing
doAfter: 2

- node: adtchairoktoberfest
entity: ADTChairOktoberfest
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 2
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Отсутствуют определения сущностей в прототипах

В графе конструирования seats.yml используются сущности (ADTSofa*, ADTArmchair*, ADTChair*, ADTBench*), но их определения отсутствуют в каталоге прототипов. Необходимо создать соответствующие определения сущностей в каталоге Resources/Prototypes/Entities перед использованием их в графе конструирования.

🔗 Analysis chain

Проверка существования сущностей

Необходимо убедиться, что все указанные entity существуют в системе.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Описание: Проверка существования всех сущностей, упомянутых в графе конструирования

# Извлекаем все entity из файла
echo "Проверка существования сущностей..."
entities=$(grep "entity: " "$1" | cut -d' ' -f7)

# Ищем определения сущностей
for entity in $entities; do
  echo "Поиск определения для $entity"
  rg "- type: entity\s+id:\s*$entity" -A 5
done

Length of output: 165


Script:

#!/bin/bash
# Поиск определений всех сущностей из файла seats.yml
echo "Поиск определений сущностей..."

# Используем rg для поиска всех упомянутых сущностей
rg -l "ADTSofaBlack|ADTSofaRed|ADTSofaViolet|ADTSofaLeather|ADTSofaWhite|ADTSofaBlue|ADTSofaBrown|ADTArmchair|ADTBenchChurch|ADTChair" Resources/Prototypes/Entities

# Проверяем наличие определений конкретных сущностей
echo -e "\nПроверка конкретных сущностей:"
rg "id: ADTSofaBlackLeftSide" Resources/Prototypes/Entities -A 2
rg "id: ADTSofaRedMiddle" Resources/Prototypes/Entities -A 2
rg "id: ADTArmchairBlack" Resources/Prototypes/Entities -A 2
rg "id: ADTChairPizzeria" Resources/Prototypes/Entities -A 2

Length of output: 570


Script:

#!/bin/bash
# Поиск файлов с определениями сущностей в каталоге ADT
echo "Поиск файлов сущностей ADT..."
fd -e yml -e yaml . Resources/Prototypes/Entities/ADT

# Поиск определений мебели в найденных файлах
echo -e "\nПоиск определений конкретных сущностей в файлах ADT:"
rg "- type: entity.*ADTSofa|ADTArmchair|ADTChair|ADTBench" Resources/Prototypes/Entities/ADT -A 3

# Проверка наличия каталога ADT
echo -e "\nПроверка структуры каталогов:"
ls -la Resources/Prototypes/Entities/ADT 2>/dev/null || echo "Каталог ADT не найден"

Length of output: 1042

startNode: start
targetNode: adttablewhitewood
category: construction-category-furniture
description: A square piece of glass, standing on four metal legs.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Исправление некорректных описаний столов

Описание для деревянных столов указывает на стеклянную столешницу, что не соответствует типу мебели:

description: A square piece of glass, standing on four metal legs.

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

- description: A square piece of glass, standing on four metal legs.
+ description: A square wooden table, standing on four legs.

Also applies to: 830-830

startNode: start
targetNode: adttableoktoberfest
category: construction-category-furniture
description: Do not apply fire to this. Rumour says it burns easily.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Улучшение предупреждений безопасности

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

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

- description: Do not apply fire to this. Rumour says it burns easily.
+ description: Warning: Highly flammable material. Keep away from open flames and heat sources.

- description: A place that has fire. Cozy!
+ description: Warning: Hot surfaces and open flame. Maintain safe distance and ensure proper ventilation.

- description: Just dont freeze.
+ description: Warning: Open flame. Keep flammable materials away and ensure proper fire safety measures.

Also applies to: 1008-1008, 1038-1038

Comment on lines +1 to +1067
graph: ADTTable
startNode: start
targetNode: adttableoktoberfest
category: construction-category-furniture
description: Do not apply fire to this. Rumour says it burns easily.
icon:
sprite: ADT/Structures/Furniture/Tables/oktoberfest_table.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked

- type: construction
name: oktoberfest orange table
id: ADTTableOktoberfestOrangeRecipe
graph: ADTTable
startNode: start
targetNode: adttableoktoberfestorange
category: construction-category-furniture
description: Do not apply fire to this. Rumour says it burns easily.
icon:
sprite: ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked

# Other

- type: construction
name: fireplace
id: ADTFireplaceRecipe
graph: ADTFireplace
startNode: start
targetNode: fireplace
category: construction-category-furniture
description: A place that has fire. Cozy!
icon:
sprite: Structures/Decoration/fireplace.rsi
state: fireplace
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked

- type: construction
name: deckchair
id: ADTDeckChairRecipe
description: A deckchair for the acquisition of an even tan under the light of the nearest star.
graph: adt_deckchair
startNode: start
targetNode: adtdeckchair
category: construction-category-furniture
icon:
sprite: ADT/Structures/Furniture/deckchair.rsi
state: deckchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked

- type: construction
id: ADTBonfireRecipe
name: bonfire
description: Just dont freeze.
graph: ADTBonfire
startNode: start
targetNode: bonfire
category: construction-category-misc
icon:
sprite: Structures/Decoration/bonfire.rsi
state: bonfire
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked

- type: construction
name: disco ball
id: ADTDiscoBallRecipe
graph: ADTDiscoBallGraph
startNode: start
targetNode: adtdiscoball
category: construction-category-furniture
description: Lets fall in 2470.
icon:
sprite: ADT/Structures/Decoration/discoball.rsi
state: discoball
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Оптимизация повторяющихся структур с помощью YAML anchors

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

Пример рефакторинга:

+ # Common anchors
+ common_furniture: &furniture_base
+   graph: ADTSeat
+   startNode: start
+   category: construction-category-furniture
+   objectType: Structure
+   placementMode: SnapgridCenter
+   canBuildInImpassable: false
+   conditions:
+     - !type:TileNotBlocked
+
+ common_description: &comfy_desc
+   description: It looks comfy.
+
- - type: construction
-   name: sofa left side
-   id: ADTSofaBlackLeftSideRecipe
-   graph: ADTSeat
-   startNode: start
-   category: construction-category-furniture
-   description: It looks comfy.
-   # ... rest of the properties
+ - type: construction
+   <<: *furniture_base
+   name: sofa left side
+   id: ADTSofaBlackLeftSideRecipe
+   <<: *comfy_desc
+   # ... unique properties only
📝 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
# sofa
# sofa-black
- type: construction
name: sofa left side
id: ADTSofaBlackLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofablackleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/black_sofa.rsi
state: sofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: sofa middle
id: ADTSofaBlackMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofablackmiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/black_sofa.rsi
state: sofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: sofa right side
id: ADTSofaBlackRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofablackright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/black_sofa.rsi
state: sofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-red
- type: construction
name: red sofa left side
id: ADTSofaRedLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofaredleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/red_sofa.rsi
state: sofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: red sofa middle
id: ADTSofaRedMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofaredmiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/red_sofa.rsi
state: sofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: red sofa right side
id: ADTSofaRedRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofaredright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/red_sofa.rsi
state: sofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-violet
- type: construction
name: violet sofa left side
id: ADTVioletSofaLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofavioletleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/violet_sofa.rsi
state: sofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: violet sofa middle
id: ADTSofaVioletMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofavioletmiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/violet_sofa.rsi
state: sofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: violet sofa right side
id: ADTSofaVioletRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofavioletright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/violet_sofa.rsi
state: sofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-leather
- type: construction
name: leather sofa left side
id: ADTSofaLeatherLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofaleatherleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/leather_sofa.rsi
state: sofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: leather sofa middle
id: ADTSofaLeatherMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofaleathermiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/leather_sofa.rsi
state: sofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: leather sofa right side
id: ADTSofaLeatherRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofaleatherright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/leather_sofa.rsi
state: sofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-white
- type: construction
name: white sofa left side
id: ADTSofaWhiteLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofawhiteleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white sofa right side
id: ADTSofaWhiteRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofawhiteright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-white
- type: construction
name: white sofa left side
id: ADTSofaWhiteLeftSideRecipe2
graph: ADTSeat
startNode: start
targetNode: adtsofawhiteleft2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_left_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white sofa right side
id: ADTSofaWhiteRightSideRecipe2
graph: ADTSeat
startNode: start
targetNode: adtsofawhiteright2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_right_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white sofa middle
id: ADTSofaWhiteMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofawhitemiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white sofa left corner
id: ADTSofaWhiteLeftCornerRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofawhiteleftcorner
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_leftcorner
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white sofa right corner
id: ADTSofaWhiteRightCornerRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofawhiterightcorner
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_white.rsi
state: whitesofa_rightcorner
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-blue
- type: construction
name: blue sofa left side
id: ADTSofaBlueLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofablueleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue sofa right side
id: ADTSofaBlueRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofablueright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue sofa left side
id: ADTSofaBlueLeftSideRecipe2
graph: ADTSeat
startNode: start
targetNode: adtsofablueleft2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_left_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue sofa right side
id: ADTSofaBlueRightSideRecipe2
graph: ADTSeat
startNode: start
targetNode: adtsofablueright2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_right_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue sofa middle
id: ADTSofaBlueMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabluemiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue sofa left corner
id: ADTSofaBlueLeftCornerRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofablueleftcorner
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_leftcorner
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue sofa right corner
id: ADTSofaBlueRightCornerRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabluerightcorner
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_blue.rsi
state: bluesofa_rightcorner
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# sofa-brown
- type: construction
name: brown sofa left side
id: ADTSofabrownLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabrownleft
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown sofa right side
id: ADTSofabrownRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabrownright
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown sofa left side
id: ADTSofabrownLeftSideRecipe2
graph: ADTSeat
startNode: start
targetNode: adtsofabrownleft2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_left_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown sofa right side
id: ADTSofabrownRightSideRecipe2
graph: ADTSeat
startNode: start
targetNode: adtsofabrownright2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_right_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown sofa middle
id: ADTSofabrownMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabrownmiddle
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown sofa left corner
id: ADTSofabrownLeftCornerRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabrownleftcorner
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_leftcorner
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown sofa right corner
id: ADTSofabrownRightCornerRecipe
graph: ADTSeat
startNode: start
targetNode: adtsofabrownrightcorner
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Sofas/sofa_brown.rsi
state: brownsofa_rightcorner
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Chairs
# From Yuna
- type: construction
name: violet chair
id: ADTArmchairVioletRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairviolet
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsyuna.rsi
state: violet_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: red chair
id: ADTArmchairRedRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairred
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsyuna.rsi
state: red_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: leather chair
id: ADTArmchairLeatherRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairleather
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsyuna.rsi
state: brown_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# From Luna
- type: construction
name: black chair
id: ADTArmchairBlackRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairblack
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: black_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white armchair
id: ADTArmchairWhiteRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairwhite
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: white_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white armchair
id: ADTArmchairWhiteRecipe2
graph: ADTSeat
startNode: start
targetNode: adtarmchairwhite2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: white_armchair_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown armchair
id: ADTArmchairBrownRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairbrown
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: brown_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: brown armchair
id: ADTArmchairBrownRecipe2
graph: ADTSeat
startNode: start
targetNode: adtarmchairbrown2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: brown_armchair_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue armchair
id: ADTArmchairBlueRecipe
graph: ADTSeat
startNode: start
targetNode: adtarmchairblue
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: blue_armchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: blue armchair
id: ADTArmchairBlueRecipe2
graph: ADTSeat
startNode: start
targetNode: adtarmchairblue2
category: construction-category-furniture
description: It looks comfy.
icon:
sprite: ADT/Structures/Furniture/Chairs/armchairsluna.rsi
state: blue_armchair_02
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Tables
- type: construction
name: plastic round table
id: ADTTableRoundPlasticRecipe
graph: ADTTable
startNode: start
targetNode: adttableroundplastic
category: construction-category-furniture
description: Lets fall in 2470.
icon:
sprite: ADT/Structures/Furniture/Tables/roundtable.rsi
state: round_plastic
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: wood round table
id: ADTTableRoundWoodRecipe
graph: ADTTable
startNode: start
targetNode: adttableroundwood
category: construction-category-furniture
description: Lets fall in 2470.
icon:
sprite: ADT/Structures/Furniture/Tables/roundtable.rsi
state: round_wood
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: glass round table
id: ADTTableRoundGlassRecipe
graph: ADTTable
startNode: start
targetNode: adttableroundglass
category: construction-category-furniture
description: Lets fall in 2470.
icon:
sprite: ADT/Structures/Furniture/Tables/roundtable.rsi
state: round_glass
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white wood table
id: ADTTableWhiteWoodRecipe
graph: ADTTable
startNode: start
targetNode: adttablewhitewood
category: construction-category-furniture
description: A square piece of glass, standing on four metal legs.
icon:
sprite: ADT/Structures/Furniture/Tables/table_white_wood.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: red wood table
id: ADTTableRedWoodRecipe
graph: ADTTable
startNode: start
targetNode: adttableredwood
category: construction-category-furniture
description: A square piece of glass, standing on four metal legs.
icon:
sprite: ADT/Structures/Furniture/Tables/table_red_wood.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Chairs
- type: construction
name: pizza chair
id: ADTChairPizzeriaRecipe
graph: ADTSeat
startNode: start
targetNode: adtchairpizzeria
category: construction-category-furniture
description: You can sit on this.
icon:
sprite: ADT/Structures/Furniture/Chairs/chairs.rsi
state: pizza_chair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: white chair
id: ADTChairWhiteRecipe
graph: ADTSeat
startNode: start
targetNode: adtchairwhite
category: construction-category-furniture
description: You can sit on this.
icon:
sprite: ADT/Structures/Furniture/Chairs/chairs.rsi
state: white_chair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: red chair
id: ADTChairRedRecipe
graph: ADTSeat
startNode: start
targetNode: adtchairred
category: construction-category-furniture
description: You can sit on this.
icon:
sprite: ADT/Structures/Furniture/Chairs/chairs.rsi
state: red_chair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Benchs
- type: construction
name: church bench left side
id: ADTBenchChurchLeftSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtbenchchurchleft
category: construction-category-furniture
description: Simple, but beautiful.
icon:
sprite: ADT/Structures/Furniture/bench_church.rsi
state: bench_left
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: church bench middle
id: ADTBenchChurchMiddleRecipe
graph: ADTSeat
startNode: start
targetNode: adtbenchchurchmiddle
category: construction-category-furniture
description: Simple, but beautiful.
icon:
sprite: ADT/Structures/Furniture/bench_church.rsi
state: bench_middle
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: church bench right side
id: ADTBenchChurchRightSideRecipe
graph: ADTSeat
startNode: start
targetNode: adtbenchchurchright
category: construction-category-furniture
description: Simple, but beautiful.
icon:
sprite: ADT/Structures/Furniture/bench_church.rsi
state: bench_right
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# OctoberFest
- type: construction
name: oktoberfest chair
id: ADTChairOktoberfestRecipe
graph: ADTSeat
startNode: start
targetNode: adtchairoktoberfest
category: construction-category-furniture
description: You can sit on this.
icon:
sprite: ADT/Structures/Furniture/Chairs/oktoberfest_chair.rsi
state: oct_chair_orange
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: oktoberfest table
id: ADTTableOktoberfestRecipe
graph: ADTTable
startNode: start
targetNode: adttableoktoberfest
category: construction-category-furniture
description: Do not apply fire to this. Rumour says it burns easily.
icon:
sprite: ADT/Structures/Furniture/Tables/oktoberfest_table.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: oktoberfest orange table
id: ADTTableOktoberfestOrangeRecipe
graph: ADTTable
startNode: start
targetNode: adttableoktoberfestorange
category: construction-category-furniture
description: Do not apply fire to this. Rumour says it burns easily.
icon:
sprite: ADT/Structures/Furniture/Tables/oktoberfest_table_orange.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Other
- type: construction
name: fireplace
id: ADTFireplaceRecipe
graph: ADTFireplace
startNode: start
targetNode: fireplace
category: construction-category-furniture
description: A place that has fire. Cozy!
icon:
sprite: Structures/Decoration/fireplace.rsi
state: fireplace
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: deckchair
id: ADTDeckChairRecipe
description: A deckchair for the acquisition of an even tan under the light of the nearest star.
graph: adt_deckchair
startNode: start
targetNode: adtdeckchair
category: construction-category-furniture
icon:
sprite: ADT/Structures/Furniture/deckchair.rsi
state: deckchair
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
id: ADTBonfireRecipe
name: bonfire
description: Just dont freeze.
graph: ADTBonfire
startNode: start
targetNode: bonfire
category: construction-category-misc
icon:
sprite: Structures/Decoration/bonfire.rsi
state: bonfire
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: disco ball
id: ADTDiscoBallRecipe
graph: ADTDiscoBallGraph
startNode: start
targetNode: adtdiscoball
category: construction-category-furniture
description: Lets fall in 2470.
icon:
sprite: ADT/Structures/Decoration/discoball.rsi
state: discoball
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Common anchors
common_furniture: &furniture_base
graph: ADTSeat
startNode: start
category: construction-category-furniture
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
common_description: &comfy_desc
description: It looks comfy.
# sofa
# sofa-black
- type: construction
<<: *furniture_base
name: sofa left side
id: ADTSofaBlackLeftSideRecipe
<<: *comfy_desc
icon:
sprite: ADT/Structures/Furniture/Sofas/black_sofa.rsi
state: sofa_left
targetNode: adtsofablackleft
[... rest of the file with similar pattern applied ...]

@CrimeMoot CrimeMoot merged commit 0f9aa05 into master Nov 14, 2024
11 of 12 checks passed
@CrimeMoot CrimeMoot deleted the mebel branch November 14, 2024 00:35
@CrimeMoot CrimeMoot restored the mebel branch November 14, 2024 14:09
@CrimeMoot CrimeMoot deleted the mebel branch November 14, 2024 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants