Conversation
Всё работает, кроме комманданта. Надо смотреть, чё с ним
📝 WalkthroughWalkthroughОбновление конфигурации работ и рангов для фракции ATH с добавлением требований к игровому времени для различных должностей, локализацией описаний работ на русский язык и включением фракции ATH в игру. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ 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 Tip You can disable sequence diagrams in the walkthrough.Disable the |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
Resources/Prototypes/Roles/Jobs/departments.yml (1)
210-230: Изменение корректно; рекомендуется улучшить описание комментария.Департамент ATH корректно установлен как видимый в редакторе персонажа. Роль KommandantATH полностью интегрирована и имеет правильную конфигурацию с необходимыми требованиями по времени игры.
Рекомендуется заменить неформальный комментарий
# I just like to see themна более информативный, например:# Видимо для выбора в редакторе персонажа.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Resources/Prototypes/Roles/Jobs/departments.yml` around lines 210 - 230, Replace the informal inline comment next to the department ATH's editorVisible flag (the block with id: ATH and editorHidden: false) with a more informative Russian comment; specifically update the comment "# I just like to see them" to something like "# Видимо для выбора в редакторе персонажа" so it explains purpose and intent in the context of the editor visibility for that department.
🤖 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/Prototypes/_Crescent/Roles/factions.yml`:
- Around line 168-170: В описании фракции Авторитат исправьте разрыв в фразе
"вместо этого сосредоточившись на / контролируя население": замените раздельную
конструкцию на корректную формулировку, например "вместо этого сосредоточившись
на контроле над населением", чтобы строка в файле
Resources/Prototypes/_Crescent/Roles/factions.yml стала грамматически связной и
корректно отображалась в селекторе фракций.
- Line 183: Поле enabled в прототипе фракции сейчас выставлено в true и из-за
этого фракция ATH сразу появляется в меню выбора (это поведение контролируется
свойством в классе FactionPrototype.cs); временно переключите enabled на false в
соответствующем блоке в factions.yml до тех пор, пока в PR не будут закрыты все
TODO — исправлен выбор Комманданта и добавлены недостающие прототипы/спрайты —
чтобы предотвратить показ незавершённого контента игрокам.
In `@Resources/Prototypes/_Crescent/Roles/Jobs/ATH/vorarbeiter.yml`:
- Around line 6-24: The rank entry RatRankATHEnlistedMiddle currently has an
empty requirement (RatRankATHEnlistedMiddle: []) which leaves the Vorarbeiter
ATH role effectively open to new players; update the job's requirements instead
of relying on the rank tracker: add a minimal CharacterOverallTimeRequirement
(or a round-gate) under the job's requirements block for JobVorarbeiterATH to
enforce the intended minimum playtime (e.g., 10 hours/3 rounds referenced in
factions.yml) and remove or populate RatRankATHEnlistedMiddle if you want a
rank-specific threshold; ensure you reference JobVorarbeiterATH,
RatRankATHEnlistedMiddle, CharacterOverallTimeRequirement, and the job's
requirements section when making the change.
In `@Resources/Prototypes/_Crescent/Roles/Jobs/DSM/ritter.yml`:
- Around line 9-14: The min value for the RatRankKnightMiddle requirement is
incorrect: it uses min: 360000 (100 hours) but should be 10 hours = 36000
seconds; locate the block with tracker: JobRitterDSM and the RatRankKnightMiddle
entry that currently has min: 360000 and change it to min: 36000; apply the same
correction for the identical entries across the seven DSM files (wealth.yml,
surgeon.yml, ritter.yml, levyman.yml, knight.yml, freeholder.yml, foreman.yml)
so all use 36000 seconds for the 10-hour requirement.
In `@Resources/Prototypes/_Crescent/Roles/Jobs/DSM/wealth.yml`:
- Around line 9-14: В блоке RatRankKnightMiddle для типа
CharacterPlaytimeRequirement (tracker: JobWealthDSM) значение min указано как
360000 с комментарием "10 часов", но 360000 с = 100 часов; замените min: 360000
на min: 36000 (10 × 3600) и обновите комментарий соответственно (10 hours /
36000) чтобы число и комментарий соответствовали.
---
Nitpick comments:
In `@Resources/Prototypes/Roles/Jobs/departments.yml`:
- Around line 210-230: Replace the informal inline comment next to the
department ATH's editorVisible flag (the block with id: ATH and editorHidden:
false) with a more informative Russian comment; specifically update the comment
"# I just like to see them" to something like "# Видимо для выбора в редакторе
персонажа" so it explains purpose and intent in the context of the editor
visibility for that department.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3c21918b-1ffc-443f-beb6-70a325522799
📒 Files selected for processing (29)
Resources/Locale/ru-RU/_Crescent/job/job-description.ftlResources/Locale/ru-RU/_Crescent/job/job-names.ftlResources/Prototypes/Roles/Jobs/departments.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/arbeiter.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/chirurgeon.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/firststeward.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/forscher.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/handels.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/kanoneer.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/kommandant.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/leutnant.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/logistatmarshal.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/oberartz.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/sanitat.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/soldat.ymlResources/Prototypes/_Crescent/Roles/Jobs/ATH/vorarbeiter.ymlResources/Prototypes/_Crescent/Roles/Jobs/DSM/courtier.ymlResources/Prototypes/_Crescent/Roles/Jobs/DSM/governor.ymlResources/Prototypes/_Crescent/Roles/Jobs/DSM/ritter.ymlResources/Prototypes/_Crescent/Roles/Jobs/DSM/templar.ymlResources/Prototypes/_Crescent/Roles/Jobs/DSM/wealth.ymlResources/Prototypes/_Crescent/Roles/factions.ymlResources/Prototypes/_Rat/Roles/Ranks/ATH/ath_enlisted.ymlResources/Prototypes/_Rat/Roles/Ranks/ATH/ath_kommandant.ymlResources/Prototypes/_Rat/Roles/Ranks/ATH/ath_officer.ymlResources/Prototypes/_Rat/Roles/Ranks/DSM/courtier.ymlResources/Prototypes/_Rat/Roles/Ranks/DSM/governor.ymlResources/Prototypes/_Rat/Roles/Ranks/DSM/templar.ymlResources/Prototypes/_Rat/Roles/Ranks/NCWL/ncwl_commandant.yml
| Часто известные как просто Авторитат, они были порождены жадностью бывшего императорского двора. Руководствуясь юпитерианскими | ||
| идеалами псионической чистоты, Авторитат, как и их предшественники, не проявляет особого интереса к феодальному правлению, вместо этого сосредоточившись на | ||
| контролируя население и совершая насильственные завоевания с целью уничтожения видов и сообществ, которые, как они обнаружили, связаны |
There was a problem hiding this comment.
Подправьте сломанную формулировку в описании.
Фраза вместо этого сосредоточившись на / контролируя население грамматически ломается и будет видна прямо в селекторе фракций.
Вариант правки
- идеалами псионической чистоты, Авторитат, как и их предшественники, не проявляет особого интереса к феодальному правлению, вместо этого сосредоточившись на
- контролируя население и совершая насильственные завоевания с целью уничтожения видов и сообществ, которые, как они обнаружили, связаны
+ идеалами псионической чистоты, Авторитат, как и их предшественники, не проявляет особого интереса к феодальному правлению, вместо этого сосредотачиваясь на
+ контроле над населением и совершая насильственные завоевания с целью уничтожения видов и сообществ, которые, как они обнаружили, связаны📝 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.
| Часто известные как просто Авторитат, они были порождены жадностью бывшего императорского двора. Руководствуясь юпитерианскими | |
| идеалами псионической чистоты, Авторитат, как и их предшественники, не проявляет особого интереса к феодальному правлению, вместо этого сосредоточившись на | |
| контролируя население и совершая насильственные завоевания с целью уничтожения видов и сообществ, которые, как они обнаружили, связаны | |
| Часто известные как просто Авторитат, они были порождены жадностью бывшего императорского двора. Руководствуясь юпитерианскими | |
| идеалами псионической чистоты, Авторитат, как и их предшественники, не проявляет особого интереса к феодальному правлению, вместо этого сосредотачиваясь на | |
| контроле над населением и совершая насильственные завоевания с целью уничтожения видов и сообществ, которые, как они обнаружили, связаны |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/_Crescent/Roles/factions.yml` around lines 168 - 170, В
описании фракции Авторитат исправьте разрыв в фразе "вместо этого
сосредоточившись на / контролируя население": замените раздельную конструкцию на
корректную формулировку, например "вместо этого сосредоточившись на контроле над
населением", чтобы строка в файле
Resources/Prototypes/_Crescent/Roles/factions.yml стала грамматически связной и
корректно отображалась в селекторе фракций.
| color: "#ffffed" | ||
| weight: 2 | ||
| enabled: false | ||
| enabled: true |
There was a problem hiding this comment.
Не включайте ATH, пока у фракции ещё висят известные TODO.
enabled: true на Line 183 не просто подготавливает данные, а сразу публикует фракцию в интерфейсе выбора: в Content.Shared/_Crescent/Factions/FactionPrototype.cs это поле напрямую отвечает за показ/выбор фракции. По самому PR у ATH ещё не закрыты как минимум сломанный выбор Комманданта и недостающие прототипы/спрайты, так что игроки увидят заведомо неполный контент.
Временное исправление
- enabled: true
+ enabled: false📝 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.
| enabled: true | |
| enabled: false |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/_Crescent/Roles/factions.yml` at line 183, Поле enabled
в прототипе фракции сейчас выставлено в true и из-за этого фракция ATH сразу
появляется в меню выбора (это поведение контролируется свойством в классе
FactionPrototype.cs); временно переключите enabled на false в соответствующем
блоке в factions.yml до тех пор, пока в PR не будут закрыты все TODO — исправлен
выбор Комманданта и добавлены недостающие прототипы/спрайты — чтобы
предотвратить показ незавершённого контента игрокам.
| ranks: | ||
| RatRankATHEnlistedBased: | ||
| - !type:CharacterPlaytimeRequirement | ||
| tracker: JobVorarbeiterATH | ||
| min: 198000 # 55 hours | ||
| RatRankATHEnlistedHigh: | ||
| - !type:CharacterPlaytimeRequirement | ||
| tracker: JobVorarbeiterATH | ||
| min: 162000 # 45 hours | ||
| RatRankATHEnlistedLead: | ||
| - !type:CharacterPlaytimeRequirement | ||
| tracker: JobVorarbeiterATH | ||
| min: 108000 # 30 hours | ||
| RatRankATHEnlistedSenior: | ||
| - !type:CharacterPlaytimeRequirement | ||
| tracker: JobVorarbeiterATH | ||
| min: 72000 # 20 hours | ||
| RatRankATHEnlistedMiddle: [] | ||
| weight: 2 |
There was a problem hiding this comment.
Базовый ранг оставляет эту высокодоступную роль без реального порога входа.
RatRankATHEnlistedMiddle: [] на Line 23 не требует никакого наигрыша в роли, а ниже у job нет ни CharacterOverallTimeRequirement, ни round-gate. Для позиции с доступом уровня Captain/HeadOf* это фактически открывает роль новым игрокам; иначе текст ATH в factions.yml про 10 часов / 3 раунда остаётся просто описанием. Минимальный порог лучше задавать на уровне requirements, а не через rank-трекер этой же роли.
Минимальный вариант исправления
requirements:
- !type:FactionRequirement
factionID: "ATH"
+ - !type:CharacterOverallTimeRequirement
+ min: 36000 # 10 hours
- !type:CharacterSpeciesRequirement
species:🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/_Crescent/Roles/Jobs/ATH/vorarbeiter.yml` around lines 6
- 24, The rank entry RatRankATHEnlistedMiddle currently has an empty requirement
(RatRankATHEnlistedMiddle: []) which leaves the Vorarbeiter ATH role effectively
open to new players; update the job's requirements instead of relying on the
rank tracker: add a minimal CharacterOverallTimeRequirement (or a round-gate)
under the job's requirements block for JobVorarbeiterATH to enforce the intended
minimum playtime (e.g., 10 hours/3 rounds referenced in factions.yml) and remove
or populate RatRankATHEnlistedMiddle if you want a rank-specific threshold;
ensure you reference JobVorarbeiterATH, RatRankATHEnlistedMiddle,
CharacterOverallTimeRequirement, and the job's requirements section when making
the change.
| tracker: JobRitterDSM | ||
| min: 72000 # 20 hours | ||
| RatRankKnightMiddle: | ||
| - !type:CharacterPlaytimeRequirement | ||
| tracker: JobKnightDSM | ||
| tracker: JobRitterDSM | ||
| min: 360000 # 10 hours |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Проверка всех файлов DSM на ту же ошибку
echo "=== Files with 360000 min value ==="
rg -n "min:\s*360000" Resources/Prototypes/_Crescent/Roles/Jobs/DSM/ --type yamlRepository: ss14-art/ratgore
Length of output: 725
Исправить значение времени: 360000 секунд = 100 часов, а не 10 часов
Трекер JobRitterDSM исправлен корректно. Однако min: 360000 — это 100 часов, а не 10.
Эта ошибка присутствует в семи файлах DSM: wealth.yml, surgeon.yml, ritter.yml, levyman.yml, knight.yml, freeholder.yml и foreman.yml.
Исправление значения
RatRankKnightMiddle:
- !type:CharacterPlaytimeRequirement
tracker: JobRitterDSM
- min: 360000 # 10 hours
+ min: 36000 # 10 hours📝 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.
| tracker: JobRitterDSM | |
| min: 72000 # 20 hours | |
| RatRankKnightMiddle: | |
| - !type:CharacterPlaytimeRequirement | |
| tracker: JobKnightDSM | |
| tracker: JobRitterDSM | |
| min: 360000 # 10 hours | |
| tracker: JobRitterDSM | |
| min: 72000 # 20 hours | |
| RatRankKnightMiddle: | |
| - !type:CharacterPlaytimeRequirement | |
| tracker: JobRitterDSM | |
| min: 36000 # 10 hours |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/_Crescent/Roles/Jobs/DSM/ritter.yml` around lines 9 -
14, The min value for the RatRankKnightMiddle requirement is incorrect: it uses
min: 360000 (100 hours) but should be 10 hours = 36000 seconds; locate the block
with tracker: JobRitterDSM and the RatRankKnightMiddle entry that currently has
min: 360000 and change it to min: 36000; apply the same correction for the
identical entries across the seven DSM files (wealth.yml, surgeon.yml,
ritter.yml, levyman.yml, knight.yml, freeholder.yml, foreman.yml) so all use
36000 seconds for the 10-hour requirement.
| tracker: JobWealthDSM | ||
| min: 72000 # 20 hours | ||
| RatRankKnightMiddle: | ||
| - !type:CharacterPlaytimeRequirement | ||
| tracker: JobKnightDSM | ||
| tracker: JobWealthDSM | ||
| min: 360000 # 10 hours |
There was a problem hiding this comment.
Ошибка в расчёте времени: 360000 секунд = 100 часов, не 10.
Исправление трекера на JobWealthDSM корректно. Однако значение min: 360000 в комментарии указано как 10 часов, но на самом деле это 100 часов.
Для 10 часов нужно 36000 секунд (10 × 3600).
🐛 Исправление значения времени
RatRankKnightMiddle:
- !type:CharacterPlaytimeRequirement
tracker: JobWealthDSM
- min: 360000 # 10 hours
+ min: 36000 # 10 hours📝 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.
| tracker: JobWealthDSM | |
| min: 72000 # 20 hours | |
| RatRankKnightMiddle: | |
| - !type:CharacterPlaytimeRequirement | |
| tracker: JobKnightDSM | |
| tracker: JobWealthDSM | |
| min: 360000 # 10 hours | |
| tracker: JobWealthDSM | |
| min: 72000 # 20 hours | |
| RatRankKnightMiddle: | |
| - !type:CharacterPlaytimeRequirement | |
| tracker: JobWealthDSM | |
| min: 36000 # 10 hours |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/_Crescent/Roles/Jobs/DSM/wealth.yml` around lines 9 -
14, В блоке RatRankKnightMiddle для типа CharacterPlaytimeRequirement (tracker:
JobWealthDSM) значение min указано как 360000 с комментарием "10 часов", но
360000 с = 100 часов; замените min: 360000 на min: 36000 (10 × 3600) и обновите
комментарий соответственно (10 hours / 36000) чтобы число и комментарий
соответствовали.
|
Слишком много часов требований |
Конкретику |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Описание
Сделана основная база для добавления фракции. Возвращены и перенастроены роли, как и фракция в чарредакторе. Добавлены звания.
TODO
Медиа
Чеклист перед мерджем
Breaking changes
Changelog
Спасибо за вклад в Ratgore! 🐀
Summary by CodeRabbit
Примечания к выпуску
Новые функции
Исправления
Изменения