Skip to content

Возможность сломать и починить пандору#1045

Open
666XxttimurkaxX666 wants to merge 5 commits into
space-sunrise:masterfrom
666XxttimurkaxX666:tweak-scp-173
Open

Возможность сломать и починить пандору#1045
666XxttimurkaxX666 wants to merge 5 commits into
space-sunrise:masterfrom
666XxttimurkaxX666:tweak-scp-173

Conversation

@666XxttimurkaxX666

@666XxttimurkaxX666 666XxttimurkaxX666 commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Краткое описание | Short description

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

Ссылка на багрепорт/Предложение | Related Issue/Bug Report

Медиа (Видео/Скриншоты) | Media (Video/Screenshots)

Скриншот-20260607-204010

Changelog

🆑 timur

  • tweak: Теперь при получении 500 урона у ангара Пандоры выбиваются ворота
  • tweak: Теперь блокировка замка Пандоры не происходит мгновенно

Summary by CodeRabbit

  • New Features

    • Добавлены новые варианты клетки SCP-173: разломанная клетка и дверь с независимой механикой взаимодействия.
    • Реализована система восстановления клетки с этапами якорения и сварки.
  • Bug Fixes

    • Снижены параметры прочности и устойчивости клетки к повреждениям.
  • Documentation

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

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

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

Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi

State Old New Status
broken Added
door Added

Edit: diff updated after 05e234e

@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@666XxttimurkaxX666, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 31 minutes and 45 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: bb157ddc-fecb-4355-8979-9cfa0247c053

📥 Commits

Reviewing files that changed from the base of the PR and between b4dcbf5 and 05e234e.

⛔ Files ignored due to path filters (2)
  • Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi/broken.png is excluded by !**/*.png
  • Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi/door.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • Resources/Locale/en-US/_prototypes/_scp/entities/objects/misc/scp_cage.ftl
  • Resources/Locale/en-US/_strings/_scp/scp/scp173.ftl
  • Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/misc/scp_cage.ftl
  • Resources/Locale/ru-RU/_strings/_scp/scp/scp173.ftl
  • Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml
  • Resources/Prototypes/_Scp/tags.yml
  • Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi/meta.json
📝 Walkthrough

Walkthrough

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

Changes

SCP-173 Cage damage and reconstruction

Layer / File(s) Summary
Cage destruction and component spawning
Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml
Снижены пороги сопротивления контейнера (resistTime: 300 → 180, damage trigger: 2000 → 500), добавлена логика разрушения при 500 урона с автоматическим порождением сущностей дверей и поломанной части клетки.
Tag registration and sprite state
Resources/Prototypes/_Scp/tags.yml, Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi/meta.json
Добавлен тег ScpCageDoor173 для идентификации компонента двери и новое состояние "door" в RSI спрайт-ресурс для визуального представления.
Cage reconstruction workflow
Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml
Определен граф конструкции ScpCage173 с цепочкой этапов (start → doorInserted → doorAnchored → finished), требующих инструменты якорения и сварки, завершаясь созданием восстановленного контейнера.
Localization for cage variants
Resources/Locale/en-US/_prototypes/_scp/entities/objects/misc/scp_cage.ftl, Resources/Locale/en-US/_strings/_scp/scp/scp173.ftl, Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/misc/scp_cage.ftl, Resources/Locale/ru-RU/_strings/_scp/scp/scp173.ftl
Добавлены строки локализации для новых вариантов контейнера на английском и русском; обновлены существующие описания в русской локали с фиксацией пунктуации.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Suggested labels

📦 YAML | Прототип 📦, 🧊 Нет C# 🧊, 🖌️ Спрайты 🖌️, 📚 Изменения: Локализация 📚

Suggested reviewers

  • ThereDrD0

Poem

🐰 Клетку сломали — на части упала,
Двери и куски — строитель спасала,
Якорь и сварка — волшебный расчёт,
Пандора с трудом, но опять оживёт! ✨


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (2 errors)

Check name Status Explanation Resolution
Ss14 Yaml/Ftl Rules ❌ Error Новые сущности CrateScpCageDoor173 и CrateScpBrokenCage173 в YAML отсутствуют обязательные английские fallback name и description поля, нарушая правило ss14-ecs-prototypes. Добавьте английские name и description в YAML для обеих новых сущностей, например: name: Pandora container doors и description: ... для CrateScpCageDoor173.
Ss14 Prototype ↔ Ftl Parity ❌ Error Новые player-facing прототипы CrateScpCageDoor173 и CrateScpBrokenCage173 добавлены без обязательных полей name/description в YAML, хотя FTL локализация синхронизирована в обеих локалях. Добавить английские fallback поля name и description для CrateScpCageDoor173 и CrateScpBrokenCage173 в scp_cage.yml согласно ss14-ecs-prototypes требованиям.
✅ Passed checks (8 passed)
Check name Status Explanation
Title check ✅ Passed Название точно отражает основное изменение: добавлена механика разрушения и ремонта контейнера Пандора для SCP-173.
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.
Ss14 Bridge Sync ✅ Passed All canonical rules (3) and skills (42) in .agent/ have their required bridge files updated in .agents/, .claude/, .cursor/, and .github/ with correct source references.
Ss14 C# Rules ✅ Passed PR не содержит изменений файлов .cs; проверка SS14 C# rules неприменима. Все изменения касаются локализации (.ftl), прототипов (.yml) и метаданных текстур (.json).
Ss14 Prediction Safety ✅ Passed PR изменяет только файлы в Resources/ (локализация, прототипы, текстуры), не затрагивает Content.Shared/** или predicted code. Проверка SS14 Prediction Safety не применима.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

@666XxttimurkaxX666

Copy link
Copy Markdown
Contributor Author

@WardexOfficial

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

Caution

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

⚠️ Outside diff range comments (1)
Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml (1)

61-95: ⚠️ Potential issue | 🟠 Major

Порог разрушения 500 в scp_cage.yml: проверьте, что он применяется только к сценариям Pandora и корректно выполняет спавн

  • Утечки на другие клетки через наследование не видно: изменение resistTime и базового Destructible живёт в цепочке CrateScpCage* и не должно затрагивать прочие _Scp варианты.
  • В CrateScpCage и CrateScpCageScp173 используется Destructible.thresholds с damage: 500, но с разной логикой (DoActsBehavior vs SpawnEntitiesBehavior + последующий Destruction) — при конфликте/порядке срабатываний SpawnEntitiesBehavior может не успеть отработать; приведите логику к одному порогу/поведению или явно гарантируйте нужный порядок.
  • CrateScpCageDoor173 и CrateScpBrokenCage173 в YAML не содержат fallback name/description (EN), из‑за чего нарушаются требования к localization-strings; добавьте соответствующие английские fallback значения в YAML.
🤖 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/_Scp/Entities/Objects/Misc/scp_cage.yml` around lines 61
- 95, The Destructible.thresholds damage: 500 entry must be scoped/normalized so
spawning always runs before final destruction: update CrateScpCage and
CrateScpCageScp173 to either (A) consolidate into a single
Destructible.thresholds entry that lists SpawnEntitiesBehavior followed by
Destruction/DoActsBehavior in that order, or (B) explicitly guarantee execution
order (place SpawnEntitiesBehavior in the same threshold above DoActsBehavior or
use an explicit ordering flag if available) so SpawnEntitiesBehavior completes
before the Destruction behavior; ensure this 500 threshold only applies to
Pandora scenarios (guard it with the same conditional/tag used for Pandora
variants) and confirm the resistTime change remains scoped via the CrateScpCage*
inheritance chain. Also add English fallback name and description entries for
CrateScpCageDoor173 and CrateScpBrokenCage173 in the YAML to satisfy
localization-strings requirements.
🤖 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/en-US/_prototypes/_scp/entities/objects/misc/scp_cage.ftl`:
- Line 12: Update the .desc value in scp_cage.ftl to replace the awkward phrase
"without gate" with a natural English variant (prefer "without its gate" or
"without a gate"); specifically edit the .desc entry for the SCP cage entity to
read e.g. "The Pandora hangar without its gate. To fix it, you need to put the
door on its hinges, tighten them with a wrench, and then weld it." and ensure
the change follows the ss14-localization-strings quality expectations for
player-facing text.

In `@Resources/Locale/en-US/_strings/_scp/scp/scp173.ftl`:
- Line 4: The string key scp-cage-door-insert currently reads "gates of the
\"Pandora\"" (plural) but the gameplay step and ru-RU translation refer to
inserting a single door; update the en-US value to a singular form that matches
the action (e.g., change to "gate of the \"Pandora\"" or similar singular
phrasing) so the scp-cage-door-insert locale entry aligns with gameplay and
other locales.

In `@Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/misc/scp_cage.ftl`:
- Line 12: Fix the typo in the localization entry for the SCP cage description:
update the .desc string that currently contains "петели" to the correct word
"петли" so the repair instruction reads "поставить дверь на петли, прикрутить их
гаечным ключом и использовать сварку"; ensure only the word is changed in the
.desc value to comply with ss14-localization-strings rules.

In `@Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml`:
- Around line 161-200: Add English fallback localization fields to the two new
prototypes so editor/Toolshed have defaults: for entities CrateScpCageDoor173
and CrateScpBrokenCage173 add explicit YAML keys name and description (and
suffix if applicable by project convention) with English text directly in the
prototype block (in addition to any FTL keys), e.g. simple descriptive English
strings that match the entity purpose; ensure the fields are placed alongside
existing keys in each entity YAML entry.

---

Outside diff comments:
In `@Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml`:
- Around line 61-95: The Destructible.thresholds damage: 500 entry must be
scoped/normalized so spawning always runs before final destruction: update
CrateScpCage and CrateScpCageScp173 to either (A) consolidate into a single
Destructible.thresholds entry that lists SpawnEntitiesBehavior followed by
Destruction/DoActsBehavior in that order, or (B) explicitly guarantee execution
order (place SpawnEntitiesBehavior in the same threshold above DoActsBehavior or
use an explicit ordering flag if available) so SpawnEntitiesBehavior completes
before the Destruction behavior; ensure this 500 threshold only applies to
Pandora scenarios (guard it with the same conditional/tag used for Pandora
variants) and confirm the resistTime change remains scoped via the CrateScpCage*
inheritance chain. Also add English fallback name and description entries for
CrateScpCageDoor173 and CrateScpBrokenCage173 in the YAML to satisfy
localization-strings requirements.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 05779872-dda5-4295-bbe2-c302d3c74a9f

📥 Commits

Reviewing files that changed from the base of the PR and between d5005be and b4dcbf5.

⛔ Files ignored due to path filters (1)
  • Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi/door.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • Resources/Locale/en-US/_prototypes/_scp/entities/objects/misc/scp_cage.ftl
  • Resources/Locale/en-US/_strings/_scp/scp/scp173.ftl
  • Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/misc/scp_cage.ftl
  • Resources/Locale/ru-RU/_strings/_scp/scp/scp173.ftl
  • Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml
  • Resources/Prototypes/_Scp/tags.yml
  • Resources/Textures/_Scp/Objects/Misc/scp_cage.rsi/meta.json

Comment thread Resources/Locale/en-US/_prototypes/_scp/entities/objects/misc/scp_cage.ftl Outdated
Comment thread Resources/Locale/en-US/_strings/_scp/scp/scp173.ftl Outdated
Comment thread Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/misc/scp_cage.ftl Outdated
Comment thread Resources/Prototypes/_Scp/Entities/Objects/Misc/scp_cage.yml
@WardexOfficial

Copy link
Copy Markdown
Collaborator

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

@WardexOfficial

Copy link
Copy Markdown
Collaborator
image А так же выясни, почему происходит такая ошибка

@666XxttimurkaxX666

Copy link
Copy Markdown
Contributor Author

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

оно и так это делает

@666XxttimurkaxX666

666XxttimurkaxX666 commented Jun 7, 2026

Copy link
Copy Markdown
Contributor Author

image А так же выясни, почему происходит такая ошибка

это никак не связанно с моим пром

@666XxttimurkaxX666

Copy link
Copy Markdown
Contributor Author

оно происходит вообще рандомно и без разницы от чего

@666XxttimurkaxX666

Copy link
Copy Markdown
Contributor Author

типо я видел эту ошибку даже тогда когда просто брал в руки 999 или швабру в две руки

@WardexOfficial

Copy link
Copy Markdown
Collaborator

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

оно и так это делает

Оно просто спавнит сломанную пандору, в осмотре которой не пишет, что нужно ткнуть гаечным или дверкой, ты это вписал в описании. Сделай это как реализовано в тех-же постройках консолей и т.п.
Так же после того, как тыкаешь дверкой по Пандоре (вставляешь её), она должна визуально появлятся на Пандоре, сейчас оно так не делает

@666XxttimurkaxX666

Copy link
Copy Markdown
Contributor Author

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

оно и так это делает

Оно просто спавнит сломанную пандору, в осмотре которой не пишет, что нужно ткнуть гаечным или дверкой, ты это вписал в описании. Сделай это как реализовано в тех-же постройках консолей и т.п. Так же после того, как тыкаешь дверкой по Пандоре (вставляешь её), она должна визуально появлятся на Пандоре, сейчас оно так не делает

Скриншот-20260608-203949 Скриншот-20260608-204413 Скриншот-20260608-204436

@MIDUZKA

MIDUZKA commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Возьмите спрайты с канала спрайтеров. Там есть и двери и сломанная пандора. Дрд запрашивал спрайты несколько месяцев назад

@MIDUZKA

MIDUZKA commented Jun 9, 2026

Copy link
Copy Markdown
Contributor
Screenshot_20260609_094243_com_discord_MainActivity_edit_554385573071197 Screenshot_20260609_094302_com_discord_MainActivity

Вот такие

@666XxttimurkaxX666

Copy link
Copy Markdown
Contributor Author

Возьмите спрайты с канала спрайтеров. Там есть и двери и сломанная пандора. Дрд запрашивал спрайты несколько месяцев назад

у меня нет доступа к каналам спрайтеров

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