Skip to content

6 игрушек от комьюнити#664

Open
Kolontarev wants to merge 17 commits into
imperial-space:developfrom
Kolontarev:NewPlushie
Open

6 игрушек от комьюнити#664
Kolontarev wants to merge 17 commits into
imperial-space:developfrom
Kolontarev:NewPlushie

Conversation

@Kolontarev

@Kolontarev Kolontarev commented Jun 22, 2026

Copy link
Copy Markdown

О ПР`е

Тип: feat

Изменения: Добавление 6 новых игрушек

Технические детали

Добавлено 6 игрушек Для всех есть свои спрайты (в руке и в пространстве):

  1. Стефан Колонтарев
  2. Анна Юсупова
  3. Евгений Федотов
  4. Геннадий Петров
  5. Саша Пробкин
  6. Кейко Миллет

Добавлена локализация для игрушек а так же фразы для них.
Добавлены 2 бутылочки с реагентами (15 хлор + 15 фтор, 30 фтор). Они находятся в игрушке Стефана

Изменения кода официальных разработчиков

Нет

Summary by CodeRabbit

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

  • Новые функции
    • Добавлены новые плюшевые персонажи (6 вариантов) с собственными визуальными ассетами.
    • Добавлены специальные химические бутылочки с наполнением фтором и хлором (и их комбинацией).
  • Изменения в контенте
    • Новые плюшки добавлены в пул редких выдач случайного спавнера.
  • Локализация
    • Добавлена русская локализация: описания персонажей и реплики для плюшевых вариантов.

@Kolontarev Kolontarev requested a review from a team June 22, 2026 20:46
@github-actions github-actions Bot added Resprite Изменения заменяют оригинальные текстуры визардов Prototypes Изменения добавляет новые прототипы Change WIz Prototypes Изменения вмешиваются в код прототипов визардов Sprite Изменения добавляют спрайты size/Small Насколько сложно будет апстримить labels Jun 22, 2026
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

В PR добавлена новая серия плюшевых предметов для персонажей Kolontarev. Обновлены CommunityPlushie.yml с localizedDataset, базовым прототипом, двумя химическими бутылками и шестью сущностями плюшек; добавлен CommunityPlushe.ftl с русскими описаниями и репликами; добавлены шесть meta.json для RSI-ресурсов; обновлён спавнер плюшек для включения новых прототипов.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок точно отражает основное изменение: добавление шести игрушек от сообщества.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Resources/Locale/ru-RU/Imperial/Kolontarev/CommunityPlushe.ftl`:
- Line 48: In the plushie-KolontarevEvgenyFedotov-1 localization string, correct
the typo in the Russian word "Копоративного" by adding the missing letter 'р' to
make it "Корпоративного" (referring to Corporate Law). This is a simple
character correction in the existing string to fix the misspelled Russian word.

In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml`:
- Around line 153-167: The name property in the KolontarevEvgenyFedotov entity
is incorrectly set to "BasePlushieCharacter", which appears to be a copy-paste
error from the base prototype. Replace this generic name with the actual
character name "Evgeny Fedotov" (or use a localized FTL equivalent if needed) in
the name field of the KolontarevEvgenyFedotov entity definition to ensure the
plushie displays the correct name in the game UI.

In `@Resources/Textures/Imperial/Kolontarev/anna.rsi/meta.json`:
- Line 3: The license field in the meta.json file contains a custom string that
does not match any of the allowed enumeration values defined in the RSI schema.
Replace the current license value with one of the valid options from the schema
(such as CC-BY-3.0, CC-BY-4.0, CC-BY-SA-3.0, CC-BY-SA-4.0, CC-BY-NC-3.0,
CC-BY-NC-4.0, CC-BY-NC-SA-3.0, CC-BY-NC-SA-4.0, CC0-1.0, ICLA, or IELA). If you
need to preserve the author attribution information, add it to the copyright
field instead, as the license field is strictly validated against the enumerated
schema values and the validator validate_rsis.py will reject non-compliant
values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: f219adeb-1214-4ade-9564-c15cfb21bdef

📥 Commits

Reviewing files that changed from the base of the PR and between 38ab2f3 and 03bb472.

⛔ Files ignored due to path filters (18)
  • Resources/Textures/Imperial/Kolontarev/anna.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/anna.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/anna.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/fedotov.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/fedotov.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/fedotov.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/gennady.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/gennady.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/gennady.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/keiko.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/keiko.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/keiko.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/probkin.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/probkin.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/probkin.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/stefan.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/stefan.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Imperial/Kolontarev/stefan.rsi/inhand-right.png is excluded by !**/*.png
📒 Files selected for processing (8)
  • Resources/Locale/ru-RU/Imperial/Kolontarev/CommunityPlushe.ftl
  • Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml
  • Resources/Textures/Imperial/Kolontarev/anna.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/fedotov.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/gennady.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/keiko.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/probkin.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/stefan.rsi/meta.json

Comment thread Resources/Locale/ru-RU/Imperial/Kolontarev/CommunityPlushe.ftl Outdated
Comment thread Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml
Comment thread Resources/Textures/Imperial/Kolontarev/anna.rsi/meta.json Outdated
добавил в поле name Евгению Федотову его имя на английском
изменил лицензию
изменил лицензию
изменил лицензию
изменил лицензию
изменил лицензию
изменил лицензию
Добавил все 6 игрушек в случайный спавнер комьюнити игрушек

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml (1)

39-39: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Уберите нецензурные комментарии из прототипа.

На Line 39 и Line 99 комментарии содержат ненормативную лексику; лучше заменить на нейтральные технические пометки.

Also applies to: 99-99

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml` at line 39,
The comment on the hideSpawnMenu property and another location (Line 99) contain
profanity and should be replaced with neutral technical comments. Remove the
vulgar language from both comment locations and replace them with appropriate
technical notes that describe what the code does or any concerns about
functionality in a professional manner.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml`:
- Line 39: The comment on the hideSpawnMenu property and another location (Line
99) contain profanity and should be replaced with neutral technical comments.
Remove the vulgar language from both comment locations and replace them with
appropriate technical notes that describe what the code does or any concerns
about functionality in a professional manner.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1d850301-4b1d-4658-ac8f-1f8bb58cc0e4

📥 Commits

Reviewing files that changed from the base of the PR and between 03bb472 and c1cd323.

📒 Files selected for processing (9)
  • Resources/Locale/ru-RU/Imperial/Kolontarev/CommunityPlushe.ftl
  • Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml
  • Resources/Prototypes/Imperial/Other/TFG/Toughguys/plushie_spawner.yml
  • Resources/Textures/Imperial/Kolontarev/anna.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/fedotov.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/gennady.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/keiko.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/probkin.rsi/meta.json
  • Resources/Textures/Imperial/Kolontarev/stefan.rsi/meta.json

убрал комментарий
### Custom Item

- type: entity
hideSpawnMenu: true # <--- помоему она не работает

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Уберите, этого поля уже давно нет, используйте категории

Убрал нерабочие поля, заменил существующим аналогом
@Kolontarev Kolontarev requested a review from The-Fiafi June 23, 2026 14:01

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml (1)

73-76: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Замените устаревшее hideSpawnMenu на categories: [ HideSpawnMenu ].

В базовой сущности всё ещё используется hideSpawnMenu: true; по прошлому ревью это поле уже неактуально и должно быть заменено на категории (иначе настройка может игнорироваться).

💡 Предлагаемый фикс
 - type: entity
   parent: PlushieFumoJunko
-  hideSpawnMenu: true
+  categories: [ HideSpawnMenu ]
   id: BasePlushieKolontarev
   name: BasePlushieCharacter
#!/bin/bash
# Проверка использования hideSpawnMenu и categories в прототипах сущностей.
# Ожидание: для новых/актуальных сущностей должен использоваться categories: [ HideSpawnMenu ].

rg -n --glob '*.yml' '^\s*hideSpawnMenu\s*:\s*true\b' Resources/Prototypes
rg -n --glob '*.yml' '^\s*categories\s*:\s*\[\s*HideSpawnMenu\s*\]' Resources/Prototypes
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml` around lines
73 - 76, The entity BasePlushieKolontarev in the YAML file is using the
deprecated hideSpawnMenu field which should be replaced with the categories
approach for consistency with the current codebase standards. Remove the line
hideSpawnMenu: true from the entity definition and add categories: [
HideSpawnMenu ] in its place to properly hide the entity from the spawn menu
using the updated category-based system.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml`:
- Around line 73-76: The entity BasePlushieKolontarev in the YAML file is using
the deprecated hideSpawnMenu field which should be replaced with the categories
approach for consistency with the current codebase standards. Remove the line
hideSpawnMenu: true from the entity definition and add categories: [
HideSpawnMenu ] in its place to properly hide the entity from the spawn menu
using the updated category-based system.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2575f7cf-ca8f-4fa8-8a8f-647671ec15cc

📥 Commits

Reviewing files that changed from the base of the PR and between c1cd323 and be142f6.

📒 Files selected for processing (1)
  • Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml (1)

38-68: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Сделайте бутылки различимыми по имени.

KolontarevChemistryBottleChlorine и KolontarevChemistryBottleFluorine сейчас обе отображаются как bottle. У плюшки Стефана они лежат вместе, поэтому по инвентарю нельзя понять, где смесь, а где чистый фтор.

Предлагаемое исправление
 - type: entity
   id: KolontarevChemistryBottleChlorine
   categories: [ HideSpawnMenu ]
   suffix: Kolontarev
-  name: bottle
+  name: chlorine and fluorine bottle
   parent: BaseChemistryBottleFilled
   components:
   - type: SolutionContainerManager
     solutions:
       drink:
         maxVol: 30
         reagents:
         - ReagentId: Chlorine
           Quantity: 15
         - ReagentId: Fluorine
           Quantity: 15

 - type: entity
   id: KolontarevChemistryBottleFluorine
   categories: [ HideSpawnMenu ]
   suffix: Kolontarev
-  name: bottle
+  name: fluorine bottle
   parent: BaseChemistryBottleFilled
   components:
   - type: SolutionContainerManager
     solutions:
       drink:
         maxVol: 30
         reagents:
         - ReagentId: Fluorine
           Quantity: 30
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml` around lines
38 - 68, The two entity prototypes, KolontarevChemistryBottleChlorine and
KolontarevChemistryBottleFluorine, both use the same displayed name, which makes
them indistinguishable in inventory. Update their name fields in the
CommunityPlushie prototype definitions so each bottle has a unique, descriptive
name that reflects its contents, keeping the rest of the
SolutionContainerManager setup unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml`:
- Around line 74-75: `BasePlushieKolontarev` is inheriting from
`PlushieFumoJunko`, which pulls in Junko-specific behavior like `Speech` and
`SpeakOnTrigger` with the `FumoJunko` pack. Change the parent of
`BasePlushieKolontarev` in `CommunityPlushie.yml` to a neutral base plushie
prototype, or add explicit overrides to remove the inherited speech logic, so
Kolontarev plushies do not reuse Junko-specific components.

---

Outside diff comments:
In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml`:
- Around line 38-68: The two entity prototypes,
KolontarevChemistryBottleChlorine and KolontarevChemistryBottleFluorine, both
use the same displayed name, which makes them indistinguishable in inventory.
Update their name fields in the CommunityPlushie prototype definitions so each
bottle has a unique, descriptive name that reflects its contents, keeping the
rest of the SolutionContainerManager setup unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 70fbb368-2c42-4f82-8ec5-0d52a93772a1

📥 Commits

Reviewing files that changed from the base of the PR and between 8f6bb98 and b3ae10d.

📒 Files selected for processing (1)
  • Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml

Comment on lines +74 to +75
parent: PlushieFumoJunko
id: BasePlushieKolontarev

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Searching for PlushieFumoJunko definition..."
rg -n -C4 '^\s*id:\s*PlushieFumoJunko\b|^\s*parent:\s*PlushieFumoJunko\b' Resources

echo
echo "Candidate plushie prototype files:"
fd -i 'plushie*.yml' Resources/Prototypes

echo
echo "If the definition is found above, inspect the full prototype block and compare"
echo "its inherited components/fields against BasePlushieKolontarev to confirm that"
echo "Junko-specific behavior is not being reused accidentally."

Repository: imperial-space/SS14-public

Length of output: 10630


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "BasePlushieKolontarev block:"
sed -n '73,110p' Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml

echo
echo "PlushieFumoJunko block:"
sed -n '312,356p' Resources/Prototypes/Imperial/Crook/plushies.yml

echo
echo "Nearby children of PlushieFumoJunko:"
sed -n '357,470p' Resources/Prototypes/Imperial/Crook/plushies.yml

Repository: imperial-space/SS14-public

Length of output: 5225


Смените родителя на нейтральный базовый прототип
BasePlushieKolontarev наследует PlushieFumoJunko, поэтому в колонтаревские плюшки попадут Junko-специфичные компоненты, включая Speech и SpeakOnTrigger с паком FumoJunko. Лучше вынести общий базовый слой без этой логики или переопределить её явно.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Resources/Prototypes/Imperial/Kolontarev/CommunityPlushie.yml` around lines
74 - 75, `BasePlushieKolontarev` is inheriting from `PlushieFumoJunko`, which
pulls in Junko-specific behavior like `Speech` and `SpeakOnTrigger` with the
`FumoJunko` pack. Change the parent of `BasePlushieKolontarev` in
`CommunityPlushie.yml` to a neutral base plushie prototype, or add explicit
overrides to remove the inherited speech logic, so Kolontarev plushies do not
reuse Junko-specific components.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Change WIz Prototypes Изменения вмешиваются в код прототипов визардов Prototypes Изменения добавляет новые прототипы Resprite Изменения заменяют оригинальные текстуры визардов size/Small Насколько сложно будет апстримить Sprite Изменения добавляют спрайты

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants