Многа фиксов#58
Conversation
📝 WalkthroughWalkthroughThe PR refactors the round-end summary UI component with layout and styling updates, restructures death localization to use severity/type lookups, expands Russian translations across traitor roles and game presets, and updates prototype configurations including mouse breeding cooldowns, creature spawn table removals, and emote trigger phrase additions. ChangesRound-end Summary UI and Localization
Russian Localization Expansion
Prototype Configuration and Emote Triggers
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
Content.Client/RoundEnd/RoundEndSummaryWindow.cs (1)
273-315:⚠️ Potential issue | 🟠 Major | ⚡ Quick winDeath summary is computed but never rendered.
At Line 273,
deathLabelis no longer added totextVBox, but Lines 311-314 still populate it. Result: death summary text never appears in the manifest UI.Suggested fix
- // textVBox.AddChild(deathLabel); MAID round end manifest // MAID round end manifest + textVBox.AddChild(deathLabel);🤖 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 `@Content.Client/RoundEnd/RoundEndSummaryWindow.cs` around lines 273 - 315, The deathLabel is populated with markup (deathLabel.SetMarkup(...)) but never added back to the visual container, so the death summary never appears; after the block that sets deathLabel.SetMarkup(...) (inside the playerInfo.EntMobState == MobState.Dead branch) add the label back into the layout by calling the container's add method (e.g., textVBox.AddChild(deathLabel) or the appropriate Add/Pack method used elsewhere) so the label is rendered; locate deathLabel and textVBox in RoundEndSummaryWindow.cs to insert the AddChild call immediately after the SetMarkup call.
🧹 Nitpick comments (1)
Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl (1)
238-238: ⚡ Quick winИспользуйте общие role-type плейсхолдеры вместо хардкода.
Это выровняет стиль с остальным файлом и исключит расхождение при обновлениях общих названий ролей.
♻️ Предлагаемый рефактор
-ghost-role-information-pirate-irs-rules = Вы — [color=red][bold]командный антагонист[/bold][/color] вместе с остальными пиратами. +ghost-role-information-pirate-irs-rules = Вы — [color={ role-type-team-antagonist-color }][bold]{ role-type-team-antagonist-name }[/bold][/color] вместе с остальными пиратами.🤖 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/Locale/ru-RU/ghost/roles/ghost-role-component.ftl` at line 238, Replace the hardcoded role name in the localization entry ghost-role-information-pirate-irs-rules so it uses the shared role-type placeholder used elsewhere (e.g., the common {role-type} placeholder pattern) instead of "[color=red][bold]командный антагонист[/bold][/color]"; update the value to reference the placeholder with the same styling wrappers so it matches the rest of the file's convention and will pick up future updates to common role names.
🤖 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/_Goobstation/round-end/round-end-summary-window.ftl`:
- Line 5: The localization entry round-end-summary-window-last-words has
mismatched markup: it opens with [italic] but closes with [/color]; update the
closing tag to match the opening tag (use [/italic]) so the tag pair is
consistent for the key round-end-summary-window-last-words.
In `@Resources/Locale/ru-RU/_Goobstation/flavors/traitor.ftl`:
- Line 74: В строке с ключом traitor-arcterrorist-intro замените опечатку
"Конрциума" на правильное написание "Консорциума" в значении:
traitor-arcterrorist-intro = Вы — террорист Консорциума Прав Животных., сохранив
остальной текст без изменений.
- Around line 47-48: Fix Russian typos/grammar in the MI13 strings: in
traitor-mi13-goal change "Старайтесь оставаться незамеченым любой ценой." to
"Старайтесь оставаться незамеченным любой ценой." (correct spelling/case), and
in traitor-mi13-allies replace "Не доверяйте каким либо другим агентом
синдиката, за исключением специалистов Cybersun." with "Не доверяйте каким-либо
другим агентам синдиката, за исключением специалистов Cybersun." (add hyphen to
"каким-либо" and use dative plural "агентам" instead of incorrect "агентом").
In `@Resources/Locale/ru-RU/alert-levels/alert-levels.ftl`:
- Around line 23-24: Unify the terminology for Delta messages by updating the
alert-level-delta-announcement string to use the same term as
alert-level-delta-instructions: replace «глав отделов» in
alert-level-delta-announcement with «руководителей персонала» so both keys
(alert-level-delta-announcement and alert-level-delta-instructions) reference
the same role phrasing.
In `@Resources/Prototypes/_White/Voice/speech_emotes.yml`:
- Line 61: The trigger phrase "усмехается" is duplicated under both the Smile
and Laugh emotes causing ambiguity; remove the "усмехается" entry from the Smile
emote block in speech_emotes.yml so the phrase remains only under the Laugh
emote (leave the Laugh mapping untouched), ensuring no other duplicate entries
exist for "усмехается".
---
Outside diff comments:
In `@Content.Client/RoundEnd/RoundEndSummaryWindow.cs`:
- Around line 273-315: The deathLabel is populated with markup
(deathLabel.SetMarkup(...)) but never added back to the visual container, so the
death summary never appears; after the block that sets deathLabel.SetMarkup(...)
(inside the playerInfo.EntMobState == MobState.Dead branch) add the label back
into the layout by calling the container's add method (e.g.,
textVBox.AddChild(deathLabel) or the appropriate Add/Pack method used elsewhere)
so the label is rendered; locate deathLabel and textVBox in
RoundEndSummaryWindow.cs to insert the AddChild call immediately after the
SetMarkup call.
---
Nitpick comments:
In `@Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl`:
- Line 238: Replace the hardcoded role name in the localization entry
ghost-role-information-pirate-irs-rules so it uses the shared role-type
placeholder used elsewhere (e.g., the common {role-type} placeholder pattern)
instead of "[color=red][bold]командный антагонист[/bold][/color]"; update the
value to reference the placeholder with the same styling wrappers so it matches
the rest of the file's convention and will pick up future updates to common role
names.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: e4f9c69d-675d-45b0-8705-50853bed0ab9
📒 Files selected for processing (22)
Content.Client/RoundEnd/RoundEndSummaryWindow.csResources/Locale/en-US/_Goobstation/round-end/round-end-summary-window.ftlResources/Locale/ru-RU/_Goobstation/Changeling/game-ticking/game-presets/preset-changeling.ftlResources/Locale/ru-RU/_Goobstation/flavors/traitor.ftlResources/Locale/ru-RU/_Maid/round-end/round-end-summary-window.ftlResources/Locale/ru-RU/alert-levels/alert-levels.ftlResources/Locale/ru-RU/game-ticking/game-presets/preset-traitor.ftlResources/Locale/ru-RU/ghost/roles/ghost-role-component.ftlResources/Locale/ru-RU/ss14-ru/prototypes/roles/mindroles/mind_roles.ftlResources/Prototypes/Catalog/Fills/Crates/service.ymlResources/Prototypes/Entities/Mobs/NPCs/animals.ymlResources/Prototypes/Entities/Mobs/Player/dragon.ymlResources/Prototypes/GameRules/pests.ymlResources/Prototypes/SoundCollections/NukeMusic.ymlResources/Prototypes/Voice/disease_emotes.ymlResources/Prototypes/Voice/speech_emotes.ymlResources/Prototypes/_Goobstation/Actions/emotes.ymlResources/Prototypes/_Goobstation/Actions/mouse.ymlResources/Prototypes/_Goobstation/Entities/Objects/Specific/Mail/mail_fun.ymlResources/Prototypes/_Goobstation/Voice/speech_emotes.ymlResources/Prototypes/_Trauma/Body/Organs/Animal/mouse.ymlResources/Prototypes/_White/Voice/speech_emotes.yml
Описание
Много мелких фиксов, см. ченджлог
Медиа
Изменения
🆑 CREAsTIVE
Summary by CodeRabbit
Localization
Gameplay
User Interface