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

#TajaranLivesMatter, часть первая: Диета #267

Merged
merged 17 commits into from
Oct 21, 2024

Conversation

NeLepus
Copy link
Contributor

@NeLepus NeLepus commented Oct 13, 2024

image

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

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

  1. Теобромин
    Теобромин из напитков теперь накапливается в теле и работает как и твердый шоколад. До этого этому мешал недочет со стороны оффов, из-за которого он усваивался быстрее, чем успевал возыметь какой-либо эффект на пешке.
    Некоторые напитки, содержащие кофе или шоколад, раньше не добавляли теобромин - это также было исправлено. Пейте ответственно.

  2. Ограничение диет
    Старая система до 2.0 просто не позволяла плотоядным таярам/вульпам есть не мясную еду, будто у их рта образовывалась невидимая стена. Я заменил это и теперь, если плототядные едят не мясную еду, которая при этом тегнута как овощ или фрукт, то питательные вещества поступают в 4 раза менее эффективно и это имеет очень низкий шанс вызвать рвоту.
    Да, лисицы в реальной жизни вполне могут лакомиться ягодами, но вульпканины по лору ЛП к растительной пище не приспособлены. Увы.

  3. Теги еды
    Возрадуйтесь, плотоядные, ибо теперь вы сможете есть пельмени, а также гавайскую пиццу, в которую входит куриное мясо.

Медиа
Протестировал изменения, поглотив каждый вид пиццы за представителей различных рас.
image

Проверки

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

Изменения
🆑 NeLepus

  • add: Добавлена механика плохо усваиваемой пищи для вульпканинов и таяран.
  • add: Пельмени и гавайская пицца теперь считаются мясной едой.
  • remove: Убрано ограничение на мясную диету у расы таяран.
  • fix: Исправлен баг с неработающим теобромином из напитков, содержащих кофе/шоколад.

Copy link
Contributor

coderabbitai bot commented Oct 13, 2024

Walkthrough

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

Changes

Файл Изменения
Content.Server/Body/Components/StomachComponent.cs Добавлено свойство public PoorlyDigestibleFood? LPP_PoorlyDigestibleFood = null; в классе StomachComponent.
Content.Server/Nutrition/EntitySystems/FoodSystem.cs Обновлены сигнатуры методов: public bool IsDigestibleBy(...) и public int GetUsesRemaining(...). Введены проверки на плохо усваиваемую пищу в методе OnDoAfter, улучшена логика потребления пищи.
Content.Server/_LostParadise/CarnivoresDiet/AccumulateReagent.cs Добавлен класс AccumulateReagent, методы ContainsPositiveAdjustEffect, Effect, и ReagentEffectGuidebookText.
Content.Server/_LostParadise/CarnivoresDiet/PoorlyDigestible.cs Добавлен класс PoorlyDigestibleFood, содержащий свойства и методы для управления плохо усваиваемой пищей.
Resources/Locale/en-US/_LostParadise/Guidebook/effects.ftl Добавлена новая запись reagent-effect-guidebook-accumulate-reagent-reagent.
Resources/Locale/en-US/_LostParadise/prototypes/reagents/food.ftl Добавлены новые записи: reagent-name-indigestible-fibre и reagent-desc-indigestible-fibre.
Resources/Locale/ru-RU/_LostParadise/Guidebook/effects.ftl Добавлена новая запись для reagent-effect-guidebook-accumulate-reagent-reagent.
Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/food.ftl Добавлены новые записи для reagent-name-indigestible-fibre и reagent-desc-indigestible-fibre.
Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml Добавлено свойство poorlyDigestibleFood и новый компонент Metabolizer в OrganVulpkaninStomach.
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml Добавлены новые сущности напитков и обновлены существующие.
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml Добавлены новые сущности еды и обновлены существующие.
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml Обновлены сущности пиццы с новыми тегами.
Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml Обновлены эффекты метаболизма для CoffeeLiqueur и IrishCoffee.
Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml Добавлен раздел метаболизма для IcedCoffee.
Resources/Prototypes/Reagents/Consumable/Food/food.yml Обновлен реагент PumpkinFlesh с добавлением атрибута parent.
Resources/Prototypes/Reagents/toxins.yml Добавлены новые реагенты Theobromine и Amatoxin, обновлены эффекты существующих токсинов.
Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Body/Organs/Tajaran.yml Изменен компонент LPPOrganTajaranStomach, добавлен poorlyDigestibleFood.
Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Entities/Mobs/Species/Tajaran.yml Изменены компоненты у сущности Tajaran McHands.
Resources/Prototypes/_LostParadise/Reagents/food.yml Добавлен новый реагент LPPIndigestibleFiber.

Sequence Diagram(s)

sequenceDiagram
    participant Player
    participant FoodSystem
    participant StomachComponent
    participant PoorlyDigestibleFood

    Player->>FoodSystem: Try to feed food
    FoodSystem->>StomachComponent: Check if food is digestible
    StomachComponent->>PoorlyDigestibleFood: Check if food is poorly digestible
    PoorlyDigestibleFood-->>StomachComponent: Return digestibility status
    StomachComponent-->>FoodSystem: Return digestibility result
    FoodSystem-->>Player: Feed result
Loading

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.

@github-actions github-actions bot added Статус: Требуется одобрение Ожидание разработчиков для принятия решений Изменения: C# Изменяет какие-либо файлы .cs Изменения: Локализация Изменяет какие-либо файлы .ftl Изменения: YML Изменяет какие-либо файлы .yml labels Oct 13, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 19

🧹 Outside diff range comments (7)
Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Entities/Mobs/Species/Tajaran.yml (1)

Line range hint 71-74: Одобрено с небольшим предложением по улучшению

Изменения в сущности "LPPMobTajaranDummy" логичны и соответствуют целям PR:

  1. Смена родителя на "MobHumanDummy" более уместна для фиктивной сущности.
  2. Добавление атрибута "noSpawn" предотвращает непреднамеренное создание фиктивной сущности.
  3. Описание четко объясняет назначение сущности.

Предложение по улучшению: Рассмотрите возможность небольшого уточнения описания для большей информативности. Например:

description: Фиктивный таджаран, предназначенный для использования при настройке персонажа. Не спавнится в игре.
🧰 Tools
🪛 yamllint

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

(comments)

Resources/Prototypes/Reagents/Consumable/Food/food.yml (1)

Line range hint 99-103: Изменения одобрены с небольшим предложением.

Изменения в реагенте PumpkinFlesh выглядят корректными и соответствуют руководству по кодированию. Добавление родительского атрибута Nutriment и исправление отступов улучшают структуру и читаемость кода.

Однако, для большей согласованности с другими реагентами, предлагаю добавить поле group: Foods после строки с parent: Nutriment.

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

 - type: reagent
   id: PumpkinFlesh #Just so pumpkins spill orange stuff when smashed
   parent: Nutriment
+  group: Foods
   name: reagent-name-pumpkin-flesh
   desc: reagent-desc-pumpkin-flesh
   flavor: pumpkin
   color: "#fc9300"
Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/Baked/pizza.yml (1)

Line range hint 180-180: Одобрено с предложением по документации

Добавление тега "Fruit" к сущностям "pesto pizza" и "slice of pesto pizza" соответствует целям PR по обновлению механики питания.

Предложение по улучшению:

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

  - type: Tag
    tags:
    - Pizza
    - Fruit # Pesto contains basil, which is considered a herb/vegetable, but we're using the Fruit tag for simplicity

Добавьте этот комментарий к обеим сущностям: "pesto pizza" и "slice of pesto pizza".

Also applies to: 228-228

🧰 Tools
🪛 yamllint

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

(indentation)


[warning] 27-27: too few spaces before comment

(comments)

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml (1)

Line range hint 460-463: Добавьте тег "Meat" для согласованности

Для поддержания согласованности с родительским объектом FoodPizzaPineapple, рекомендуется добавить тег "Meat" к этому объекту.

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

  - type: Tag
    tags:
-    - Pizza
+      - Meat
+      - Pizza
🧰 Tools
🪛 yamllint

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

(indentation)


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

(indentation)

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml (1)

Line range hint 539-597: Одобрено с предложением: Новые пищевые сущности

Новые сущности FoodBakedCannabisBrownieBatch, FoodBakedCannabisBrownie и FoodOnionRings корректно реализованы и добавляют интересные элементы геймплея.

Отличная работа по реализации этих новых пищевых сущностей. Предлагаю небольшое улучшение для консистентности:

Для FoodOnionRings, рассмотрите возможность добавления компонента FlavorProfile, как у других сущностей:

  - type: entity
    name: onion rings
    parent: FoodBakedBase
    id: FoodOnionRings
    description: You can eat it or propose to your loved ones.
    components:
+     - type: FlavorProfile
+       flavors:
+         - onion
+         - crispy
      - type: Sprite
        state: onionrings
      # ... (остальные компоненты)

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

🧰 Tools
🪛 yamllint

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

(indentation)

Resources/Prototypes/Reagents/toxins.yml (2)

Line range hint 431-443: Одобрено: Добавление нового токсина Аматоксин

Добавление Аматоксина расширяет разнообразие токсинов в игре. Эффекты выглядят сбалансированными, с умеренной скоростью метаболизма и уроном от яда.

Предлагаю добавить краткое описание происхождения или источника Аматоксина для улучшения лора игры. Например:

  desc: reagent-desc-amatoxin
+ lore: reagent-lore-amatoxin
  physicalDesc: reagent-physical-desc-nondescript

Line range hint 486-491: Одобрено: Новый эффект MindbreakerToxin

Добавление эффекта ChemRemovePsionic к MindbreakerToxin создает интересное взаимодействие между токсином и псионическими способностями. Это добавляет глубину игровой механике.

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

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between 2a31fe7 and 64a78ee.

📒 Files selected for processing (20)
  • Content.Server/Body/Components/StomachComponent.cs (1 hunks)
  • Content.Server/Nutrition/EntitySystems/FoodSystem.cs (1 hunks)
  • Content.Server/_LostParadise/CarnivoresDiet/AccumulateReagent.cs (1 hunks)
  • Content.Server/_LostParadise/CarnivoresDiet/PoorlyDigestible.cs (1 hunks)
  • Resources/Locale/en-US/_LostParadise/Guidebook/effects.ftl (1 hunks)
  • Resources/Locale/en-US/_LostParadise/prototypes/reagents/food.ftl (1 hunks)
  • Resources/Locale/ru-RU/_LostParadise/Guidebook/effects.ftl (1 hunks)
  • Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/food.ftl (1 hunks)
  • Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml (2 hunks)
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml (1 hunks)
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml (1 hunks)
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml (7 hunks)
  • Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/Baked/pizza.yml (2 hunks)
  • Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml (2 hunks)
  • Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml (1 hunks)
  • Resources/Prototypes/Reagents/Consumable/Food/food.yml (1 hunks)
  • Resources/Prototypes/Reagents/toxins.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Body/Organs/Tajaran.yml (2 hunks)
  • Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Entities/Mobs/Species/Tajaran.yml (1 hunks)
  • Resources/Prototypes/_LostParadise/Reagents/food.yml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (16)
Resources/Locale/en-US/_LostParadise/Guidebook/effects.ftl (1)

Pattern **/*.ftl: Все повторяющиеся переводы должны быть написаны так:
Оригинальный перевод - id1 = text1
Повторяющийся, но с изменениями id2 = { id1 }
и если требуется .desc должен прописываться как { id1.desc }

А многострочные переводы начинающиеся со спецсимвола должны идти сначала id = спецсимвол текст и потом следующая строчка. Пример
id = спецсимвол текст
текст
спецсимвол текст

Resources/Locale/en-US/_LostParadise/prototypes/reagents/food.ftl (1)

Pattern **/*.ftl: Все повторяющиеся переводы должны быть написаны так:
Оригинальный перевод - id1 = text1
Повторяющийся, но с изменениями id2 = { id1 }
и если требуется .desc должен прописываться как { id1.desc }

А многострочные переводы начинающиеся со спецсимвола должны идти сначала id = спецсимвол текст и потом следующая строчка. Пример
id = спецсимвол текст
текст
спецсимвол текст

Resources/Locale/ru-RU/_LostParadise/Guidebook/effects.ftl (1)

Pattern **/*.ftl: Все повторяющиеся переводы должны быть написаны так:
Оригинальный перевод - id1 = text1
Повторяющийся, но с изменениями id2 = { id1 }
и если требуется .desc должен прописываться как { id1.desc }

А многострочные переводы начинающиеся со спецсимвола должны идти сначала id = спецсимвол текст и потом следующая строчка. Пример
id = спецсимвол текст
текст
спецсимвол текст

Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/food.ftl (1)

Pattern **/*.ftl: Все повторяющиеся переводы должны быть написаны так:
Оригинальный перевод - id1 = text1
Повторяющийся, но с изменениями id2 = { id1 }
и если требуется .desc должен прописываться как { id1.desc }

А многострочные переводы начинающиеся со спецсимвола должны идти сначала id = спецсимвол текст и потом следующая строчка. Пример
id = спецсимвол текст
текст
спецсимвол текст

Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/Baked/pizza.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Reagents/Consumable/Food/food.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/Reagents/toxins.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Body/Organs/Tajaran.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Entities/Mobs/Species/Tajaran.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

Resources/Prototypes/_LostParadise/Reagents/food.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

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

В прототипе любого предмета после поля components: должно идти - type на уровне с буквой c в components.

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

🪛 GitHub Check: Test Packaging
Content.Server/_LostParadise/CarnivoresDiet/AccumulateReagent.cs

[failure] 10-10:
The type or namespace name 'FormatRipper' does not exist in the namespace 'JetBrains' (are you missing an assembly reference?)


[failure] 10-10:
The type or namespace name 'FormatRipper' does not exist in the namespace 'JetBrains' (are you missing an assembly reference?)

🪛 yamllint
Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml

[warning] 12-12: too few spaces before comment

(comments)


[warning] 15-15: too few spaces before comment

(comments)


[warning] 18-18: too few spaces before comment

(comments)


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

(brackets)


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

(brackets)

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml

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

(indentation)

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml

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

(indentation)


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

(indentation)


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

(indentation)


[error] 215-215: trailing spaces

(trailing-spaces)


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

(indentation)


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

(indentation)


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

(indentation)


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

(indentation)

Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/Baked/pizza.yml

[warning] 27-27: too few spaces before comment

(comments)

Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml

[error] 145-145: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Body/Organs/Tajaran.yml

[warning] 12-12: too few spaces before comment

(comments)


[warning] 15-15: too few spaces before comment

(comments)


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

(brackets)


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

(brackets)

Resources/Prototypes/_LostParadise/Reagents/food.yml

[error] 12-12: wrong indentation: expected 8 but found 6

(indentation)


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

(indentation)

🔇 Additional comments (29)
Resources/Locale/en-US/_LostParadise/Guidebook/effects.ftl (1)

1-2: Одобрено. Предоставляю перевод на русский язык.

Запись корректна и соответствует конвенциям проекта. Вот перевод на русский язык:

reagent-effect-guidebook-accumulate-reagent-reagent =
    Накапливается, пока в кровотоке присутствует источник {$reagent}
Resources/Locale/ru-RU/_LostParadise/Guidebook/effects.ftl (1)

1-2: Отличная работа с локализацией!

Перевод грамматически корректен, звучит естественно на русском языке и правильно использует заполнитель {$reagent}. Форматирование многострочного перевода также соответствует указанным рекомендациям по кодированию.

Resources/Locale/en-US/_LostParadise/prototypes/reagents/food.ftl (1)

1-2: Одобрено! Предложение по переводу на русский язык.

Изменения корректны и соответствуют целям PR. Вот предложение по переводу на русский язык:

reagent-name-indigestible-fibre = неперевариваемая пищевая клетчатка
reagent-desc-indigestible-fibre = Остатки пищеварительной системы, плохо приспособленной к растительной пище.
Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/food.ftl (3)

1-1: Перевод корректен и соответствует формату.

Название реагента переведено правильно и соответствует контексту. Формат записи соответствует стандарту .ftl файлов.


2-2: Описание точно отражает концепцию и соответствует целям PR.

Перевод описания реагента выполнен корректно и хорошо объясняет концепцию неперевариваемых волокон для плотоядных видов. Это полностью соответствует целям PR по обновлению механики питания для рас Vulpkanin и Tajaran.


1-2: Файл локализации соответствует всем требованиям.

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

Resources/Prototypes/_LostParadise/Reagents/food.yml (3)

1-16: Общая структура соответствует требованиям.

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

🧰 Tools
🪛 yamllint

[error] 12-12: wrong indentation: expected 8 but found 6

(indentation)


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

(indentation)


12-15: ⚠️ Potential issue

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

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

  • Строка 12: ожидается 8 пробелов вместо 6
  • Строка 14: ожидается 10 пробелов вместо 8

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

       effects:
-      - !type:ChemVomit
+        - !type:ChemVomit
         conditions:
-        - !type:ReagentThreshold
+          - !type:ReagentThreshold
           min: 5

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint

[error] 12-12: wrong indentation: expected 8 but found 6

(indentation)


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

(indentation)


1-16: Содержание и логика реагента соответствуют целям PR.

Определение реагента LPPIndigestibleFiber корректно отражает концепцию неперевариваемой клетчатки. Эффект рвоты при употреблении соответствует обновлению механики питания.

Однако, стоит уточнить выбор вероятности 2% для эффекта рвоты. Это значение кажется довольно низким. Возможно, стоит рассмотреть увеличение вероятности или добавление дополнительных факторов, влияющих на вероятность возникновения рвоты.

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

✅ Verification successful

Содержание и логика реагента соответствуют целям PR.

Определение реагента LPPIndigestibleFiber корректно отражает концепцию неперевариваемой клетчатки. Эффект рвоты при употреблении соответствует обновлению механики питания.

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

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Описание: Поиск использования реагента LPPIndigestibleFiber в других файлах

# Проверка: Поиск упоминаний реагента. Ожидаемый результат: Список файлов, использующих данный реагент.
rg --type yaml "LPPIndigestibleFiber"

Length of output: 354

🧰 Tools
🪛 yamllint

[error] 12-12: wrong indentation: expected 8 but found 6

(indentation)


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

(indentation)

Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Body/Organs/Tajaran.yml (1)

Line range hint 18-26: Структурные изменения выглядят корректно

Изменения в компоненте SolutionContainerManager носят чисто структурный характер и не влияют на функциональность. Всё в порядке.

🧰 Tools
🪛 yamllint

[error] 6-6: wrong indentation: expected at least 3

(indentation)


[warning] 12-12: too few spaces before comment

(comments)


[warning] 15-15: too few spaces before comment

(comments)

Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml (1)

Line range hint 1-35: Итоговое заключение: Изменения соответствуют целям PR

Внесенные изменения в файл vulpkanin.yml успешно обновляют механику питания для расы Вулпканин в соответствии с целями PR:

  1. Добавлен раздел poorlyDigestibleFood, который реализует ограничения в питании для Вулпканинов, отражая их плохую адаптацию к растительной пище.
  2. Новый компонент Metabolizer улучшает функциональность желудка, что соответствует обновлению системы пищеварения.

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

🧰 Tools
🪛 yamllint

[error] 6-6: wrong indentation: expected at least 3

(indentation)


[warning] 12-12: too few spaces before comment

(comments)


[warning] 15-15: too few spaces before comment

(comments)


[warning] 18-18: too few spaces before comment

(comments)

Resources/Prototypes/_LostParadise/Entities/Mobs/Species/Tajaran/Entities/Mobs/Species/Tajaran.yml (1)

Line range hint 1-77: Общее заключение: Изменения соответствуют целям PR

Внесенные изменения в файл Tajaran.yml хорошо согласуются с целями PR по обновлению механики питания и модернизации системы:

  1. Модификация компонента "Hunger" для таджаран отражает намерение сбалансировать игровой процесс.
  2. Обновление сущности-пустышки "LPPMobTajaranDummy" улучшает структуру кода и предотвращает нежелательное поведение.

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

🧰 Tools
🪛 yamllint

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

(comments)

Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/Baked/pizza.yml (1)

53-53: Одобрено

Добавление тега "Vegetable" к сущности "slice of corncob crust pizza" соответствует изменениям, внесенным в сущность целой пиццы, и согласуется с целями PR по обновлению механики питания.

Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml (1)

142-149: Добавлены эффекты метаболизма для IcedCoffee

Добавление эффектов метаболизма для IcedCoffee соответствует целям PR и согласуется с другими напитками, содержащими теобромин. Это хорошее изменение, которое исправляет предыдущую ошибку с быстрым поглощением теобромина.

🧰 Tools
🪛 yamllint

[error] 145-145: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml (6)

Line range hint 1-563: Общие замечания по изменениям

  1. Хорошая работа по добавлению тегов "Vegetable" и "Meat" к соответствующим пиццам. Это улучшит механику диеты в игре.
  2. Обратите внимание на согласованность отступов во всем файле. Используйте 6 пробелов для отступов в тегах.
  3. Избегайте дублирования тегов, которые уже присутствуют в родительских объектах.
  4. Рассмотрите возможность добавления тега "Meat" к FoodPizzaPineappleSlice для согласованности с родительским объектом.

После внесения предложенных изменений, код будет более чистым и согласованным. Хорошая работа по улучшению механики диеты!

🧰 Tools
🪛 yamllint

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

(indentation)


[error] 215-215: trailing spaces

(trailing-spaces)


245-248: ⚠️ Potential issue

Исправьте отступы и удалите избыточный тег

Необходимо внести следующие изменения:

  1. Исправьте отступы для тегов на 6 пробелов вместо 4.
  2. Удалите избыточный тег "Pizza", так как он уже присутствует в родительском объекте.

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

  - type: Tag
    tags:
-    - Pizza
-    - Vegetable
+      - Vegetable

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint

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

(indentation)


100-103: ⚠️ Potential issue

Исправьте отступы и удалите избыточный тег

Необходимо внести следующие изменения:

  1. Исправьте отступы для тегов на 6 пробелов вместо 4.
  2. Удалите избыточный тег "Pizza", так как он уже присутствует в родительском объекте.

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

  - type: Tag
    tags:
-    - Pizza
-    - Vegetable
+      - Vegetable

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint

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

(indentation)


371-374: ⚠️ Potential issue

Исправьте отступы и удалите избыточный тег

Необходимо внести следующие изменения:

  1. Исправьте отступы для тегов на 6 пробелов вместо 4.
  2. Удалите избыточный тег "Pizza", так как он уже присутствует в родительском объекте.

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

  - type: Tag
    tags:
-    - Pizza
-    - Vegetable
+      - Vegetable

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint

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

(indentation)


438-441: ⚠️ Potential issue

Исправьте отступы и удалите избыточный тег

Необходимо внести следующие изменения:

  1. Исправьте отступы для тегов на 6 пробелов вместо 4.
  2. Удалите избыточный тег "Pizza", так как он уже присутствует в родительском объекте.

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

  - type: Tag
    tags:
-    - Meat
-    - Pizza
+      - Meat

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint

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

(indentation)


211-215: ⚠️ Potential issue

Исправьте отступы, удалите избыточный тег и уберите лишний пробел

Необходимо внести следующие изменения:

  1. Исправьте отступы для тегов на 6 пробелов вместо 4.
  2. Удалите избыточный тег "Pizza", так как он уже присутствует в родительском объекте.
  3. Уберите лишний пробел после последнего тега.

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

  - type: Tag
    tags:
-    - Pizza
-    - Vegetable
-    
+      - Vegetable

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint

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

(indentation)


[error] 215-215: trailing spaces

(trailing-spaces)

Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml (2)

Line range hint 463-487: Одобрено: Добавление нового блюда "chèvre chaud"

Новая сущность FoodBakedChevreChaud корректно реализована и соответствует целям PR по обновлению механики питания. Профиль вкуса и содержание питательных веществ хорошо определены.

Реализация соответствует установленному шаблону для пищевых сущностей. Хорошая работа по добавлению разнообразия в игровую кухню!

🧰 Tools
🪛 yamllint

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

(indentation)


Line range hint 489-537: Одобрено: Добавление брауни и механики нарезки

Новые сущности FoodBakedBrownieBatch и FoodBakedBrownie корректно реализованы и соответствуют целям PR.

Отличная работа по реализации:

  1. Механики нарезки с использованием компонента SliceableFood.
  2. Обновленной механики теобромина, что соответствует целям PR.
  3. Детального профиля вкуса и содержания питательных веществ.

Это добавление улучшит игровой процесс и разнообразие пищи в игре.

🧰 Tools
🪛 yamllint

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

(indentation)

Resources/Prototypes/Reagents/toxins.yml (1)

423-429: Одобрено: Улучшение механики теобромина

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

Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml (3)

303-305: Одобрено: Добавление теобромина в кофейный ликер

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


1334-1336: Одобрено: Добавление теобромина в ирландский кофе

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


Line range hint 1089-1089: Требуется пояснение: Увеличение содержания этанола в самогоне

Содержание этанола в самогоне увеличено с 0.40 до 0.50. Это значительное изменение, которое может повлиять на баланс игры. Не могли бы вы пояснить причину этого изменения и его потенциальное влияние на игровой процесс?

🧰 Tools
🪛 yamllint

[error] 300-300: wrong indentation: expected 8 but found 6

(indentation)

Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml (1)

2386-2388: Одобрено: Добавление эффекта Теобромина для шоколадного молока.

Добавление эффекта AdjustReagent для Теобромина в метаболизм MilkChoco соответствует целям PR по обновлению механики теобромина для напитков, содержащих шоколад. Это логичное изменение, которое улучшает реализм игровой механики.

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

✅ Verification successful

Подтверждение добавления Теобромина для MilkChoco.

Были проверены другие напитки на наличие Теобромина. Только MilkChoco содержит этот реагент с количеством 0.04, что подтверждает корректность внесенных изменений.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Описание: Поиск других напитков, содержащих теобромин, для сравнения количества.

echo "Поиск других напитков с теобромином:"
rg --type yaml 'Theobromine' Resources/Prototypes/Entities/Objects/Consumable/Drinks/

Length of output: 264

Content.Server/_LostParadise/CarnivoresDiet/PoorlyDigestible.cs (1)

70-70: 🧹 Nitpick (assertive)

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

В слове "quentities" допущена опечатка. Следует заменить на "quantities".

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

- // Recreating the list since we can't set quentities in-place.
+ // Recreating the list since we can't set quantities in-place.

Likely invalid or redundant comment.

Content.Server/Nutrition/EntitySystems/FoodSystem.cs (1)

269-270: Логика работы с плохо усваиваемой пищей корректна.

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

name: reagent-name-indigestible-fibre
group: Foods
desc: reagent-desc-indigestible-fibre
flavor: terrible
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Необходимо использовать ключи локализации для всех текстовых полей.

В соответствии с руководством по кодированию, все текстовые поля должны использовать ключи локализации. Обратите внимание на следующие поля:

  • flavor: сейчас содержит текст на английском языке
  • physicalDesc: содержит ключ локализации, но не соответствует формату других ключей

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

-  flavor: terrible
+  flavor: reagent-flavor-terrible
-  physicalDesc: reagent-physical-desc-pungent
+  physicalDesc: reagent-physical-desc-indigestible-fibre

Убедитесь, что соответствующие ключи локализации добавлены в файлы локализации.

Also applies to: 8-8

Comment on lines +27 to +32
- type: Metabolizer
maxReagents: 3
metabolizerTypes: [ Animal ]
groups:
- id: Food
- id: Drink
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Одобрено с небольшими замечаниями по форматированию

Новый компонент Metabolizer корректно реализует механику метаболизма для желудка Таджаран, что соответствует целям PR. Тип метаболизма Animal подходит для Таджаран.

Однако есть проблема с пробелами в квадратных скобках:

Пожалуйста, исправьте пробелы в следующей строке:

-    metabolizerTypes: [ Animal ]
+    metabolizerTypes: [Animal]
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- type: Metabolizer
maxReagents: 3
metabolizerTypes: [ Animal ]
groups:
- id: Food
- id: Drink
- type: Metabolizer
maxReagents: 3
metabolizerTypes: [Animal]
groups:
- id: Food
- id: Drink
🧰 Tools
🪛 yamllint

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

(brackets)


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

(brackets)

Comment on lines +7 to +17
poorlyDigestibleFood:
reducedReagents:
- Nutriment
- Vitamin
whitelistTags:
- Fruit # Bread/Pizza tags aren't included according to the LostParadise's lore
- Vegetable
blacklistTags:
- Meat # Meat-based food is excluded in order not to force the carnivores to be meat-purists
factor: 0.25
replacementReagent: LPPIndigestibleFiber
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Одобрено с небольшими замечаниями по форматированию

Компонент poorlyDigestibleFood корректно реализует механику пищеварения для Таджаран, соответствуя целям PR. Фактор 0.25 правильно отражает четверть питательной ценности для не-мясной пищи.

Однако есть небольшие проблемы с форматированием комментариев:

Пожалуйста, добавьте пробел перед комментариями в следующих строках:

-        - Fruit # Bread/Pizza tags aren't included according to the LostParadise's lore
+        - Fruit  # Bread/Pizza tags aren't included according to the LostParadise's lore
-        - Meat # Meat-based food is excluded in order not to force the carnivores to be meat-purists
+        - Meat  # Meat-based food is excluded in order not to force the carnivores to be meat-purists

Committable suggestion was skipped due to low confidence.

🧰 Tools
🪛 yamllint

[warning] 12-12: too few spaces before comment

(comments)


[warning] 15-15: too few spaces before comment

(comments)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between 64a78ee and a75b6c5.

📒 Files selected for processing (1)
  • Content.Server/_LostParadise/CarnivoresDiet/AccumulateReagent.cs (1 hunks)
🧰 Additional context used

@Evgencheg
Copy link
Member

@NeLepus может отправишь это сразу ЕЕ? Полезно будет, а мы просто схаваем это апдейтом+они проверят на ошибки и если чё будут фиксить.

@Evgencheg
Copy link
Member

Требуется перенести ЕЕ.

@Evgencheg Evgencheg closed this Oct 14, 2024
@Evgencheg Evgencheg reopened this Oct 21, 2024
Copy link
Member

@Evgencheg Evgencheg left a comment

Choose a reason for hiding this comment

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

Врооооооооооде всё гуд...

@Evgencheg Evgencheg requested a review from BL02DL October 21, 2024 15:56
@Evgencheg Evgencheg merged commit 221a2ae into Lost-Paradise-Project:master Oct 21, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Изменения: C# Изменяет какие-либо файлы .cs Изменения: YML Изменяет какие-либо файлы .yml Изменения: Локализация Изменяет какие-либо файлы .ftl Статус: Требуется одобрение Ожидание разработчиков для принятия решений
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants