Conversation
WalkthroughЭтот PR добавляет новые конфигурационные ресурсы для события NEGODAY. Изменения включают: добавление русской локализации (12 строк) для текстов привидений с описанием событий и правил для трёх фракций (события, федерации и империи), а также введение пяти новых прототипов YAML для спавнеров гуманоидных существ (223 строки) с различными наборами навыков, конфигурациями привидений и модификаторами урона. Прототипы различаются вариантами умений (включая/исключая стрельбу) и назначением (общие события, федерация, империя). Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. 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
🤖 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/Imperial/NEGODAY/GhostroleText.flt`:
- Line 7: The string value for key ghostrole-event-fed-desc contains a
grammatical typo: change "Подчиняйтесь своему командиру и уничтожте силы
Империи." to "Подчиняйтесь своему командиру и уничтожьте силы Империи." by
correcting the verb form from "уничтожте" to "уничтожьте" in the
ghostrole-event-fed-desc entry inside GhostroleText.flt.
- Around line 10-11: В поле ghostrole-event-emp-name уберите завершающую точку
чтобы имя роли соответствовало остальным записям (заменить "Военный Империи." на
"Военный Империи"), и в поле ghostrole-event-emp-desc исправьте опечатку
"уничтожте" на корректное "уничтожьте" чтобы восстановить правильную грамматику.
- Around line 1-12: The file GhostroleText.flt uses the wrong extension; rename
GhostroleText.flt to GhostroleText.ftl so the SS14 localization loader picks it
up; ensure the file retains all existing keys (e.g., ghostrole-event-name,
ghostrole-event-allskills-desc, ghostrole-event-skills-desc,
ghostrole-event-rules, ghostrole-event-fed-name, ghostrole-event-fed-desc,
ghostrole-event-fed-rules, ghostrole-event-emp-name, ghostrole-event-emp-desc,
ghostrole-event-emp-rules) and update any references if your tooling or scripts
expect the .ftl filename.
In `@Resources/Prototypes/Imperial/NEGODAY/SpawnerHuman.yml`:
- Around line 90-133: Прототип EventHumanSkillsTTS содержит компонент GhostRole,
хотя ни ID, ни суффикс этого не отражают; либо удалите блок компонента GhostRole
(строки, начинающиеся с "- type: GhostRole" и его дочерние поля
name/description/rules/raffle) из сущности EventHumanSkillsTTS если роль не
нужна, либо переименуйте id/суффикс (например добавить "ghostrole" в id или
суффикс) чтобы соответствовать включённому компоненту и сохранить
консистентность с остальными прототипами; проверьте, что после изменения
остальные ссылки/локализуемые ключи (ghostrole-event-name,
ghostrole-event-allskills-desc, ghostrole-event-rules) остаются корректными или
удалите их при удалении компонента.
- Around line 1-223: There’s large duplicated CrewSkills and common components
across the prototypes; create a new intermediate prototype (e.g., parent id
MobHumanEventSkills) that contains the shared components AntagImmune,
RandomHumanoidAppearance, the full CrewSkills list (the ~22 skills), Damageable
(BiologicalMemetical / Infernal), ShowJobIcons and ShowMindShieldIcons, then
change EventHumanSkillsTTSGhostrole, EventHumanSkillsTTSGhostroleNoShooting,
EventHumanSkillsTTS, FedHumanSkillsTTSGhostrole and EmpHumanSkillsTTSGhostrole
to inherit from that new parent and remove their duplicated CrewSkills and the
repeated common components; for the NoShooting variant keep it inheriting but
explicitly remove or override skillShooting so it’s absent, and keep each
entity’s GhostRole/raffle-specific fields intact.
| ghostrole-event-name = Ивентовая роль | ||
| ghostrole-event-allskills-desc = Для участия в ивенте зайдите за персонажа. Он имеет все навыки. | ||
| ghostrole-event-skills-desc = Для участия в ивенте зайдите за персонажа. Он имеет все навыки, кроме стрельбы. | ||
| ghostrole-event-rules = Не нарушайте правила ивента, правила сервера и т.д. | ||
|
|
||
| ghostrole-event-fed-name = Военный Кросс-Юнивёрс | ||
| ghostrole-event-fed-desc = Подчиняйтесь своему командиру и уничтожте силы Империи. | ||
| ghostrole-event-fed-rules = Не убивайте без веских причин, соблюдайте субординацию и поддерживайте атмосферу. | ||
|
|
||
| ghostrole-event-emp-name = Военный Империи. | ||
| ghostrole-event-emp-desc = Подчиняйтесь своему командиру и уничтожте военных Кросс-Юнивёрс. | ||
| ghostrole-event-emp-rules = Не убивайте без веских причин, соблюдайте субординацию и поддерживайте атмосферу. No newline at end of file |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check for the file with both .flt and .ftl extensions
echo "=== Searching for GhostroleText files ==="
find . -name "*GhostroleText*" -type f 2>/dev/null
echo -e "\n=== Checking NEGODAY directory ==="
ls -la Resources/Locale/ru-RU/Imperial/NEGODAY/ 2>/dev/null || echo "Directory not found"
echo -e "\n=== Checking all .flt files in locale directory ==="
find Resources/Locale -name "*.flt" -type f 2>/dev/null
echo -e "\n=== Checking all .ftl files in NEGODAY directory ==="
find Resources/Locale -path "*NEGODAY*" -name "*.ftl" -type f 2>/dev/nullRepository: imperial-space/SS14-public
Length of output: 556
🏁 Script executed:
#!/bin/bash
# Check the file extension pattern across the locale directory
echo "=== Sample of .ftl files in locale directory ==="
find Resources/Locale -name "*.ftl" -type f | head -20
echo -e "\n=== Count of .ftl vs .flt files ==="
echo ".ftl files: $(find Resources/Locale -name "*.ftl" -type f | wc -l)"
echo ".flt files: $(find Resources/Locale -name "*.flt" -type f | wc -l)"
echo -e "\n=== Checking other Imperial locale directories ==="
ls -la Resources/Locale/ru-RU/Imperial/ | grep -E "^d" | head -10Repository: imperial-space/SS14-public
Length of output: 1954
Исправить расширение файла: .flt → .ftl
Во всём репозитории используется расширение .ftl для файлов локализации (3796 файлов), а данный файл имеет расширение .flt — это единственный такой файл в проекте. Локализационная система SS14 загружает только файлы с расширением .ftl, поэтому все строки (ghostrole-event-name, ghostrole-event-allskills-desc и т.д.) будут отображаться игрокам без перевода.
Переименовать: GhostroleText.flt → GhostroleText.ftl
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Locale/ru-RU/Imperial/NEGODAY/GhostroleText.flt` around lines 1 -
12, The file GhostroleText.flt uses the wrong extension; rename
GhostroleText.flt to GhostroleText.ftl so the SS14 localization loader picks it
up; ensure the file retains all existing keys (e.g., ghostrole-event-name,
ghostrole-event-allskills-desc, ghostrole-event-skills-desc,
ghostrole-event-rules, ghostrole-event-fed-name, ghostrole-event-fed-desc,
ghostrole-event-fed-rules, ghostrole-event-emp-name, ghostrole-event-emp-desc,
ghostrole-event-emp-rules) and update any references if your tooling or scripts
expect the .ftl filename.
| ghostrole-event-rules = Не нарушайте правила ивента, правила сервера и т.д. | ||
|
|
||
| ghostrole-event-fed-name = Военный Кросс-Юнивёрс | ||
| ghostrole-event-fed-desc = Подчиняйтесь своему командиру и уничтожте силы Империи. |
There was a problem hiding this comment.
Грамматическая ошибка: «уничтожте» → «уничтожьте».
Форма глагола «уничтожте» является некорректной в русском языке; правильная форма повелительного наклонения — «уничтожьте».
✏️ Предлагаемое исправление
-ghostrole-event-fed-desc = Подчиняйтесь своему командиру и уничтожте силы Империи.
+ghostrole-event-fed-desc = Подчиняйтесь своему командиру и уничтожьте силы Империи.📝 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.
| ghostrole-event-fed-desc = Подчиняйтесь своему командиру и уничтожте силы Империи. | |
| ghostrole-event-fed-desc = Подчиняйтесь своему командиру и уничтожьте силы Империи. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Locale/ru-RU/Imperial/NEGODAY/GhostroleText.flt` at line 7, The
string value for key ghostrole-event-fed-desc contains a grammatical typo:
change "Подчиняйтесь своему командиру и уничтожте силы Империи." to
"Подчиняйтесь своему командиру и уничтожьте силы Империи." by correcting the
verb form from "уничтожте" to "уничтожьте" in the ghostrole-event-fed-desc entry
inside GhostroleText.flt.
| ghostrole-event-emp-name = Военный Империи. | ||
| ghostrole-event-emp-desc = Подчиняйтесь своему командиру и уничтожте военных Кросс-Юнивёрс. |
There was a problem hiding this comment.
Лишняя точка в поле имени и повторяющаяся грамматическая ошибка.
- Строка 10:
ghostrole-event-emp-name = Военный Империи.— имена ролей в строках 1 и 6 не содержат завершающей точки; точка в имени нарушает единообразие. - Строка 11: та же ошибка «уничтожте» → «уничтожьте».
✏️ Предлагаемые исправления
-ghostrole-event-emp-name = Военный Империи.
-ghostrole-event-emp-desc = Подчиняйтесь своему командиру и уничтожте военных Кросс-Юнивёрс.
+ghostrole-event-emp-name = Военный Империи
+ghostrole-event-emp-desc = Подчиняйтесь своему командиру и уничтожьте военных Кросс-Юнивёрс.📝 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.
| ghostrole-event-emp-name = Военный Империи. | |
| ghostrole-event-emp-desc = Подчиняйтесь своему командиру и уничтожте военных Кросс-Юнивёрс. | |
| ghostrole-event-emp-name = Военный Империи | |
| ghostrole-event-emp-desc = Подчиняйтесь своему командиру и уничтожьте военных Кросс-Юнивёрс. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Locale/ru-RU/Imperial/NEGODAY/GhostroleText.flt` around lines 10 -
11, В поле ghostrole-event-emp-name уберите завершающую точку чтобы имя роли
соответствовало остальным записям (заменить "Военный Империи." на "Военный
Империи"), и в поле ghostrole-event-emp-desc исправьте опечатку "уничтожте" на
корректное "уничтожьте" чтобы восстановить правильную грамматику.
| - type: entity | ||
| parent: MobHuman | ||
| id: EventHumanSkillsTTSGhostrole | ||
| name: spawn event human | ||
| suffix: skills, TTS, ghostrole | ||
| components: | ||
| - type: AntagImmune | ||
| - type: RandomHumanoidAppearance | ||
| randomizeName: true | ||
| - type: CrewSkills | ||
| skills: | ||
| - skillBotany #Base | ||
| - skillBaseMed | ||
| - skillBaseConstraction | ||
| - skillCooking #Easy | ||
| - skillBartending | ||
| - skillHacking | ||
| - skillInstrumentation #Medium | ||
| - skillMaintenance | ||
| - skillMediumConstruction | ||
| - skillMediumBotany | ||
| - skillBasicAtmos | ||
| - skillMedicalEquipment | ||
| - skillPharmacology | ||
| - skillPiloting #Hard | ||
| - skillAtmos | ||
| - skillHardInstrumentation | ||
| - skillRobotics | ||
| - skillResearch | ||
| - skillPharmaceuticals | ||
| - skillShooting | ||
| - skillSurgery | ||
| - skillNeuroSurgery | ||
| - type: GhostRole | ||
| name: ghostrole-event-name | ||
| description: ghostrole-event-allskills-desc | ||
| rules: ghostrole-event-rules | ||
| raffle: | ||
| settings: short | ||
| - type: Damageable | ||
| damageContainer: BiologicalMemetical | ||
| damageModifierSet: Infernal | ||
| - type: ShowJobIcons | ||
| - type: ShowMindShieldIcons | ||
|
|
||
| - type: entity | ||
| parent: MobHuman | ||
| id: EventHumanSkillsTTSGhostroleNoShooting | ||
| name: spawn event human | ||
| suffix: no shooting, skills, TTS, ghostrole | ||
| components: | ||
| - type: AntagImmune | ||
| - type: RandomHumanoidAppearance | ||
| randomizeName: true | ||
| - type: CrewSkills | ||
| skills: | ||
| - skillBotany #Base | ||
| - skillBaseMed | ||
| - skillBaseConstraction | ||
| - skillCooking #Easy | ||
| - skillBartending | ||
| - skillHacking | ||
| - skillInstrumentation #Medium | ||
| - skillMaintenance | ||
| - skillMediumConstruction | ||
| - skillMediumBotany | ||
| - skillBasicAtmos | ||
| - skillMedicalEquipment | ||
| - skillPharmacology | ||
| - skillPiloting #Hard | ||
| - skillAtmos | ||
| - skillHardInstrumentation | ||
| - skillRobotics | ||
| - skillResearch | ||
| - skillPharmaceuticals | ||
| - skillSurgery | ||
| - skillNeuroSurgery | ||
| - type: GhostRole | ||
| name: ghostrole-event-name | ||
| description: ghostrole-event-skills-desc | ||
| rules: ghostrole-event-rules | ||
| raffle: | ||
| settings: short | ||
| - type: Damageable | ||
| damageContainer: BiologicalMemetical | ||
| damageModifierSet: Infernal | ||
| - type: ShowJobIcons | ||
| - type: ShowMindShieldIcons | ||
|
|
||
| - type: entity | ||
| parent: MobHuman | ||
| id: EventHumanSkillsTTS | ||
| name: spawn event human | ||
| suffix: skills, TTS | ||
| components: | ||
| - type: AntagImmune | ||
| - type: RandomHumanoidAppearance | ||
| randomizeName: true | ||
| - type: CrewSkills | ||
| skills: | ||
| - skillBotany #Base | ||
| - skillBaseMed | ||
| - skillBaseConstraction | ||
| - skillCooking #Easy | ||
| - skillBartending | ||
| - skillHacking | ||
| - skillInstrumentation #Medium | ||
| - skillMaintenance | ||
| - skillMediumConstruction | ||
| - skillMediumBotany | ||
| - skillBasicAtmos | ||
| - skillMedicalEquipment | ||
| - skillPharmacology | ||
| - skillPiloting #Hard | ||
| - skillAtmos | ||
| - skillHardInstrumentation | ||
| - skillRobotics | ||
| - skillResearch | ||
| - skillPharmaceuticals | ||
| - skillShooting | ||
| - skillSurgery | ||
| - skillNeuroSurgery | ||
| - type: GhostRole | ||
| name: ghostrole-event-name | ||
| description: ghostrole-event-allskills-desc | ||
| rules: ghostrole-event-rules | ||
| raffle: | ||
| settings: short | ||
| - type: Damageable | ||
| damageContainer: BiologicalMemetical | ||
| damageModifierSet: Infernal | ||
| - type: ShowJobIcons | ||
| - type: ShowMindShieldIcons | ||
|
|
||
| - type: entity | ||
| parent: MobHuman | ||
| id: FedHumanSkillsTTSGhostrole | ||
| name: spawn federation human | ||
| suffix: ghostrole | ||
| components: | ||
| - type: AntagImmune | ||
| - type: RandomHumanoidAppearance | ||
| randomizeName: true | ||
| - type: CrewSkills | ||
| skills: | ||
| - skillBotany #Base | ||
| - skillBaseMed | ||
| - skillBaseConstraction | ||
| - skillCooking #Easy | ||
| - skillBartending | ||
| - skillHacking | ||
| - skillInstrumentation #Medium | ||
| - skillMaintenance | ||
| - skillMediumConstruction | ||
| - skillMediumBotany | ||
| - skillBasicAtmos | ||
| - skillMedicalEquipment | ||
| - skillPharmacology | ||
| - skillPiloting #Hard | ||
| - skillAtmos | ||
| - skillHardInstrumentation | ||
| - skillRobotics | ||
| - skillResearch | ||
| - skillPharmaceuticals | ||
| - skillShooting | ||
| - skillSurgery | ||
| - skillNeuroSurgery | ||
| - type: GhostRole | ||
| name: ghostrole-event-fed-name | ||
| description: ghostrole-event-fed-desc | ||
| rules: ghostrole-event-fed-rules | ||
| raffle: | ||
| settings: short | ||
| - type: Damageable | ||
| damageContainer: BiologicalMemetical | ||
| damageModifierSet: Infernal | ||
| - type: ShowJobIcons | ||
| - type: ShowMindShieldIcons | ||
|
|
||
| - type: entity | ||
| parent: MobHuman | ||
| id: EmpHumanSkillsTTSGhostrole | ||
| name: spawn empire human | ||
| suffix: ghostrole | ||
| components: | ||
| - type: AntagImmune | ||
| - type: RandomHumanoidAppearance | ||
| randomizeName: true | ||
| - type: CrewSkills | ||
| skills: | ||
| - skillBotany #Base | ||
| - skillBaseMed | ||
| - skillBaseConstraction | ||
| - skillCooking #Easy | ||
| - skillBartending | ||
| - skillHacking | ||
| - skillInstrumentation #Medium | ||
| - skillMaintenance | ||
| - skillMediumConstruction | ||
| - skillMediumBotany | ||
| - skillBasicAtmos | ||
| - skillMedicalEquipment | ||
| - skillPharmacology | ||
| - skillPiloting #Hard | ||
| - skillAtmos | ||
| - skillHardInstrumentation | ||
| - skillRobotics | ||
| - skillResearch | ||
| - skillPharmaceuticals | ||
| - skillShooting | ||
| - skillSurgery | ||
| - skillNeuroSurgery | ||
| - type: GhostRole | ||
| name: ghostrole-event-emp-name | ||
| description: ghostrole-event-emp-desc | ||
| rules: ghostrole-event-emp-rules | ||
| raffle: | ||
| settings: short | ||
| - type: Damageable | ||
| damageContainer: BiologicalMemetical | ||
| damageModifierSet: Infernal | ||
| - type: ShowJobIcons | ||
| - type: ShowMindShieldIcons |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Значительное дублирование кода: одинаковые списки навыков во всех пяти прототипах.
Все 5 прототипов содержат полностью идентичный (или почти идентичный) список навыков из ~22 пунктов. Рекомендуется вынести общий набор навыков и повторяющиеся компоненты (AntagImmune, RandomHumanoidAppearance, Damageable, ShowJobIcons, ShowMindShieldIcons) в промежуточный абстрактный родительский прототип, от которого унаследуются конкретные варианты.
♻️ Пример рефакторинга через промежуточного родителя
+- type: entity
+ abstract: true
+ parent: MobHuman
+ id: BaseEventHumanSkillsTTS
+ components:
+ - type: AntagImmune
+ - type: RandomHumanoidAppearance
+ randomizeName: true
+ - type: CrewSkills
+ skills:
+ - skillBotany
+ - skillBaseMed
+ - skillBaseConstraction # исправить на skillBaseConstruction
+ - skillCooking
+ - skillBartending
+ - skillHacking
+ - skillInstrumentation
+ - skillMaintenance
+ - skillMediumConstruction
+ - skillMediumBotany
+ - skillBasicAtmos
+ - skillMedicalEquipment
+ - skillPharmacology
+ - skillPiloting
+ - skillAtmos
+ - skillHardInstrumentation
+ - skillRobotics
+ - skillResearch
+ - skillPharmaceuticals
+ - skillShooting
+ - skillSurgery
+ - skillNeuroSurgery
+ - type: Damageable
+ damageContainer: BiologicalMemetical
+ damageModifierSet: Infernal
+ - type: ShowJobIcons
+ - type: ShowMindShieldIcons
- type: entity
- parent: MobHuman
+ parent: BaseEventHumanSkillsTTS
id: EventHumanSkillsTTSGhostrole
...🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/Imperial/NEGODAY/SpawnerHuman.yml` around lines 1 - 223,
There’s large duplicated CrewSkills and common components across the prototypes;
create a new intermediate prototype (e.g., parent id MobHumanEventSkills) that
contains the shared components AntagImmune, RandomHumanoidAppearance, the full
CrewSkills list (the ~22 skills), Damageable (BiologicalMemetical / Infernal),
ShowJobIcons and ShowMindShieldIcons, then change EventHumanSkillsTTSGhostrole,
EventHumanSkillsTTSGhostroleNoShooting, EventHumanSkillsTTS,
FedHumanSkillsTTSGhostrole and EmpHumanSkillsTTSGhostrole to inherit from that
new parent and remove their duplicated CrewSkills and the repeated common
components; for the NoShooting variant keep it inheriting but explicitly remove
or override skillShooting so it’s absent, and keep each entity’s
GhostRole/raffle-specific fields intact.
| - type: entity | ||
| parent: MobHuman | ||
| id: EventHumanSkillsTTS | ||
| name: spawn event human | ||
| suffix: skills, TTS | ||
| components: | ||
| - type: AntagImmune | ||
| - type: RandomHumanoidAppearance | ||
| randomizeName: true | ||
| - type: CrewSkills | ||
| skills: | ||
| - skillBotany #Base | ||
| - skillBaseMed | ||
| - skillBaseConstraction | ||
| - skillCooking #Easy | ||
| - skillBartending | ||
| - skillHacking | ||
| - skillInstrumentation #Medium | ||
| - skillMaintenance | ||
| - skillMediumConstruction | ||
| - skillMediumBotany | ||
| - skillBasicAtmos | ||
| - skillMedicalEquipment | ||
| - skillPharmacology | ||
| - skillPiloting #Hard | ||
| - skillAtmos | ||
| - skillHardInstrumentation | ||
| - skillRobotics | ||
| - skillResearch | ||
| - skillPharmaceuticals | ||
| - skillShooting | ||
| - skillSurgery | ||
| - skillNeuroSurgery | ||
| - type: GhostRole | ||
| name: ghostrole-event-name | ||
| description: ghostrole-event-allskills-desc | ||
| rules: ghostrole-event-rules | ||
| raffle: | ||
| settings: short | ||
| - type: Damageable | ||
| damageContainer: BiologicalMemetical | ||
| damageModifierSet: Infernal | ||
| - type: ShowJobIcons | ||
| - type: ShowMindShieldIcons |
There was a problem hiding this comment.
EventHumanSkillsTTS содержит компонент GhostRole, хотя ни в ID, ни в суффиксе это не указано.
Прототип с ID EventHumanSkillsTTS и суффиксом skills, TTS (без слова ghostrole) тем не менее включает компонент GhostRole (строки 123–128). Судя по паттерну остальных прототипов, это выглядит как остаток от копирования кода. Если компонент GhostRole здесь не нужен, его следует удалить; если нужен — ID и суффикс должны это отражать.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Prototypes/Imperial/NEGODAY/SpawnerHuman.yml` around lines 90 -
133, Прототип EventHumanSkillsTTS содержит компонент GhostRole, хотя ни ID, ни
суффикс этого не отражают; либо удалите блок компонента GhostRole (строки,
начинающиеся с "- type: GhostRole" и его дочерние поля
name/description/rules/raffle) из сущности EventHumanSkillsTTS если роль не
нужна, либо переименуйте id/суффикс (например добавить "ghostrole" в id или
суффикс) чтобы соответствовать включённому компоненту и сохранить
консистентность с остальными прототипами; проверьте, что после изменения
остальные ссылки/локализуемые ключи (ghostrole-event-name,
ghostrole-event-allskills-desc, ghostrole-event-rules) остаются корректными или
удалите их при удалении компонента.
|
Кролик выделил правильные моменты, особенно исправление расширения файла локализации .flt → .ftl |
О ПР`е
Тип: feat
Изменения: Ивентовый контент
Технические детали
Нет
Изменения кода официальных разработчиков
Нет
Summary by CodeRabbit
Новые функции