Skip to content

Commit 587825f

Browse files
committed
Merge branch 'master' into variables-conversion
2 parents b7c042f + 211feb1 commit 587825f

File tree

42 files changed

+716
-697
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+716
-697
lines changed

.github/workflows/build_dev_version.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ jobs:
1414
matrix:
1515
build:
1616
- win-x64
17-
- linux-x64
17+
#- linux-x64
1818
include:
1919
- build: win-x64
2020
os: [self-hosted, windows]
2121
archive_type: zip
2222
archive_extension: .zip
23-
- build: linux-x64
24-
os: ubuntu-latest
25-
archive_type: tar
26-
archive_extension: .tgz
23+
#- build: linux-x64
24+
# os: ubuntu-latest
25+
# archive_type: tar
26+
# archive_extension: .tgz
2727
steps:
2828
- name: Get branch name (Windows)
2929
if: runner.os == 'Windows'

ImperatorToCK3/CK3/Dynasties/DynastyCollection.cs

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public void PurgeUnneededDynasties(CharacterCollection characters, HouseCollecti
147147
public void FlattenDynastiesWithNoFounders(CharacterCollection characters, HouseCollection houses, Date date) {
148148
Logger.Info("Flattening dynasties with no founders...");
149149
int count = 0;
150-
150+
151151
var dynastiesWithMainBranchMembers = new HashSet<string>(StringComparer.Ordinal);
152152
var charactersByHouseId = new Dictionary<string, List<Character>>(StringComparer.Ordinal);
153153
foreach (var character in characters) {
@@ -168,24 +168,13 @@ public void FlattenDynastiesWithNoFounders(CharacterCollection characters, House
168168
houseMembers.Add(character);
169169
}
170170

171-
var houseIdsByDynasty = new Dictionary<string, List<string>>(StringComparer.Ordinal);
172-
foreach (var house in houses) {
173-
if (house.DynastyId is not string dynastyId) {
174-
continue;
175-
}
171+
Dictionary<string, List<string>> houseIdsByDynasty = GetHouseIdsByDynasty(houses);
176172

177-
if (!houseIdsByDynasty.TryGetValue(dynastyId, out var dynastyHouseIds)) {
178-
dynastyHouseIds = [];
179-
houseIdsByDynasty[dynastyId] = dynastyHouseIds;
180-
}
181-
dynastyHouseIds.Add(house.Id);
182-
}
183-
184173
foreach (var dynasty in this) {
185174
if (dynastiesWithMainBranchMembers.Contains(dynasty.Id)) {
186175
continue;
187176
}
188-
177+
189178
if (!houseIdsByDynasty.TryGetValue(dynasty.Id, out var dynastyHouseIds)) {
190179
continue;
191180
}
@@ -200,20 +189,37 @@ public void FlattenDynastiesWithNoFounders(CharacterCollection characters, House
200189
if (cadetHouseMembers.Count == 0) {
201190
continue;
202191
}
203-
192+
204193
foreach (var character in cadetHouseMembers) {
205194
character.ClearDynastyHouse();
206195
character.SetDynastyId(dynasty.Id, null);
207196
}
208-
197+
209198
// Remove all the cadet houses.
210199
foreach (var houseId in dynastyHouseIds) {
211200
houses.RemoveUnlessConfiguredToPreserve(houseId);
212201
}
213-
202+
214203
++count;
215204
}
216-
205+
217206
Logger.Info($"Flattened {count} dynasties with no founders.");
218207
}
208+
209+
private static Dictionary<string, List<string>> GetHouseIdsByDynasty(HouseCollection houses) {
210+
var houseIdsByDynasty = new Dictionary<string, List<string>>(StringComparer.Ordinal);
211+
foreach (var house in houses) {
212+
if (house.DynastyId is not string dynastyId) {
213+
continue;
214+
}
215+
216+
if (!houseIdsByDynasty.TryGetValue(dynastyId, out var dynastyHouseIds)) {
217+
dynastyHouseIds = [];
218+
houseIdsByDynasty[dynastyId] = dynastyHouseIds;
219+
}
220+
dynastyHouseIds.Add(house.Id);
221+
}
222+
223+
return houseIdsByDynasty;
224+
}
219225
}

ImperatorToCK3/CommonUtils/Map/ProvinceDefinitions.cs

Lines changed: 60 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@ internal sealed class ProvinceDefinitions : IdObjectCollection<ulong, ProvinceDe
1313
internal Dictionary<ulong, Rgb24> ProvinceToColorDict { get; } = [];
1414

1515
internal void LoadDefinitions(string definitionsFilename, ModFilesystem modFS) {
16-
var relativePath = Path.Combine("map_data", definitionsFilename);
17-
string? definitionsFilePath = modFS.GetActualFileLocation(relativePath);
16+
string? definitionsFilePath = GetDefinitionsFilePath(definitionsFilename, modFS);
1817
if (definitionsFilePath is null) {
19-
Logger.Warn($"Province definitions file {definitionsFilename} not found!");
2018
return;
2119
}
2220

@@ -30,58 +28,73 @@ internal void LoadDefinitions(string definitionsFilename, ModFilesystem modFS) {
3028
if (line is null) {
3129
continue;
3230
}
31+
3332
line = line.TrimStart();
34-
if (line.Length < 4 || line[0] == '#') {
33+
if (ShouldSkipLine(line)) {
3534
continue;
3635
}
3736

3837
try {
39-
var span = line.AsSpan();
40-
int pos = 0;
41-
42-
// id
43-
var idEnd = span.IndexOf(';');
44-
if (idEnd < 0) throw new FormatException("Missing separators");
45-
var idSpan = span[pos..idEnd];
46-
pos = idEnd + 1;
47-
if (!ulong.TryParse(idSpan, out var id)) {
48-
throw new FormatException($"Invalid id: {idSpan}");
49-
}
50-
AddOrReplace(new ProvinceDefinition(id));
51-
52-
// r
53-
var rEnd = span[pos..].IndexOf(';');
54-
if (rEnd < 0) throw new FormatException("Missing separators");
55-
var rSpan = span[pos..(pos + rEnd)];
56-
pos += rEnd + 1;
57-
if (!byte.TryParse(rSpan, out var r)) {
58-
throw new FormatException($"Invalid r: {rSpan}");
59-
}
60-
61-
// g
62-
var gEnd = span[pos..].IndexOf(';');
63-
if (gEnd < 0) throw new FormatException("Missing separators");
64-
var gSpan = span[pos..(pos + gEnd)];
65-
pos += gEnd + 1;
66-
if (!byte.TryParse(gSpan, out var g)) {
67-
throw new FormatException($"Invalid g: {gSpan}");
68-
}
69-
70-
// b
71-
var bEnd = span[pos..].IndexOf(';');
72-
if (bEnd < 0) throw new FormatException("Missing separators");
73-
var bSpan = span[pos..(pos + bEnd)];
74-
pos += bEnd + 1;
75-
if (!byte.TryParse(bSpan, out var b)) {
76-
throw new FormatException($"Invalid b: {bSpan}");
77-
}
78-
79-
var color = new Rgb24(r, g, b);
80-
ProvinceToColorDict.Add(id, color);
81-
ColorToProvinceDict[color] = id;
38+
ParseDefinitionLine(line);
8239
} catch (Exception e) {
8340
throw new FormatException($"Line: |{line}| is unparseable! Breaking. ({e})");
8441
}
8542
}
8643
}
44+
45+
private static string? GetDefinitionsFilePath(string definitionsFilename, ModFilesystem modFS) {
46+
var relativePath = Path.Combine("map_data", definitionsFilename);
47+
string? definitionsFilePath = modFS.GetActualFileLocation(relativePath);
48+
if (definitionsFilePath is null) {
49+
Logger.Warn($"Province definitions file {definitionsFilename} not found!");
50+
}
51+
return definitionsFilePath;
52+
}
53+
54+
private static bool ShouldSkipLine(string line) {
55+
return line.Length < 4 || line[0] == '#';
56+
}
57+
58+
private void ParseDefinitionLine(string line) {
59+
var span = line.AsSpan();
60+
int pos = 0;
61+
62+
var id = ParseProvinceId(span, ref pos);
63+
AddOrReplace(new ProvinceDefinition(id));
64+
65+
var color = new Rgb24(
66+
ParseColorComponent(span, ref pos, "r"),
67+
ParseColorComponent(span, ref pos, "g"),
68+
ParseColorComponent(span, ref pos, "b")
69+
);
70+
ProvinceToColorDict.Add(id, color);
71+
ColorToProvinceDict[color] = id;
72+
}
73+
74+
private static ulong ParseProvinceId(ReadOnlySpan<char> span, ref int pos) {
75+
var idSpan = ReadNextField(span, ref pos);
76+
if (ulong.TryParse(idSpan, out var id)) {
77+
return id;
78+
}
79+
throw new FormatException($"Invalid id: {idSpan}");
80+
}
81+
82+
private static byte ParseColorComponent(ReadOnlySpan<char> span, ref int pos, string componentName) {
83+
var componentSpan = ReadNextField(span, ref pos);
84+
if (byte.TryParse(componentSpan, out var component)) {
85+
return component;
86+
}
87+
throw new FormatException($"Invalid {componentName}: {componentSpan}");
88+
}
89+
90+
private static ReadOnlySpan<char> ReadNextField(ReadOnlySpan<char> span, ref int pos) {
91+
var fieldEnd = span[pos..].IndexOf(';');
92+
if (fieldEnd < 0) {
93+
throw new FormatException("Missing separators");
94+
}
95+
96+
var fieldSpan = span[pos..(pos + fieldEnd)];
97+
pos += fieldEnd + 1;
98+
return fieldSpan;
99+
}
87100
}

ImperatorToCK3/Data_Files/blankMod/output/common/culture/name_lists/00_oscan.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ name_list_oscan = {
55
#Central Italic & Samnite
66
dynn_Arkius dynn_Aadiis dynn_Adariis dynn_Anniis dynn_Asinis dynn_Atriis dynn_Babbiis dynn_Basis dynn_Beniis dynn_Beitiis dynn_Brutiis dynn_Cusies dynn_Dekiis dynn_Dekitiis dynn_Diriis dynn_Duiis dynn_Enniis dynn_Fisanis dynn_Fuvfdis dynn_Flaviis dynn_Galliis dynn_Gaviis dynn_Gnaiviis dynn_Heiis dynn_Heleviis dynn_Hurtiis dynn_Husidiis dynn_Husiniis dynn_Kalaviis dynn_Kampaniis dynn_Kattiis dynn_Kepiis dynn_Kiipiis dynn_Kluvatiis dynn_Klippiis dynn_Kudiis dynn_Kureliis dynn_Luvkiis dynn_Magiis dynn_Mamios dynn_Mahiis dynn_Metiis dynn_Niumeriis dynn_Niumediis dynn_Niumsdiis dynn_Nuviis dynn_Pupaiis dynn_Paapaiis dynn_Pakkuiis dynn_Pumptiis dynn_Pupeliis dynn_Pafiis dynn_Peracis dynn_Rufriis dynn_Sattiis dynn_Statiis dynn_Staiis dynn_Tanunis dynn_Tintiriis dynn_Variis dynn_Valavennis dynn_Veleiis dynn_Vesulliais dynn_Urufiis dynn_Uviis dynn_Vuliis dynn_Accaes dynn_Alfius dynn_Allius dynn_Annaes dynn_Anaiedius dynn_Annius dynn_Anniaes dynn_Aies dynn_Aninius dynn_Apidius dynn_Apunius dynn_Atius dynn_Atiedius dynn_Aufidius dynn_Burtius dynn_Caeedius dynn_Caesius dynn_Cantouius dynn_Catis dynn_Cisiedius dynn_Cossutius dynn_Cristidis dynn_Comenius dynn_Decrius dynn_Decirius dynn_Ebedius dynn_Fadatronius dynn_Helevius dynn_Licinius dynn_Lucius dynn_Magius dynn_Metius dynn_Musesus dynn_Obellius dynn_Optorius dynn_Ouius dynn_Oviedius dynn_Pacuuius dynn_Pacius dynn_Papius dynn_Pedlies dynn_Peticius dynn_Petiedius dynn_Petronius dynn_Pomponius dynn_Plautius dynn_Polfenis dynn_Pontius dynn_Popidius dynn_Rufrius dynn_Sabidius dynn_Salvidienus dynn_Salvidius dynn_Sarius dynn_Scaefius dynn_Sontius dynn_Sullius dynn_Seius dynn_Staedius dynn_Sucidius dynn_Suellius dynn_Suetedius dynn_Taflenius dynn_Tatius dynn_Tettius dynn_Titis dynn_Valerius dynn_Vettius dynn_Vibidius dynn_Vibius dynn_Umbrenus
77
#Lucanian & Bruttian
8-
dynn_Aboliis dynn_Afaries dynn_Alafis dynn_Alaponies dynn_Arriis dynn_Arrontiis dynn_Artoriis dynn_Aselliis dynn_Audadis dynn_Audais dynn_Avdiis dynn_Barabiis dynn_Bividis dynn_Bothroniis dynn_Caedikis dynn_Caisidis dynn_Comnis dynn_Dekkiis dynn_Datiis dynn_Diris dynn_Erounts dynn_Fadis dynn_Festies dynn_Gaukiis dynn_Heriis dynn_Horiis dynn_Hortis dynn_Imiis dynn_Kaidikis dynn_Kailiis dynn_Kepiis dynn_Kotteis dynn_Loikis dynn_Maraiis dynn_Maisis dynn_Mamerekies dynn_Nanonis dynn_Opsiis dynn_Platorius dynn_Pumpunis dynn_Pakidiis dynn_pakulliis dynn_Percenniis dynn_Puinikis dynn_Pokidis dynn_Polliis dynn_Poppalais dynn_Pomponis dynn_Rais dynn_Soies dynn_Statiis dynn_Sabidis dynn_Scalaponiis dynn_Slabiis dynn_Spelis dynn_Stalliis dynn_Statiis dynn_Suriis dynn_Titidiis dynn_Toureiis dynn_Touriis dynn_Trebatiis dynn_Upsiis dynn_Viris dynn_Variis dynn_Vinlenis
8+
dynn_Aboliis dynn_Afaries dynn_Alafis dynn_Alaponies dynn_Arriis dynn_Arrontiis dynn_Artoriis dynn_Aselliis dynn_Audadis dynn_Audais dynn_Avdiis dynn_Barabiis dynn_Bividis dynn_Bothroniis dynn_Caedikis dynn_Caisidis dynn_Comnis dynn_Dekkiis dynn_Datiis dynn_Diris dynn_Erounts dynn_Fadis dynn_Festies dynn_Gaukiis dynn_Heriis dynn_Horiis dynn_Hortis dynn_Imiis dynn_Kaidikis dynn_Kailiis dynn_Kepiis dynn_Kotteis dynn_Loikis dynn_Maraiis dynn_Maisis dynn_Mamerekies dynn_Nanonis dynn_Opsiis dynn_Platorius dynn_Pumpunis dynn_Pakidiis dynn_pakulliis dynn_Percenniis dynn_Puinikis dynn_Pokidis dynn_Polliis dynn_Poppalais dynn_Pomponis dynn_Rais dynn_Soies dynn_Statiis dynn_Sabidis dynn_Scalaponiis dynn_Slabiis dynn_Spelis dynn_Stalliis dynn_Statiis dynn_Suriis dynn_Titidiis dynn_Toureiis dynn_Touriis dynn_Trebatiis dynn_Upsiis dynn_Viris dynn_Variis dynn_Vinlenis
99
}
1010
dynasty_names = {
1111
#Central Italic & Samnite
1212
dynn_Arkius dynn_Aadiis dynn_Adariis dynn_Anniis dynn_Asinis dynn_Atriis dynn_Babbiis dynn_Basis dynn_Beniis dynn_Beitiis dynn_Brutiis dynn_Cusies dynn_Dekiis dynn_Dekitiis dynn_Diriis dynn_Duiis dynn_Enniis dynn_Fisanis dynn_Fuvfdis dynn_Flaviis dynn_Galliis dynn_Gaviis dynn_Gnaiviis dynn_Heiis dynn_Heleviis dynn_Hurtiis dynn_Husidiis dynn_Husiniis dynn_Kalaviis dynn_Kampaniis dynn_Kattiis dynn_Kepiis dynn_Kiipiis dynn_Kluvatiis dynn_Klippiis dynn_Kudiis dynn_Kureliis dynn_Luvkiis dynn_Magiis dynn_Mamios dynn_Mahiis dynn_Metiis dynn_Niumeriis dynn_Niumediis dynn_Niumsdiis dynn_Nuviis dynn_Pupaiis dynn_Paapaiis dynn_Pakkuiis dynn_Pumptiis dynn_Pupeliis dynn_Pafiis dynn_Peracis dynn_Rufriis dynn_Sattiis dynn_Statiis dynn_Staiis dynn_Tanunis dynn_Tintiriis dynn_Variis dynn_Valavennis dynn_Veleiis dynn_Vesulliais dynn_Urufiis dynn_Uviis dynn_Vuliis dynn_Accaes dynn_Alfius dynn_Allius dynn_Annaes dynn_Anaiedius dynn_Annius dynn_Anniaes dynn_Aies dynn_Aninius dynn_Apidius dynn_Apunius dynn_Atius dynn_Atiedius dynn_Aufidius dynn_Burtius dynn_Caeedius dynn_Caesius dynn_Cantouius dynn_Catis dynn_Cisiedius dynn_Cossutius dynn_Cristidis dynn_Comenius dynn_Decrius dynn_Decirius dynn_Ebedius dynn_Fadatronius dynn_Helevius dynn_Licinius dynn_Lucius dynn_Magius dynn_Metius dynn_Musesus dynn_Obellius dynn_Optorius dynn_Ouius dynn_Oviedius dynn_Pacuuius dynn_Pacius dynn_Papius dynn_Pedlies dynn_Peticius dynn_Petiedius dynn_Petronius dynn_Pomponius dynn_Plautius dynn_Polfenis dynn_Pontius dynn_Popidius dynn_Rufrius dynn_Sabidius dynn_Salvidienus dynn_Salvidius dynn_Sarius dynn_Scaefius dynn_Sontius dynn_Sullius dynn_Seius dynn_Staedius dynn_Sucidius dynn_Suellius dynn_Suetedius dynn_Taflenius dynn_Tatius dynn_Tettius dynn_Titis dynn_Valerius dynn_Vettius dynn_Vibidius dynn_Vibius dynn_Umbrenus
1313
#Lucanian & Bruttian
14-
dynn_Aboliis dynn_Afaries dynn_Alafis dynn_Alaponies dynn_Arriis dynn_Arrontiis dynn_Artoriis dynn_Aselliis dynn_Audadis dynn_Audais dynn_Avdiis dynn_Barabiis dynn_Bividis dynn_Bothroniis dynn_Caedikis dynn_Caisidis dynn_Comnis dynn_Dekkiis dynn_Datiis dynn_Diris dynn_Erounts dynn_Fadis dynn_Festies dynn_Gaukiis dynn_Heriis dynn_Horiis dynn_Hortis dynn_Imiis dynn_Kaidikis dynn_Kailiis dynn_Kepiis dynn_Kotteis dynn_Loikis dynn_Maraiis dynn_Maisis dynn_Mamerekies dynn_Nanonis dynn_Opsiis dynn_Platorius dynn_Pumpunis dynn_Pakidiis dynn_pakulliis dynn_Percenniis dynn_Puinikis dynn_Pokidis dynn_Polliis dynn_Poppalais dynn_Pomponis dynn_Rais dynn_Soies dynn_Statiis dynn_Sabidis dynn_Scalaponiis dynn_Slabiis dynn_Spelis dynn_Stalliis dynn_Statiis dynn_Suriis dynn_Titidiis dynn_Toureiis dynn_Touriis dynn_Trebatiis dynn_Upsiis dynn_Viris dynn_Variis dynn_Vinlenis
14+
dynn_Aboliis dynn_Afaries dynn_Alafis dynn_Alaponies dynn_Arriis dynn_Arrontiis dynn_Artoriis dynn_Aselliis dynn_Audadis dynn_Audais dynn_Avdiis dynn_Barabiis dynn_Bividis dynn_Bothroniis dynn_Caedikis dynn_Caisidis dynn_Comnis dynn_Dekkiis dynn_Datiis dynn_Diris dynn_Erounts dynn_Fadis dynn_Festies dynn_Gaukiis dynn_Heriis dynn_Horiis dynn_Hortis dynn_Imiis dynn_Kaidikis dynn_Kailiis dynn_Kepiis dynn_Kotteis dynn_Loikis dynn_Maraiis dynn_Maisis dynn_Mamerekies dynn_Nanonis dynn_Opsiis dynn_Platorius dynn_Pumpunis dynn_Pakidiis dynn_pakulliis dynn_Percenniis dynn_Puinikis dynn_Pokidis dynn_Polliis dynn_Poppalais dynn_Pomponis dynn_Rais dynn_Soies dynn_Statiis dynn_Sabidis dynn_Scalaponiis dynn_Slabiis dynn_Spelis dynn_Stalliis dynn_Statiis dynn_Suriis dynn_Titidiis dynn_Toureiis dynn_Touriis dynn_Trebatiis dynn_Upsiis dynn_Viris dynn_Variis dynn_Vinlenis
1515
}
1616
male_names = {
1717
#Central Italic & Samnite
18-
Aulis Aufilus Baitis Banttieis Bantieis Caisidis Cauius Ceis Efiis Eviis Gavis Gaavis Gnaivis Gaius Heirene Heirens Heris Kailenus Kaisillieis Kerins Kerrins Kluvatz Kumnis Luvkis Lukidel Mamercis Maras Maraeus Minaz Minis Marius Mettius Minatus Minathis Mais Marahis Minis Mitilis Mudis Melmis Nuvis Niumsis Oufilus Ovisos Pakis Rufiis Stenis Statis Stenis Titus Trebis Uvis Veliis Venelis Vinux Uhtavis Vibis Uvis
19-
Arghillus Cauius Caeso Charitus Egnatius Lucius Minas Minis Niumsis Numerius Nounis Obellius Publius Pompo Popdis Postumus Sextus Seppius Statis Titus Trebius Vibius
18+
Aulis Aufilus Baitis Banttieis Bantieis Caisidis Cauius Ceis Efiis Eviis Gavis Gaavis Gnaivis Gaius Heirene Heirens Heris Kailenus Kaisillieis Kerins Kerrins Kluvatz Kumnis Luvkis Lukidel Mamercis Maras Maraeus Minaz Minis Marius Mettius Minatus Minathis Mais Marahis Minis Mitilis Mudis Melmis Nuvis Niumsis Oufilus Ovisos Pakis Rufiis Stenis Statis Stenis Titus Trebis Uvis Veliis Venelis Vinux Uhtavis Vibis Uvis
19+
Arghillus Cauius Caeso Charitus Egnatius Lucius Minas Minis Niumsis Numerius Nounis Obellius Publius Pompo Popdis Postumus Sextus Seppius Statis Titus Trebius Vibius
2020
#Lucanian & Bruttian
2121
Alaponis Arax Avis Avdiis Auilis Bannis Bantinis Cauius Caris Gavis Gnaius Heirens Helvos Heris Itiis Itius Kerrins Keis Kluvaz Luvkis Loikis Luktiis Maras Minaz Minis Minios Mais Mamereks Marahis Makis Metis Numsis Niumsis Numpsius Nympsius Nouios Nopsis Uvis Uhtavis Pakis pakul Pumpuf Perkens Plasos Polliis Silis Sossos Spedis Spellis Stenis Trebis Trebas Ouddiis Ovidius Varis Vibis
2222
}

ImperatorToCK3/Data_Files/blankMod/output/common/culture/name_lists/00_raetic.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ name_list_raetic = {
55
"dynn_Arussnu" "dynn_Esiumninu" "dynn_Esminu" "dynn_Esthu" "dynn_Ethunnu" "dynn_Helanu" "dynn_Kanissnu" "dynn_Kapassunu" "dynn_Kaszrinu" "dynn_Kuhilinu" "dynn_Lassanu" "dynn_Lavisealu" "dynn_Lavisnu" "dynn_Lumennu" "dynn_Lupnu" "dynn_Metinu" "dynn_Nutsnu" "dynn_Phausu" "dynn_Phelvinu" "dynn_Phutikginu" "dynn_Pithamnu" "dynn_Reithussnu" "dynn_Reminu" "dynn_Ssikganu" "dynn_Susinu" "dynn_Tassnu" "dynn_Tenaginu" "dynn_Tharnu" "dynn_Thaukgrilinu" "dynn_Thianu" "dynn_Tiprukgnu" "dynn_Tulanu" "dynn_Valthikinu" "dynn_Velkganu" "dynn_Vinuthalinu" "dynn_Vistekganu"
66
}
77

8-
dynasty_names = {
8+
dynasty_names = {
99
"dynn_Arussnu" "dynn_Esiumninu" "dynn_Esminu" "dynn_Esthu" "dynn_Ethunnu" "dynn_Helanu" "dynn_Kanissnu" "dynn_Kapassunu" "dynn_Kaszrinu" "dynn_Kuhilinu" "dynn_Lassanu" "dynn_Lavisealu" "dynn_Lavisnu" "dynn_Lumennu" "dynn_Lupnu" "dynn_Metinu" "dynn_Nutsnu" "dynn_Phausu" "dynn_Phelvinu" "dynn_Phutikginu" "dynn_Pithamnu" "dynn_Reithussnu" "dynn_Reminu" "dynn_Ssikganu" "dynn_Susinu" "dynn_Tassnu" "dynn_Tenaginu" "dynn_Tharnu" "dynn_Thaukgrilinu" "dynn_Thianu" "dynn_Tiprukgnu" "dynn_Tulanu" "dynn_Valthikinu" "dynn_Velkganu" "dynn_Vinuthalinu" "dynn_Vistekganu"
10-
}
10+
}
1111

1212
male_names = {
1313
Atilius Azi Elkganu Enike Esimne Essthu Estanu Esumne Kanise Kathiave Ketanu Kgaisuru Kgika Klevie Knuse
1414
Laseke Lassanu Lasta Lasthe Lathur Lavise Lavisie Lumene Munie Phausu Phelturie Phelzurie Phrima Phutikgi
15-
Pitale Pithamne Pithiave Pithie Piti Pitie Piri Reithe Reituse Remie Tarie Tenakgi Terunie Tnake Tharie Tula
16-
Tulanu Ustitsu Valthikie Vassa Vatsanu Velthie
15+
Pitale Pithamne Pithiave Pithie Piti Pitie Piri Reithe Reituse Remie Tarie Tenakgi Terunie Tnake Tharie Tula
16+
Tulanu Ustitsu Valthikie Vassa Vatsanu Velthie
1717
}
1818

19-
female_names = {
19+
female_names = {
2020
Aruse Arusna Kara Kari Kgari Kgeli Kgevisiana Lavise Lavissa Perkusi Phelna Piri Remi Siara
21-
}
21+
}
2222
patronym_suffix_male = "dynnpat_suf_nu"
2323
patronym_suffix_female = "dynnpat_suf_na"
24-
25-
always_use_patronym = yes
24+
25+
always_use_patronym = yes
2626
}

ImperatorToCK3/Data_Files/blankMod/output/common/culture/name_lists/IRToCK3_anatolian.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ name_list_anatolian = {
198198

199199
female_names = {
200200
Nysa Aryenis Ada Glaphyra Pythodorida Etazeta Drypetina Orsabaris Hypsicratea Boa Amasia
201-
}
201+
}
202202

203203
# Patronymics (Apparently comes from Hittite/Luwian words for "descendant". Best I could find without being really repetitive)
204204
patronym_prefix_male = prefix_hams

0 commit comments

Comments
 (0)