Add scp delivery#992
Conversation
📝 WalkthroughWalkthroughДобавляет локализации, спрайты и три прототипа SCP-2263; создаёт соответствующие ящики, товары и market; вводит правила событий cargo_delivery с тремя доставками и интегрирует таблицу доставки в начало раунда. ИзмененияДоставка SCP-грузов
Sequence Diagram(s)sequenceDiagram
participant GameRule
participant StationEvent
participant CargoGiftsRule
participant Market
GameRule->>StationEvent: trigger (delay locked to 10)
StationEvent->>CargoGiftsRule: announce(description key)
CargoGiftsRule->>Market: grant cargoScpXXX -> Crate entity
Оценка затрат на проверку кода🎯 3 (Moderate) | ⏱️ ~25 минут Стихотворение
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (2 errors)
✅ Passed checks (8 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/scp/scp2263.ftl`:
- Around line 1-6: Все три записи (ent-Scp226362, ent-Scp226360, ent-Scp226318)
дублируют name и .desc; оставьте одну каноническую запись (например
ent-Scp226362 с name и .desc) и замените остальные на FTL-перекрёстные ссылки на
её атрибуты, например для ent-Scp226360 и ent-Scp226318 используйте ссылки типа
ent-Scp226360 = { ent-Scp226362 } и ent-Scp226360.desc = { ent-Scp226362.desc }
(и аналогично для ent-Scp226318) чтобы избежать дублирования.
In `@Resources/Prototypes/_Scp/Catalog/Fills/Crates/scp.yml`:
- Around line 1-36: Добавьте FTL-записи локализации для новых player-facing
прототипов: ent-CrateScp2263, ent-CrateScp124 и ent-CrateScp427; создайте
соответствующие ключи в затронутых локалях (например в наборе ru-RU) с
человекочитаемыми именами/описаниями для каждого прототипа, чтобы они не
наследовали имя родителя (ссылки на прототипы: CrateScp2263, CrateScp124,
CrateScp427); убедитесь, что имена ключей точно соответствуют формату
ent-<PrototypeId> и что FTL-файлы включены в PR.
In `@Resources/Prototypes/_Scp/GameRules/cargo_delivery.yml`:
- Around line 18-23: ScpCargoDeliveryTable использует GroupSelector с
единственным дочерним элементом DeliveryScp2263, поэтому DeliveryScp124 и
DeliveryScp427 никогда вызываются; update ScpCargoDeliveryTable (the
GroupSelector children list) to include DeliveryScp124 and DeliveryScp427
alongside DeliveryScp2263 so the scheduler can reach them, or if they should be
excluded remove their definitions to eliminate dead code — locate
ScpCargoDeliveryTable / GroupSelector and add the missing child IDs
(DeliveryScp124, DeliveryScp427) or delete the unused
DeliveryScp124/DeliveryScp427 entities accordingly.
🪄 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: 831d065d-3e28-4e06-9735-fc2cee8eeeed
⛔ Files ignored due to path filters (3)
Resources/Textures/_Scp/Objects/Scp/scp-2263.rsi/scp2263-18.pngis excluded by!**/*.pngResources/Textures/_Scp/Objects/Scp/scp-2263.rsi/scp2263-60.pngis excluded by!**/*.pngResources/Textures/_Scp/Objects/Scp/scp-2263.rsi/scp2263-62.pngis excluded by!**/*.png
📒 Files selected for processing (8)
Resources/Locale/ru-RU/_prototypes/_scp/entities/objects/scp/scp2263.ftlResources/Locale/ru-RU/_strings/_scp/station-events/events/cargo-delivery.ftlResources/Prototypes/_Scp/Catalog/Cargo/scp.ymlResources/Prototypes/_Scp/Catalog/Fills/Crates/scp.ymlResources/Prototypes/_Scp/Entities/Objects/Scp/scp2263.ymlResources/Prototypes/_Scp/GameRules/cargo_delivery.ymlResources/Prototypes/_Scp/GameRules/roundstart.ymlResources/Textures/_Scp/Objects/Scp/scp-2263.rsi/meta.json
| - type: cargoProduct | ||
| id: cargoScp2263 | ||
| product: CrateScp2263 | ||
| cost: 999999999 |
There was a problem hiding this comment.
Очень плохая реализация через очень огромную цену в карго.
Ну а так же их бесконечное количество...
Там разве нельзя скрыть продукт?
| suffix: SCP-2263 | ||
| components: | ||
| - type: Sprite | ||
| sprite: _Scp/Objects/Scp/scp-2263.rsi |
There was a problem hiding this comment.
Раздели это на подпапки.
Создай папку scp-2663, а внутри неё папки:
-> scp-2663-62.rsi
-> scp-2663-60.rsi
-> scp-2663-18.rsi
И туда уже помести спрайты различных состояний и направлений.
There was a problem hiding this comment.
а зачем там разные направления и состояния
There was a problem hiding this comment.
а зачем там разные направления и состояния
Потому что у тебя скелеты могут повырачиваться, вот это да, согласен? Чудо
| - !type:NestedSelector | ||
| tableId: CalmPestEventsTable | ||
| - !type:NestedSelector | ||
| tableId: ScpCargoDeliveryTable |
There was a problem hiding this comment.
Ты уверен, что это нужно добавлять в ротацию базовых ивентов?
Стоит под вопросом в связи со способом реализации доставки, его нужно менять, в карго не должны быть ящики объектов по космической цене.
There was a problem hiding this comment.
cargoproducts это за какую стоимость персонал может купить предмет
продать за ту же цену они не могут
There was a problem hiding this comment.
cargoproducts это за какую стоимость персонал может купить предмет
продать за ту же цену они не могут
Я в курсе, но это не должно так выглядеть
| - !type:NestedSelector | ||
| tableId: CalmPestEventsTable | ||
| - !type:NestedSelector | ||
| tableId: ScpCargoDeliveryTable |
There was a problem hiding this comment.
То-же самое, под вопросом.
| "x": 32, | ||
| "y": 32 | ||
| }, | ||
| "states": [ |
There was a problem hiding this comment.
Нужно разделить на разные meta.json файлы в разных папках и туда вписать различные состояния объекта, а так же его направления во все стороны света.
| children: | ||
| - id: Scp226362 | ||
| - id: Scp226360 | ||
| - id: Scp226318 |
There was a problem hiding this comment.
Все сразу в одном ящике?
There was a problem hiding this comment.
там рандомно спавнится один скелет какого либо вида
There was a problem hiding this comment.
там рандомно спавнится один скелет какого либо вида
Поставки скорее всего нужно реализовывать через C#, потому что в прототипах это выглядит ужасно, по крайней мере на текущий момент
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/_Scp/Catalog/Cargo/markets.yml`:
- Around line 1-2: The market prototype's id "scp" must be converted to
CamelCase (e.g., "Scp") in the markets.yml entry for the cargoMarket so it
conforms to Prototype ID format, and you must also update the corresponding
cargoProduct prototypes' group fields to match that new CamelCase id (search for
cargoProduct entries referencing group: scp and change them to group: Scp);
ensure the type remains cargoMarket and verify all references are updated
consistently.
In `@Resources/Prototypes/_Scp/Catalog/Cargo/scp.yml`:
- Around line 2-26: The prototype IDs "cargoScp2263", "cargoScp124", and
"cargoScp427" use snake/lowercase style and must be renamed to CamelCase (e.g.,
CargoScp2263-style) in the scp.yml entries (the type: cargoProduct blocks) to
meet the prototype ID format, and then update all places that reference
them—specifically the CargoGiftsRule.gifts mapping—so the renamed IDs are used
everywhere to avoid broken references.
🪄 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: 3f747125-7f0e-4d63-a06b-e64f8eee4dfe
📒 Files selected for processing (5)
Resources/Locale/ru-RU/_prototypes/_scp/catalog/fills/crates/scp.ftlResources/Locale/ru-RU/_prototypes/_scp/entities/objects/scp/scp2263.ftlResources/Prototypes/_Scp/Catalog/Cargo/markets.ymlResources/Prototypes/_Scp/Catalog/Cargo/scp.ymlResources/Prototypes/_Scp/GameRules/cargo_delivery.yml
| - type: cargoMarket | ||
| id: scp No newline at end of file |
There was a problem hiding this comment.
Приведите id рынка к CamelCase.
id: scp нарушает обязательный формат идентификаторов прототипов. Также нужно синхронно обновить group в связанных cargoProduct.
💡 Предлагаемое исправление
- id: scp
+ id: Scp# Resources/Prototypes/_Scp/Catalog/Cargo/scp.yml
- group: scp
+ group: ScpAs per coding guidelines: "Prototype ID format MUST be CamelCase".
📝 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.
| - type: cargoMarket | |
| id: scp | |
| - type: cargoMarket | |
| id: Scp |
🤖 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/Catalog/Cargo/markets.yml` around lines 1 - 2, The
market prototype's id "scp" must be converted to CamelCase (e.g., "Scp") in the
markets.yml entry for the cargoMarket so it conforms to Prototype ID format, and
you must also update the corresponding cargoProduct prototypes' group fields to
match that new CamelCase id (search for cargoProduct entries referencing group:
scp and change them to group: Scp); ensure the type remains cargoMarket and
verify all references are updated consistently.
| id: cargoScp2263 | ||
| product: CrateScp2263 | ||
| cost: 999999999 | ||
| icon: | ||
| sprite: Markers/cross.rsi | ||
| state: red | ||
| group: scp | ||
|
|
||
| - type: cargoProduct | ||
| id: cargoScp124 | ||
| product: CrateScp124 | ||
| cost: 999999999 | ||
| icon: | ||
| sprite: Markers/cross.rsi | ||
| state: red | ||
| group: scp | ||
|
|
||
| - type: cargoProduct | ||
| id: cargoScp427 | ||
| product: CrateScp427 | ||
| cost: 999999999 | ||
| icon: | ||
| sprite: Markers/cross.rsi | ||
| state: red | ||
| group: scp |
There was a problem hiding this comment.
Используйте CamelCase для cargoProduct идентификаторов.
cargoScp2263, cargoScp124, cargoScp427 не соответствуют обязательному формату ID. После переименования обязательно обновите ссылки в CargoGiftsRule.gifts.
💡 Предлагаемое исправление
- id: cargoScp2263
+ id: CargoScp2263
@@
- id: cargoScp124
+ id: CargoScp124
@@
- id: cargoScp427
+ id: CargoScp427# Resources/Prototypes/_Scp/GameRules/cargo_delivery.yml
- cargoScp2263: 1
+ CargoScp2263: 1
@@
- cargoScp124: 1
+ CargoScp124: 1
@@
- cargoScp427: 1
+ CargoScp427: 1As per coding guidelines: "Prototype ID format MUST be CamelCase".
🤖 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/Catalog/Cargo/scp.yml` around lines 2 - 26, The
prototype IDs "cargoScp2263", "cargoScp124", and "cargoScp427" use
snake/lowercase style and must be renamed to CamelCase (e.g.,
CargoScp2263-style) in the scp.yml entries (the type: cargoProduct blocks) to
meet the prototype ID format, and then update all places that reference
them—specifically the CargoGiftsRule.gifts mapping—so the renamed IDs are used
everywhere to avoid broken references.
|
@666XxttimurkaxX666 как там успехи? |
|
Шуруешь в драфт |



Краткое описание | Short description
теперь ру может иногда отправлять по логистике сцп для содержания в этом учреждении (геймрул короче)
а еще добавлены некоторые сцп 2263
это может помочь ученым, сб, инженерам (и наверно логистам) рпшить типо о нихуя сцп привезли и там потом сб заберут из логистов и ученые изучат и для него инженеры сделают камеру короче вот так вот
Ссылка на багрепорт/Предложение | Related Issue/Bug Report
Медиа (Видео/Скриншоты) | Media (Video/Screenshots)
Changelog
🆑 mama parashuta
Summary by CodeRabbit