1.6 fixed dependency logic error and added missing keys#1709
1.6 fixed dependency logic error and added missing keys#1709Skiller87 wants to merge 7 commits intoLudeon:masterfrom
Conversation
| <!-- <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> --> |
There was a problem hiding this comment.
Почему строки ниже - закомменчены?
There was a problem hiding this comment.
копировал с оригинала, не определился пока внедрять ли конструкции эти в рабочие правила, поэтому пока оставил. Этот реквест лучше отменить, в виду того , что я дальше проработал зависимости и текущие изменения не так актуальны.
There was a problem hiding this comment.
Ты мог бы залить коммиты с переработанными зависимостями сюда. И не придётся ничего отменять
There was a problem hiding this comment.
актуальный файл загружался с коммитом "fix and modification logic RulePackDef"
я не хотел бы удалять закомментированные строки. Есть ощущение что можно будет доработать эту часть чтобы генерации названий на карте.
Core/DefInjected/RulePackDef/RulePacks_Namers_WorldFeatures.xml
Outdated
Show resolved
Hide resolved
Core/DefInjected/RulePackDef/RulePacks_Namers_WorldFeatures.xml
Outdated
Show resolved
Hide resolved
Odyssey/DefInjected/RulePackDef/RulePacks_Namers_WorldFeatures.xml
Outdated
Show resolved
Hide resolved
| <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> |
There was a problem hiding this comment.
В чём причина замены вероятности?
There was a problem hiding this comment.
не совсем понял, про какую замену речь?
сейчас в актуальном файле:
последняя фраза кажется более естественной , к примеру - "токсичное озеро Басто" естественнее чем "Яд от Jane"
There was a problem hiding this comment.
В оригинальном тексте вероятности другие, 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. Почему?
There was a problem hiding this comment.
выложил коммит, в котором коэффициенты скорректировал в соответствии с оригиналом на сколько это возможно.
-добавлены ключи narrative_name в Core (возможно требуют корректировки) - скорректированы и дополнены зависимости в файлах Odyssey для перевода обозначений объектов на карте (ранее перевод не работал)
- исправлены отступы - переписаны terrain_world с учётом дифференциации по роду и числу (в связи с этим количество правил увеличилось) . - добавлена логика генерации городов с учётом дифференциации по роду и числу для меток заражённых поселений добавлены текстовые файлы в core - исправлены косячные строки
1087354 to
9ce6c17
Compare
b0c1af4 to
9ce6c17
Compare
проинспектированы вероятности в соответствии с оригиналом, на сколько это возможно. В оригинале генерация куда проще, соответственно не все вероятности совпадают.
There was a problem hiding this comment.
Резюмирующие замечания
При использовании уже имеющегося генератора названий населённых пунктов 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> |
There was a problem hiding this comment.
Присвоение такого частного значения переменной в блоке WorldFeatureNamerCommon, на который ссылаются многие генераторы, в том числе NamerGlacialPlain, где эта переменная используется, будет приводить к противоречивым результатам, например таким:

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

There was a problem hiding this comment.
касаемо townname_wordgen для генерации названий заражённых поселений и городов в качестве "мест интереса" - игра не подхватывала существующий ключ и не генерировала названия. Я долго с этим мучился. Правило заработало когда я отдельно в файле Одиссеи добавил ключ и добавил генерацию с использованием файлов ( End_fem.txt End_mas.txt End_neo.txt End_plural.txt )
There was a problem hiding this comment.
предлагаю попробовать поменять название ключа в одиссеи, но генерацию с использованием окончаний оставить?
There was a problem hiding this comment.
Касаемо
Присвоение такого частного значения переменной в блоке
WorldFeatureNamerCommon, на который ссылаются многие генераторы, в том числеNamerGlacialPlain, где эта переменная используется, будет приводить к противоречивым результатам, например таким:Здесь состоящая из ледниковых равнин область называется
Замерзший лес, хотя в описании биома указано, что это открытая территория со скудной растительностью.Чтобы разобраться, какой блок на что ссылается, можно обратиться к ресурсам игры. Так, в файле
RimWorld\Data\Odyssey\Defs\RulePackDefs\RulePacks_Namers_WorldFeatures.xmlесть следующая запись:
С выходом Одиссеи места на карте и названия мест интереса зависимы от блока WorldFeatureNamerCommon. Соответственно ключи narrative_name, narrative_name_* должны быть там прописаны. Необходимо дорабатывать генератор, чтобы убрать противоречивые названия (как на примере). Есть идея разделить ключи по типу территории - либо forest либо wasteland и в одиссеи подключать их в соответствии с типом местности. Других вариантов я не вижу.
There was a problem hiding this comment.
касаемо townname_wordgen для генерации названий заражённых поселений и городов в качестве "мест интереса" - игра не подхватывала существующий ключ и не генерировала названия. Я долго с этим мучился. Правило заработало когда я отдельно в файле Одиссеи добавил ключ и добавил генерацию с использованием файлов ( End_fem.txt End_mas.txt End_neo.txt End_plural.txt )
Нашёл способ удалить эти файлы и оставить штатную генерацию названий городов в локализации, в ближайшее время выложу обновление
There was a problem hiding this comment.
Касаемо
Присвоение такого частного значения переменной в блоке
WorldFeatureNamerCommon, на который ссылаются многие генераторы, в том числеNamerGlacialPlain, где эта переменная используется, будет приводить к противоречивым результатам, например таким:Здесь состоящая из ледниковых равнин область называется
Замерзший лес, хотя в описании биома указано, что это открытая территория со скудной растительностью.
Чтобы разобраться, какой блок на что ссылается, можно обратиться к ресурсам игры. Так, в файлеRimWorld\Data\Odyssey\Defs\RulePackDefs\RulePacks_Namers_WorldFeatures.xmlесть следующая запись:С выходом Одиссеи места на карте и названия мест интереса зависимы от блока 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> |
There was a problem hiding this comment.
Этого слова нет даже в оригинале.
| <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> |
There was a problem hiding this comment.
Неуместное значение переменной.
| <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> |
There was a problem hiding this comment.
Архипелаг — группа островов, расположенных близко друг к другу.
Об этом же говорится в игровом описании, и это же отображено на карте местности:

Стоит отказаться от варианта с одиночным островом, так как таковой описан в блоке NamerLandmark_CoastalIsland.
| <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> |
There was a problem hiding this comment.
Переменные weapon_type_mas, weapon_type_fem и weapon_type_neu не определены.
There was a problem hiding this comment.
удалил, эти ключи были в оригинальных файлах локализации, я не проверял их на предмет существования (подумал что в игре эти ключи есть, а игра не выдавала ошибок)
| <li>weapon_adjective_fem(p=2)->[trait_adjective_fem]</li> | ||
| <li>weapon_adjective_neu(p=2)->[trait_adjective_neu]</li> |
There was a problem hiding this comment.
Переменные trait_adjective_fem и trait_adjective_neu не определены.
There was a problem hiding this comment.
добавил определения ключей trait_adjective_fem, trait_adjective_neu, trait_adjective_mas по 10 черт.
Odyssey/DefInjected/RulePackDef/RulePacks_Namers_WorldFeatures.xml
Outdated
Show resolved
Hide resolved
Odyssey/DefInjected/RulePackDef/RulePacks_Namers_WorldFeatures.xml
Outdated
Show resolved
Hide resolved
| <li>narrative_name->[suffix_proper]</li> | ||
| <li>narrative_name_gen->[suffix_proper]</li> |
There was a problem hiding this comment.
Между двумя переменными нет различий — следует одну убрать.
Учитывая, что в результате обработки suffix_proper могут получиться слова в родительном падеже, то правильнее будет убрать первую строку.
- добавлены определения для ключей 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>


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