Skip to content

Expedition tweaks 14#4516

Open
KaiserMaus wants to merge 15 commits into
space-sunrise:masterfrom
KaiserMaus:Expedition-Tweaks-14
Open

Expedition tweaks 14#4516
KaiserMaus wants to merge 15 commits into
space-sunrise:masterfrom
KaiserMaus:Expedition-Tweaks-14

Conversation

@KaiserMaus

@KaiserMaus KaiserMaus commented Jun 13, 2026

Copy link
Copy Markdown
Collaborator

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

  • Добавлены повреждённые варианты пиратских EVA/скафандров без защиты от космоса.
    Повреждённые пиратские скафандры добавлены в пиратские лут-пулы как утешительный дроп.

  • Добавлен пиратский доступ, электроника шлюза и локализация доступа.
    Добавлены пиратские варианты шлюзов, виндура и кнопки с пиратским доступом.
    На пиратских шаттлах заменены nukeops/syndicate шлюзы, виндуры и кнопки на пиратские варианты.

  • Обычный хамелеон-скафандр в аплинке заменён на развёртываемую коробку чтобы не путались.
    Добавлено хранилище SuitStorageSyndieChameleon с баллонами, чёрным джетпаком и коробкой хамелеон-скафандра.
    На шаттле ДО заменено хранилище скафандра на вариант с хамелеон-скафандром.
    Хамелеон-скафандру снижено замедление передвижения.

  • Антагонистическим гарнитурам добавлены несъёмные ядерные батареи.

  • На некоторых антагонистических картах медвендоры заменены на синдикатские. ( Interdyne )

Всякое

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

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

Changelog

🆑 KaiserMaus

  • tweak: Гарнитуры Фрилансеров и Кроваво-красные теперь имеют самозаряжаемую несьемную батарейку.
  • tweak: Повышен шанс выпадение скафандров с NPC пиратов.
  • tweak: LopPop Король Крыс теперь имеет одного гвардейца вместо 0.
  • tweak: Продвинутый магнит получил свой спрайт.

Summary by CodeRabbit

  • New Features
    • Добавлены уровень доступа «Пиратский», соответствующие локализации и пиратские заблокированные двери/шлюзы/люки/кнопки/защищённые входы, а также пиратские версии на антаг-картах.
    • Новые пиратские предметы: коробка BoxHardsuitChameleon и хранилище SuitStorageSyndieChameleon.
  • Balance / Gameplay
    • Добавлены повреждённые варианты пиратской EVA/хардсьюта, скорректированы их параметры и изменены шансы пиратского лута.
  • Bug Fixes
    • Исправлен ранний вылет шаттла с консоли: без разумных участников процесс больше не блокируется.
  • Other
    • У части гарнитур питание теперь не извлекается (несъёмная ядерная батарея).
    • Улучшены визуалы магнита спасательных работ и добавлен подтип роли «Prisoner».

@coderabbitai

coderabbitai Bot commented Jun 13, 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

Walkthrough

PR вводит систему доступа Pirate, добавляет связанные локализации и прототипы дверей/кнопок/windoor, упаковку chameleon hardsuit и хранилище, вносит массовые правки карт антагонистов, расширяет NPC loot и правит ряд прототипов (гарнитуры, орудия, мобы, карты).

Changes

Pirate Faction System

Layer / File(s) Summary
Pirate Access Level & ID Card Integration
Resources/Prototypes/_Sunrise/Access/pirate.yml, Resources/Locale/en-US/_prototypes/_sunrise/access/accesses.ftl, Resources/Locale/ru-RU/_prototypes/_sunrise/access/accesses.ftl, Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
Определён новый уровень доступа Pirate, добавлены локализации Pirate/Пиратский, и ComputerIdUSSP расширен для поддержки Pirate.
Pirate Door Electronics & Access Control Systems
Resources/Prototypes/_Sunrise/Entities/Objects/Devices/Electronics/door_access.yml, Resources/Locale/*/_prototypes/_sunrise/entities/objects/devices/electronics/door_access.ftl, Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/access.yml, Resources/Locale/*/_prototypes/_sunrise/entities/structures/doors/airlocks/access.ftl, Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Windoors/windoor.yml, Resources/Locale/*/_prototypes/_sunrise/entities/structures/doors/windoors/windoor.ftl, Resources/Prototypes/_Sunrise/Entities/Structures/Wallmounts/Switches/switch.yml, Resources/Locale/*/_prototypes/_sunrise/entities/structures/wallmounts/switches/switch.ftl
Добавлена DoorElectronicsPirate с AccessReader для ["Pirate"]; созданы pirate Locked‑варианты airlock/windoor/hatch и LockableButtonPirate с локализациями en/ru.
Chameleon Hardsuit & Storage System
Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml, Resources/Locale/*/_prototypes/_sunrise/catalog/fills/boxes/syndicate.ftl, Resources/Prototypes/_Sunrise/Catalog/Fills/Lockers/suit_storage.yml, Resources/Locale/*/_prototypes/_sunrise/catalog/fills/lockers/suit_storage.ftl, Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml
Добавлена BoxHardsuitChameleon и SuitStorageSyndieChameleon; uplink‑product обновлён на коробку; добавлены соответствующие строки локализаций.
Damaged EVA & Hardsuit Variants for Loot
Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/hardsuits.yml, Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/softsuits.yml, Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/*
Добавлены damaged‑варианты Pirate/Privateer/Scaf с изменёнными Protection/Tag; обновлены русские локализации суффиксов/описаний; скоростные модификаторы для ClothingOuterHardsuitChameleon обновлены.
Locked Nuclear Power Cells in Headsets
Resources/Prototypes/Entities/Clothing/Ears/headsets.yml, Resources/Prototypes/Entities/Clothing/Ears/headsets_alt.yml, Resources/Prototypes/_Sunrise/Entities/Clothing/Ears/headsets.yml
В нескольких гарнитурах (включая alt и no-key варианты) добавлен cell_slot с PowerCellSmallNuclear, disableEject: true, locked: true.
ShuttleGun Ulan Rebalance & Radar Systems
Resources/Prototypes/_Sunrise/Entities/Structures/Shuttles/cannons.yml
ShuttleGunUlan: смена parent, добавлены Fixtures/Anchorable/Pullable/Destructible, скорректированы Gun‑параметры и добавлены radar/extension cable/price компоненты.
Pirate NPC Loot Tables Expansion
Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml
Лут‑пулы пиратов расширены damaged‑вариантами брони (prob: 0.4) с сохранением orGroup; добавлены/переданы позиции для grenade и energy shield пулов.
Salvage Faction Probability Tuning
Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml
В PiratesT2, PiratesT3, SovietsLight и Soviets скорректированы prob для различных squad spawners и unique squads.
NPC Mob Balance & Trigger Components
Resources/Prototypes/_Sunrise/NPCs/pirates.yml, Resources/Prototypes/_Sunrise/NPCs/soviets.yml, Resources/Prototypes/_Sunrise/NPCs/SiliconNPC/mob_hostile_rogue_silicons.yml
У ряда мобов заменены GibOnTrigger на SpawnOnTrigger и RadarBlip; скорректированы MobThresholds, MeleeChemicalInjector, BatteryAmmoProvider.
Role Types Restructure
Resources/Prototypes/_Sunrise/Roles/role_types.yml, Resources/Prototypes/Roles/role_types.yml, Resources/Locale/ru-RU/_strings/_sunrise/mind/role-types.ftl, Resources/Locale/ru-RU/_strings/mind/role-types.ftl
CorporateAligned и TSFAligned добавлены в Sunrise config и удалены из базового; русские локализации перенесены в Sunrise-локаль.
Prisoner Role & Salvage FTL System
Resources/Locale/en-US/_strings/mind/role-types.ftl, Resources/Prototypes/_Sunrise/Roles/MindRoles/mind_roles.yml, Content.Server/Salvage/SalvageSystem.Runner.cs
Добавлена локализация role-subtype-prisoner; MindRolePlanetPrisoner получил subtype; в SalvageSystem.Runner добавлен фильтр для пропуска сущностей без разума при проверке FTL участников.
Antagonist Map Updates
Resources/Maps/_Sunrise/Shuttles/Antag/*, Resources/Maps/_Sunrise/Dungeon/pirate_base.yml, Resources/Maps/_Sunrise/Nonstations/nukieplanet.yml
На картах заменены прототипы шлюзов/кнопок/вендингов/хранилищ на pirate/syndicate‑варианты; mothership получил метаданные и TileHistory; nukieplanet обновлён с новыми прототипами.
Large Map Overhauls
Resources/Maps/_Sunrise/Shuttles/Salvage/oredozer.yml, Resources/Maps/_Sunrise/Shuttles/Salvage/asteroidcracker.yml
Oredozer: заменены 4 прототипа. Asteroidcracker: полная перестройка tilemap, DecalGrid, GridAtmosphere и прототипов с новыми uid.
ERT Shuttle Integration
Resources/Maps/_Sunrise/Shuttles/DSO/ERT/ERT-Small-Red.yml, Resources/Prototypes/_Sunrise/GameRules/unknown_shuttles.yml, Resources/Prototypes/Roles/Jobs/CentComm/emergencyresponseteam.yml
Добавлена полная конфигурация карты ERT-Small-Red с грид-системой и объектами; добавлено правило ERTShuttleSmallRed; обновлён ERT headset на ClothingHeadsetAltERT.
Soviet Loot & Misc Balance Tweaks
Resources/Prototypes/_Sunrise/NPCs/PirateNPC/SovietNPC/npc_loot_soviet.yml, Resources/Prototypes/_Sunrise/Entities/Structures/Machines/salvage.yml, Resources/Prototypes/_Sunrise/Entities/Structures/Wallmounts/wallmount_radar.yml, Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/meta.json, Resources/Prototypes/_Sunrise/Entities/Mobs/NPCs/regalrat.yml, Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Guns/*
Лут советских NPC скорректирован; добавлены Sprite и meta.json для salvage; уменьшен arc у WallmountRadar; обновлены параметры оружия и гарнитур; добавлены shape параметры для gauntlets.

Sequence Diagram(s)

sequenceDiagram
  participant Card as ID Card
  participant Door as Airlock/Windoor/Hatch
  participant Electronics as DoorElectronicsPirate
  participant Reader as AccessReader
  Card->>Door: попытка открыть
  Door->>Electronics: проверить доступ
  Electronics->>Reader: разрешить "Pirate"?
  Reader-->>Electronics: результат проверки
  Electronics-->>Door: открыть/закрыть
  Door-->>Card: успех/ошибка доступа
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Suggested reviewers

  • Orvex07
  • kanopus952

Poem

🏴‍☠️ В код прибыла отважная банда,
С доступом новым, твёрдой командой.
Шлюзы и двери поют мятежно,
Карты антагов горят мятежно.
Лут пополнен — вперёд, в авантюры! 🗡️✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Caution

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

⚠️ Outside diff range comments (1)
Resources/Maps/_Sunrise/Shuttles/Antag/falcon.yml (1)

3360-3609: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Синхронизируйте доступ у LockableButtonPirate с пиратским контуром.

На Line 3570 в accessListsOriginal всё ещё стоит NuclearOperative. После перевода кнопки на пиратский прототип это ломает ожидаемую доступность для пиратского доступа.

💡 Предлагаемая правка
     - type: AccessReader
       accessListsOriginal:
-      - - NuclearOperative
+      - - Pirate
🤖 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/Maps/_Sunrise/Shuttles/Antag/falcon.yml` around lines 3360 - 3609,
В прототипе LockableButtonPirate исправьте список доступа у компонента
AccessReader: найдите entity с uid 468 и в его accessListsOriginal замените
значение "NuclearOperative" на пиратскую роль (например "Pirate" или имя группы,
используемой в проекте для пиратского доступа) чтобы синхронизировать доступ
кнопки с пиратским контуром.
🤖 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/Maps/_Sunrise/Shuttles/Antag/falcon.yml`:
- Line 663: Run the YAML linter and attach the Content.YAMLLinter output for the
changed .yml files; then fix the access conflict for uid 468 in falcon.yml by
aligning the AccessReader.accessListsOriginal with the pirate-locked prototypes
(AirlockExternalGlassShuttlePirateLocked and AirlockHatchPirateLocked) — either
replace [NuclearOperative] with the appropriate pirate access list(s) used
elsewhere (e.g., Pirate/Privateer role names) or add a compatible pirate access
group so the airlock prototypes and AccessReader agree; ensure the file passes
the YAML linter after the change and include the linter output in the PR.

In `@Resources/Maps/_Sunrise/Shuttles/Antag/mothership.yml`:
- Around line 4817-4826: В точке pos: 1.5,2.5 есть конфликт: оставьте только
один объект-кнопку (либо сохранить SignalButtonDirectional, либо
SignalButtonUlan) и удалите дублирующий описатель; перенесите все компоненты
DeviceLinkSource и их linkedPorts на выбранный экземпляр кнопки (если
DeviceLinkSource сейчас на SignalButtonDirectional — убедитесь, что его
linkedPorts сохранены и прописаны у оставшейся сущности), а у удалённой кнопки
удалите/очистите связующие поля (например linkedPorts) чтобы исключить
дублирующую интеракцию. Сделайте минимальное изменение в YAML — либо удалите
блок сущности для SignalButtonUlan на pos 1.5,2.5, либо удалите/перенесите
DeviceLinkSource из SignalButtonDirectional в SignalButtonUlan, сохранив
правильные linkedPorts у единственной оставшейся кнопки.

In `@Resources/Prototypes/_Sunrise/Entities/Clothing/Ears/headsets.yml`:
- Around line 265-271: Add short English explanatory comments next to the new
locked and disableEject settings in the ItemSlots -> cell_slot block (the
cell_slot that sets startingItem: PowerCellSmallNuclear) clarifying that
disableEject prevents player removal of the power cell and locked makes the slot
non-interactable/locked by default; also add the same brief comment to the other
similar ItemSlots/cell_slot YAML block in the same file so both occurrences
document the non-removable/locked behavior.

In `@Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/softsuits.yml`:
- Around line 246-303: The damaged EVA child prototypes
(ClothingOuterEVASuitPirateArmoredDamaged,
ClothingOuterEVASuitPirateArmoredAltDamaged, ClothingOuterHardsuitScafDamaged
and the top-level damaged full-body Tag block) override the Tag component and
drop the inherited SuitEVA tag; restore EVA classification by adding "SuitEVA"
to each Tag.tags array in those damaged entities (i.e., include SuitEVA
alongside the existing MonkeyWearable/FullBodyOuter/WhitelistChameleon or
FullBodyOuter/WhitelistChameleon entries) so the child Tag components explicitly
contain the SuitEVA entry.

In `@Resources/Prototypes/Entities/Clothing/Ears/headsets.yml`:
- Around line 301-309: Replace the Russian inline comment and the non-canonical
Sunrise markers with an English comment and the canonical Sunrise marker format
in each affected block: in
Resources/Prototypes/Entities/Clothing/Ears/headsets.yml (301-309) change the
Russian comment and the "Sunrise edit start" / "Sunrise edit end" markers to an
English comment (e.g. "Sunrise edit - non-removable nuclear battery for
antagonist headsets") and canonical markers (e.g. "Sunrise edit: start" and
"Sunrise edit: end") surrounding the ItemSlots block; do the same for the second
block in Resources/Prototypes/Entities/Clothing/Ears/headsets.yml (340-348) and
for both blocks in Resources/Prototypes/Entities/Clothing/Ears/headsets_alt.yml
(137-145 and 163-171), ensuring the content inside each block is unchanged and
only the comment text and marker lines are updated.

---

Outside diff comments:
In `@Resources/Maps/_Sunrise/Shuttles/Antag/falcon.yml`:
- Around line 3360-3609: В прототипе LockableButtonPirate исправьте список
доступа у компонента AccessReader: найдите entity с uid 468 и в его
accessListsOriginal замените значение "NuclearOperative" на пиратскую роль
(например "Pirate" или имя группы, используемой в проекте для пиратского
доступа) чтобы синхронизировать доступ кнопки с пиратским контуром.
🪄 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: aeb1eac2-2277-4be9-b7c5-811677008a3d

📥 Commits

Reviewing files that changed from the base of the PR and between 350a757 and e414657.

📒 Files selected for processing (41)
  • Resources/Locale/en-US/_prototypes/_sunrise/access/accesses.ftl
  • Resources/Locale/en-US/_prototypes/_sunrise/catalog/fills/boxes/syndicate.ftl
  • Resources/Locale/en-US/_prototypes/_sunrise/catalog/fills/lockers/suit_storage.ftl
  • Resources/Locale/en-US/_prototypes/_sunrise/entities/objects/devices/electronics/door_access.ftl
  • Resources/Locale/en-US/_prototypes/_sunrise/entities/structures/doors/airlocks/access.ftl
  • Resources/Locale/en-US/_prototypes/_sunrise/entities/structures/doors/windoors/windoor.ftl
  • Resources/Locale/en-US/_prototypes/_sunrise/entities/structures/wallmounts/switches/switch.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/access/accesses.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/catalog/fills/boxes/syndicate.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/catalog/fills/lockers/suit_storage.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/hardsuits.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/entities/clothing/outerclothing/softsuits.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/devices/electronics/door_access.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/entities/structures/doors/airlocks/access.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/entities/structures/doors/windoors/windoor.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/entities/structures/wallmounts/switches/switch.ftl
  • Resources/Maps/_Sunrise/Dungeon/pirate_base.yml
  • Resources/Maps/_Sunrise/Shuttles/Antag/assaultops.yml
  • Resources/Maps/_Sunrise/Shuttles/Antag/falcon.yml
  • Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_dropship.yml
  • Resources/Maps/_Sunrise/Shuttles/Antag/infiltrator_dropship_soviet.yml
  • Resources/Maps/_Sunrise/Shuttles/Antag/mothership.yml
  • Resources/Maps/_Sunrise/Shuttles/Antag/rust_brass.yml
  • Resources/Prototypes/Entities/Clothing/Ears/headsets.yml
  • Resources/Prototypes/Entities/Clothing/Ears/headsets_alt.yml
  • Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
  • Resources/Prototypes/_Sunrise/Access/pirate.yml
  • Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml
  • Resources/Prototypes/_Sunrise/Catalog/Fills/Lockers/suit_storage.yml
  • Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml
  • Resources/Prototypes/_Sunrise/Entities/Clothing/Ears/headsets.yml
  • Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/hardsuits.yml
  • Resources/Prototypes/_Sunrise/Entities/Clothing/OuterClothing/softsuits.yml
  • Resources/Prototypes/_Sunrise/Entities/Objects/Devices/Electronics/door_access.yml
  • Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/access.yml
  • Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Windoors/windoor.yml
  • Resources/Prototypes/_Sunrise/Entities/Structures/Shuttles/cannons.yml
  • Resources/Prototypes/_Sunrise/Entities/Structures/Wallmounts/Switches/switch.yml
  • Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml
  • Resources/Prototypes/_Sunrise/NPCs/SiliconNPC/mob_hostile_rogue_silicons.yml
  • Resources/Prototypes/_Sunrise/NPCs/pirates.yml
👮 Files not reviewed due to content moderation or server errors (1)
  • Resources/Maps/_Sunrise/Dungeon/pirate_base.yml

Comment thread Resources/Maps/_Sunrise/Shuttles/Antag/falcon.yml
Comment thread Resources/Maps/_Sunrise/Shuttles/Antag/mothership.yml
Comment thread Resources/Prototypes/_Sunrise/Entities/Clothing/Ears/headsets.yml
Comment thread Resources/Prototypes/Entities/Clothing/Ears/headsets.yml
@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

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

Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi

State Old New Status
salvage-magnet-o0 Added
salvage-magnet-o1 Added
salvage-magnet-o2 Added
salvage-magnet-o3 Added
salvage-magnet-o4 Added
salvage-magnet-ready-blinking Added
salvage-magnet-ready Added
salvage-magnet-unready-blinking Added
salvage-magnet-unready Added
salvage-magnet Added

Edit: diff updated after 9c1d69d

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

Caution

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

⚠️ Outside diff range comments (1)
Resources/Prototypes/_Sunrise/Entities/Mobs/NPCs/regalrat.yml (1)

1-8: ⚠️ Potential issue | 🟠 Major

Противоречие “No Guard” и maxGuardCount: 1 в MobRatKingNoGuard
MobRatKingNoGuard используется спавнером ghost-роля SpawnPointGhostRatKingNoGuard, при этом в RatKingSystem охранники можно призывать, пока livingGuards < component.MaxGuardCount; с maxGuardCount: 1 вариант фактически не “без охраны” (допускается наличие/призыв как минимум 1 стража), что конфликтует с suffix: No Guard и комментарием “without guards”. Либо установите maxGuardCount: 0, либо синхронизируйте ID/комментарий/suffix с новым смыслом.

🤖 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/_Sunrise/Entities/Mobs/NPCs/regalrat.yml` around lines 1
- 8, The MobRatKingNoGuard entity currently declares suffix: "No Guard" but sets
the RatKing component's maxGuardCount: 1, which allows spawning guards; update
this to match the intended semantics by either setting maxGuardCount: 0 in the
RatKing component on MobRatKingNoGuard (to truly disable guards) or renaming the
entity/ suffix/ comment (and the spawner SpawnPointGhostRatKingNoGuard usage) to
reflect that one guard is allowed; locate and edit the MobRatKingNoGuard
definition (the RatKing component) and, if you choose the renaming approach,
update the ID/suffix and any references such as SpawnPointGhostRatKingNoGuard
and any logic in RatKingSystem that checks component.MaxGuardCount to keep names
and behavior consistent.
🤖 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/Maps/_Sunrise/Nonstations/nukieplanet.yml`:
- Around line 11095-11102: The MetaData block for entity uid 2473 contains
Russian literal strings in fields name and desc; remove those literals by moving
the Russian text into the localization (FTL) files and replace the YAML values:
set MetaData.name and MetaData.desc to English fallback strings that match the
English localization (or to the appropriate localization keys if your system
expects keys in YAML), and add corresponding Russian entries in the localization
files so the original Russian copy is served via FTL rather than embedded in the
YAML.

In `@Resources/Prototypes/_Sunrise/Roles/role_types.yml`:
- Around line 5-6: Add missing primary role type entries for CorporateAligned
and TSFAligned to the RoleTypes.xml listing of primary role types (ensure the
entries use the exact IDs CorporateAligned and TSFAligned). Update both copies
of RoleTypes.xml that define primary role types so the IDs are present and
identical between the files, or alternatively change the code/consumers to use
the IDs that already exist; ensure no duplicate IDs and that the new entries
follow the same XML entry schema used by existing role types.

---

Outside diff comments:
In `@Resources/Prototypes/_Sunrise/Entities/Mobs/NPCs/regalrat.yml`:
- Around line 1-8: The MobRatKingNoGuard entity currently declares suffix: "No
Guard" but sets the RatKing component's maxGuardCount: 1, which allows spawning
guards; update this to match the intended semantics by either setting
maxGuardCount: 0 in the RatKing component on MobRatKingNoGuard (to truly disable
guards) or renaming the entity/ suffix/ comment (and the spawner
SpawnPointGhostRatKingNoGuard usage) to reflect that one guard is allowed;
locate and edit the MobRatKingNoGuard definition (the RatKing component) and, if
you choose the renaming approach, update the ID/suffix and any references such
as SpawnPointGhostRatKingNoGuard and any logic in RatKingSystem that checks
component.MaxGuardCount to keep names and behavior consistent.
🪄 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: 0e3c1c4e-b8be-4f6e-ac13-e8d2512292d0

📥 Commits

Reviewing files that changed from the base of the PR and between 84a431a and a804603.

⛔ Files ignored due to path filters (10)
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-o0.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-o1.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-o2.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-o3.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-o4.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-ready-blinking.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-ready.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-unready-blinking.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet-unready.png is excluded by !**/*.png
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/salvage-magnet.png is excluded by !**/*.png
📒 Files selected for processing (17)
  • Content.Server/Salvage/SalvageSystem.Runner.cs
  • Resources/Locale/en-US/_strings/mind/role-types.ftl
  • Resources/Locale/ru-RU/_strings/_sunrise/mind/role-types.ftl
  • Resources/Locale/ru-RU/_strings/mind/role-types.ftl
  • Resources/Maps/_Sunrise/Nonstations/nukieplanet.yml
  • Resources/Maps/_Sunrise/Shuttles/Salvage/oredozer.yml
  • Resources/Prototypes/Roles/role_types.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Guns/Pistols/pistols.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml
  • Resources/Prototypes/_Sunrise/Entities/Mobs/NPCs/regalrat.yml
  • Resources/Prototypes/_Sunrise/Entities/Structures/Machines/salvage.yml
  • Resources/Prototypes/_Sunrise/Entities/Structures/Wallmounts/wallmount_radar.yml
  • Resources/Prototypes/_Sunrise/NPCs/SiliconNPC/mob_hostile_rogue_silicons.yml
  • Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml
  • Resources/Prototypes/_Sunrise/Roles/MindRoles/mind_roles.yml
  • Resources/Prototypes/_Sunrise/Roles/role_types.yml
  • Resources/Textures/_Sunrise/Structures/Machines/salvage.rsi/meta.json
💤 Files with no reviewable changes (2)
  • Resources/Locale/ru-RU/_strings/mind/role-types.ftl
  • Resources/Prototypes/Roles/role_types.yml

Comment thread Resources/Maps/_Sunrise/Nonstations/nukieplanet.yml
Comment thread Resources/Prototypes/_Sunrise/Roles/role_types.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

🤖 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/_Sunrise/Catalog/Fills/Boxes/syndicate.yml`:
- Line 461: The item ID in the SpawnItemsOnUse configuration contains a typo:
ClothingOuterHardsuitChameleo should be corrected to
ClothingOuterHardsuitChameleon. Fix the spelling by changing "Chameleo" to
"Chameleon" in the item ID to ensure the box properly spawns the correct
hardsuit item when opened.
🪄 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: d27d9a00-e530-401a-a418-5d5866c887a9

📥 Commits

Reviewing files that changed from the base of the PR and between a804603 and b4ace29.

📒 Files selected for processing (10)
  • Resources/Locale/en-US/_prototypes/_sunrise/catalog/fills/boxes/syndicate.ftl
  • Resources/Locale/ru-RU/_prototypes/_sunrise/catalog/fills/boxes/syndicate.ftl
  • Resources/Maps/_Sunrise/Shuttles/Salvage/asteroidcracker.yml
  • Resources/Prototypes/Entities/Objects/Specific/Research/anomaly.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml
  • Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml
  • Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml
  • Resources/Prototypes/_Sunrise/NPCs/PirateNPC/SovietNPC/npc_loot_soviet.yml
  • Resources/Prototypes/_Sunrise/NPCs/PirateNPC/npc_loot_pirate.yml
  • Resources/Prototypes/_Sunrise/Procedural/salvage_factions.yml

Comment thread Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml Outdated

@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: 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/Maps/_Sunrise/Shuttles/DSO/ERT/ERT-Small-Red.yml`:
- Around line 1-27: Rename the grid file from ERT-Small-Red.yml to
ert_small_red.yml to conform to the project's snake_case naming convention for
map files. Additionally, before merging, run the Content.YAMLLinter tool locally
to validate the integrity of the grid file, ensuring all tile mappings and
entity definitions are correctly formatted and there are no structural issues in
the YAML.

In `@Resources/Prototypes/_Sunrise/GameRules/unknown_shuttles.yml`:
- Line 23: The gridPath value references a YAML file name that violates the
snake_case naming convention required by the repository. The file path currently
points to ERT-Small-Red.yml which uses kebab-case, but YAML file names must
follow snake_case format. Rename the referenced shuttle map file from
ERT-Small-Red.yml to ert_small_red.yml and update the gridPath value in
unknown_shuttles.yml to point to the renamed file with the correct snake_case
name in the full path.
🪄 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: 6d758795-80e2-4c4d-8dd3-5156eda1e56d

📥 Commits

Reviewing files that changed from the base of the PR and between b4ace29 and b91a3bd.

📒 Files selected for processing (5)
  • Resources/Maps/_Sunrise/Shuttles/DSO/ERT/ERT-Small-Red.yml
  • Resources/Prototypes/Roles/Jobs/CentComm/emergencyresponseteam.yml
  • Resources/Prototypes/_Sunrise/Catalog/Fills/Boxes/syndicate.yml
  • Resources/Prototypes/_Sunrise/GameRules/unknown_shuttles.yml
  • Resources/Prototypes/_Sunrise/NPCs/pirates_despawn.yml

Comment thread Resources/Maps/_Sunrise/Shuttles/DSO/ERT/ERT-Small-Red.yml
Comment thread Resources/Prototypes/_Sunrise/GameRules/unknown_shuttles.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: НЕ РАЗОБРАНО

Development

Successfully merging this pull request may close these issues.

1 participant