Skip to content

Comments

1.6 fixed dependency logic error and added missing keys#1709

Open
Skiller87 wants to merge 7 commits intoLudeon:masterfrom
Skiller87:v1.6-Odyssey-DefInjected-RulePackDef
Open

1.6 fixed dependency logic error and added missing keys#1709
Skiller87 wants to merge 7 commits intoLudeon:masterfrom
Skiller87:v1.6-Odyssey-DefInjected-RulePackDef

Conversation

@Skiller87
Copy link

-добавлены ключи narrative_name в Core (возможно требуют корректировки)

  • скорректированы и дополнены зависимости в файлах Odyssey для перевода обозначений объектов на карте (ранее перевод не работал)

@Skiller87 Skiller87 changed the title fixed dependency logic error and added missing keys 1.6 fixed dependency logic error and added missing keys Oct 6, 2025
Comment on lines 530 to 535
<!-- <li>r_name->[terrain_word] [narrative_name] </li>
<li>r_name(p=0.05)->[terrain_word] [storyname] </li> -->
<!-- <li>narrative_name(p=12)->[WordTribal]</li> -->
<!-- <li>narrative_name(p=12)->[PlaceOutlander]</li> -->
<!-- <li>narrative_name->[Color][NaturalObject]</li> -->
<!-- <li>narrative_name->[AdjectiveNatural][BodyPart]</li> -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Почему строки ниже - закомменчены?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

копировал с оригинала, не определился пока внедрять ли конструкции эти в рабочие правила, поэтому пока оставил. Этот реквест лучше отменить, в виду того , что я дальше проработал зависимости и текущие изменения не так актуальны.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ты мог бы залить коммиты с переработанными зависимостями сюда. И не придётся ничего отменять

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

актуальный файл загружался с коммитом "fix and modification logic RulePackDef"
я не хотел бы удалять закомментированные строки. Есть ощущение что можно будет доработать эту часть чтобы генерации названий на карте.

Comment on lines 600 to 603
<li>r_name(p=0.4)->Яд от [NamePerson]</li>
<li>r_name(p=0.4)->Порча от [NamePerson]</li>
<li>r_name(p=0.4)->Свалка в [NamePerson]</li>
<li>r_name(p=0.4)->[terrain_word] [narrative_name]</li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В чём причина замены вероятности?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не совсем понял, про какую замену речь?
сейчас в актуальном файле:

  • r_name(p=0.4)->Яд от [NamePerson]
  • r_name(p=0.4)->Порча от [NamePerson]
  • r_name(p=0.4)->Свалка [narrative_name]
  • r_name(p=0.5)->[terrain_word] [narrative_name]
  • последняя фраза кажется более естественной , к примеру - "токсичное озеро Басто" естественнее чем "Яд от Jane"

    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    В оригинальном тексте вероятности другие, 0.05

        <li>r_name(p=0.05)->[NamePerson]'s poison</li>
        <li>r_name(p=0.05)->[NamePerson]'s blight</li>
        <li>r_name(p=0.05)->[NamePerson]'s dumping grounds</li>
    

    А у тебя 0.4. Почему?

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    выложил коммит, в котором коэффициенты скорректировал в соответствии с оригиналом на сколько это возможно.

    -добавлены ключи narrative_name в Core  (возможно требуют корректировки)
    - скорректированы и дополнены зависимости в файлах Odyssey для перевода обозначений объектов на карте (ранее перевод не работал)
    - исправлены отступы
    - переписаны terrain_world с учётом дифференциации по роду и числу (в  связи с этим количество правил увеличилось) .
    - добавлена логика генерации городов с учётом дифференциации по роду и числу для меток заражённых поселений
    добавлены текстовые файлы в core
    - исправлены косячные строки
    @Elevator89 Elevator89 force-pushed the v1.6-Odyssey-DefInjected-RulePackDef branch from 1087354 to 9ce6c17 Compare January 20, 2026 09:29
    @Skiller87 Skiller87 force-pushed the v1.6-Odyssey-DefInjected-RulePackDef branch from b0c1af4 to 9ce6c17 Compare February 3, 2026 18:41
    проинспектированы вероятности в соответствии с оригиналом, на сколько это возможно. В оригинале генерация куда проще, соответственно не все вероятности совпадают.
    Copy link
    Contributor

    @Reiquard Reiquard left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Резюмирующие замечания

    При использовании уже имеющегося генератора названий населённых пунктов townname_wordgen, а я настоятельно рекомендую использовать именно его, следующие файлы становятся неактуальными и подлежат удалению:

    • End_fem.txt
    • End_mas.txt
    • End_neo.txt
    • End_plural.txt

     
    В блоке WorldFeatureNamerCommon, где определяются переменные narrative_name_*, необходимо исключить варианты с частными значениями (forest_*, wasteland_*).

     
    Аффиксы _neo в названиях переменных в рамках реквеста следует заменить на _neu.

     
    Закомментированные строки, а именно отключённые правила генерации, следует удалить. В таком виде их можно оставить у себя в форке для дальнейшей работы, а в ветке master им не место.

    Заключение

    Учитывая большой объём требуемых исправлений и, по-видимому, продолжающуюся работу над некоторыми правилами, а также важность скорейшего исправления ошибок в игре, предлагаю разделить реквест на две части: в текущей части оставить все необходимые изменения, касающиеся непосредственно исправления отображающихся в игре ошибок, а с новым реквестом добавить недостающие и исправленные правила генерации.

    <!-- закоменченные нужно проработать на предмет естественнности и необходимости -->
    <li>narrative_name->[suffix_proper]</li>
    <li>narrative_name_gen->[suffix_proper]</li>
    <li>narrative_name_mas->[forest_masc] [suffix_proper]</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Присвоение такого частного значения переменной в блоке WorldFeatureNamerCommon, на который ссылаются многие генераторы, в том числе NamerGlacialPlain, где эта переменная используется, будет приводить к противоречивым результатам, например таким:
    Image
    Здесь состоящая из ледниковых равнин область называется Замерзший лес, хотя в описании биома указано, что это открытая территория со скудной растительностью.

     
    Чтобы разобраться, какой блок на что ссылается, можно обратиться к ресурсам игры. Так, в файле RimWorld\Data\Odyssey\Defs\RulePackDefs\RulePacks_Namers_WorldFeatures.xml есть следующая запись:
    Image

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    касаемо townname_wordgen для генерации названий заражённых поселений и городов в качестве "мест интереса" - игра не подхватывала существующий ключ и не генерировала названия. Я долго с этим мучился. Правило заработало когда я отдельно в файле Одиссеи добавил ключ и добавил генерацию с использованием файлов ( End_fem.txt End_mas.txt End_neo.txt End_plural.txt )

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    предлагаю попробовать поменять название ключа в одиссеи, но генерацию с использованием окончаний оставить?

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Касаемо

    Присвоение такого частного значения переменной в блоке WorldFeatureNamerCommon, на который ссылаются многие генераторы, в том числе NamerGlacialPlain, где эта переменная используется, будет приводить к противоречивым результатам, например таким: Image Здесь состоящая из ледниковых равнин область называется Замерзший лес, хотя в описании биома указано, что это открытая территория со скудной растительностью.

      Чтобы разобраться, какой блок на что ссылается, можно обратиться к ресурсам игры. Так, в файле RimWorld\Data\Odyssey\Defs\RulePackDefs\RulePacks_Namers_WorldFeatures.xml есть следующая запись: Image

    С выходом Одиссеи места на карте и названия мест интереса зависимы от блока WorldFeatureNamerCommon. Соответственно ключи narrative_name, narrative_name_* должны быть там прописаны. Необходимо дорабатывать генератор, чтобы убрать противоречивые названия (как на примере). Есть идея разделить ключи по типу территории - либо forest либо wasteland и в одиссеи подключать их в соответствии с типом местности. Других вариантов я не вижу.

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    касаемо townname_wordgen для генерации названий заражённых поселений и городов в качестве "мест интереса" - игра не подхватывала существующий ключ и не генерировала названия. Я долго с этим мучился. Правило заработало когда я отдельно в файле Одиссеи добавил ключ и добавил генерацию с использованием файлов ( End_fem.txt End_mas.txt End_neo.txt End_plural.txt )

    Нашёл способ удалить эти файлы и оставить штатную генерацию названий городов в локализации, в ближайшее время выложу обновление

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Касаемо

    Присвоение такого частного значения переменной в блоке WorldFeatureNamerCommon, на который ссылаются многие генераторы, в том числе NamerGlacialPlain, где эта переменная используется, будет приводить к противоречивым результатам, например таким: Image Здесь состоящая из ледниковых равнин область называется Замерзший лес, хотя в описании биома указано, что это открытая территория со скудной растительностью.
      Чтобы разобраться, какой блок на что ссылается, можно обратиться к ресурсам игры. Так, в файле RimWorld\Data\Odyssey\Defs\RulePackDefs\RulePacks_Namers_WorldFeatures.xml есть следующая запись: Image

    С выходом Одиссеи места на карте и названия мест интереса зависимы от блока WorldFeatureNamerCommon. Соответственно ключи narrative_name, narrative_name_* должны быть там прописаны. Необходимо дорабатывать генератор, чтобы убрать противоречивые названия (как на примере). Есть идея разделить ключи по типу территории - либо forest либо wasteland и в одиссеи подключать их в соответствии с типом местности. Других вариантов я не вижу.

    Спасибо за наводку с зависимостями. Переделаю генерацию с учётом типов местности, внесу новые ключи в core под типы местности одиссеи.

    <li>narrative_name_plural->[AdjectiveAny_plural] [wasteland_plural]</li>
    <li>story_result->безумие</li>
    <li>story_result->порок</li>
    <li>story_result->disparate</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Этого слова нет даже в оригинале.

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    удалил.

    <li>r_name(p=0.2)->[terrain_word_mas] [narrative_name]</li>
    <li>terrain_word_mas(p=2)->город</li>
    <li>terrain_word_mas->аванпост</li>
    <li>terrain_word_mas->проклятый</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Неуместное значение переменной.

    <li>r_name(p=0.2)->[terrain_word_mas] [narrative_name]</li>
    <li>r_name(p=0.2)->[terrain_word_plural] [narrative_name]</li>
    <li>r_name(p=0.2)->[terrain_word_fem] [narrative_name]</li>
    <li>terrain_word_mas(p=4)->остров</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Архипелаг — группа островов, расположенных близко друг к другу.
    Об этом же говорится в игровом описании, и это же отображено на карте местности:
    Image

    Стоит отказаться от варианта с одиночным островом, так как таковой описан в блоке NamerLandmark_CoastalIsland.

    Comment on lines 85 to 87
    <li>weapon_noun_mas(p=2)->[weapon_type_mas]</li>
    <li>weapon_noun_fem(p=2)->[weapon_type_fem]</li>
    <li>weapon_noun_neu(p=2)->[weapon_type_neu]</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Переменные weapon_type_mas, weapon_type_fem и weapon_type_neu не определены.

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    удалил, эти ключи были в оригинальных файлах локализации, я не проверял их на предмет существования (подумал что в игре эти ключи есть, а игра не выдавала ошибок)

    Comment on lines +94 to +95
    <li>weapon_adjective_fem(p=2)->[trait_adjective_fem]</li>
    <li>weapon_adjective_neu(p=2)->[trait_adjective_neu]</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Переменные trait_adjective_fem и trait_adjective_neu не определены.

    Copy link
    Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    добавил определения ключей trait_adjective_fem, trait_adjective_neu, trait_adjective_mas по 10 черт.

    Comment on lines +510 to +511
    <li>narrative_name->[suffix_proper]</li>
    <li>narrative_name_gen->[suffix_proper]</li>
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Между двумя переменными нет различий — следует одну убрать.
    Учитывая, что в результате обработки suffix_proper могут получиться слова в родительном падеже, то правильнее будет убрать первую строку.

    Skiller87 and others added 4 commits February 18, 2026 00:53
    - добавлены определения для ключей trait_adjective_mas, trait_adjective_fem, trait_adjective_neu
    - удалены ключи weapon_type_mas, weapon_type_fem и weapon_type_neu (видимо были ошибочно добавлены студией при создании перевода при выпуске Одисеи)
    ….xml
    
    Co-authored-by: Николай Володин <62316596+Reiquard@users.noreply.github.com>
    Co-authored-by: Николай Володин <62316596+Reiquard@users.noreply.github.com>
    ….xml
    
    Co-authored-by: Николай Володин <62316596+Reiquard@users.noreply.github.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    None yet

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    3 participants