diff --git a/ImperatorToCK3.UnitTests/CK3/Characters/CK3CharacterTests.cs b/ImperatorToCK3.UnitTests/CK3/Characters/CK3CharacterTests.cs index 2555f68d0..b14ea914f 100644 --- a/ImperatorToCK3.UnitTests/CK3/Characters/CK3CharacterTests.cs +++ b/ImperatorToCK3.UnitTests/CK3/Characters/CK3CharacterTests.cs @@ -72,7 +72,7 @@ public class CK3CharacterBuilder { private TraitMapper traitMapper = new("TestFiles/configurables/trait_map.txt", CK3ModFS); private NicknameMapper nicknameMapper = new("TestFiles/configurables/nickname_map.txt"); private LocDB irLocDB = new("english"); - private CK3LocDB ck3LocDB = new(CK3ModFS); + private CK3LocDB ck3LocDB = new(CK3ModFS, Array.Empty()); private ProvinceMapper provinceMapper = new(); private DeathReasonMapper deathReasonMapper = new(); diff --git a/ImperatorToCK3.UnitTests/CK3/Dynasties/DynastyTests.cs b/ImperatorToCK3.UnitTests/CK3/Dynasties/DynastyTests.cs index 364127d01..d942ec29a 100644 --- a/ImperatorToCK3.UnitTests/CK3/Dynasties/DynastyTests.cs +++ b/ImperatorToCK3.UnitTests/CK3/Dynasties/DynastyTests.cs @@ -84,7 +84,7 @@ public Character Build() { traitMapper, nicknameMapper, locDB, - new CK3LocDB(ck3ModFS), + new CK3LocDB(ck3ModFS, config.GetActiveCK3ModFlags()), irMapData, provinceMapper, deathReasonMapper, diff --git a/ImperatorToCK3/CK3/CK3LocDB.cs b/ImperatorToCK3/CK3/CK3LocDB.cs index 5bf487008..f6d844721 100644 --- a/ImperatorToCK3/CK3/CK3LocDB.cs +++ b/ImperatorToCK3/CK3/CK3LocDB.cs @@ -5,17 +5,18 @@ using ImperatorToCK3.CK3.Localization; using System.Collections.Generic; using System.IO; +using System.Linq; namespace ImperatorToCK3.CK3; public class CK3LocDB : ConcurrentIdObjectCollection { public CK3LocDB() { } - public CK3LocDB(ModFilesystem ck3ModFS) { - LoadLocFromModFS(ck3ModFS); + public CK3LocDB(ModFilesystem ck3ModFS, IEnumerable activeModFlags) { + LoadLocFromModFS(ck3ModFS, activeModFlags); } - public void LoadLocFromModFS(ModFilesystem ck3ModFS) { + public void LoadLocFromModFS(ModFilesystem ck3ModFS, IEnumerable activeModFlags) { // Read loc from CK3 and selected CK3 mods. var modFSLocDB = new LocDB(ConverterGlobals.PrimaryLanguage, ConverterGlobals.SecondaryLanguages); modFSLocDB.ScrapeLocalizations(ck3ModFS); @@ -23,7 +24,7 @@ public void LoadLocFromModFS(ModFilesystem ck3ModFS) { // Read loc from ImperatorToCK3 congifurables. // It will only be outputted for keys localized in neither ModFSLocDB nor ConverterGeneratedLocDB. - LoadOptionalLoc(); + LoadOptionalLoc(activeModFlags); } private void ImportLocFromLocDB(LocDB locDB) { @@ -38,15 +39,24 @@ private void ImportLocFromLocDB(LocDB locDB) { } } - private void LoadOptionalLoc() { + private void LoadOptionalLoc(IEnumerable activeModFlags) { const string optionalLocDir = "configurables/localization"; if (!Directory.Exists(optionalLocDir)) { Logger.Warn("Optional loc directory not found, skipping optional loc loading."); return; } + string baseLocDir = Path.Combine(optionalLocDir, "base"); + var optionalLocFilePaths = Directory.GetFiles(baseLocDir, "*.yml", SearchOption.AllDirectories); + foreach (var modFlag in activeModFlags) { + string modLocDir = Path.Combine(optionalLocDir, modFlag); + if (!Directory.Exists(modLocDir)) { + continue; + } + optionalLocFilePaths = optionalLocFilePaths.Concat(Directory.GetFiles(modLocDir, "*.yml", SearchOption.AllDirectories)).ToArray(); + } + var optionalConverterLocDB = new LocDB(ConverterGlobals.PrimaryLanguage, ConverterGlobals.SecondaryLanguages); - var optionalLocFilePaths = Directory.GetFiles(optionalLocDir, "*.yml", SearchOption.AllDirectories); foreach (var outputtedLocFilePath in optionalLocFilePaths) { optionalConverterLocDB.ScrapeFile(outputtedLocFilePath); } diff --git a/ImperatorToCK3/CK3/Cultures/CultureCollection.cs b/ImperatorToCK3/CK3/Cultures/CultureCollection.cs index a67d4c651..b39e426e4 100644 --- a/ImperatorToCK3/CK3/Cultures/CultureCollection.cs +++ b/ImperatorToCK3/CK3/Cultures/CultureCollection.cs @@ -17,6 +17,8 @@ namespace ImperatorToCK3.CK3.Cultures; public class CultureCollection : IdObjectCollection { + public readonly Dictionary CultureCreationNames = []; + public CultureCollection(ColorFactory colorFactory, PillarCollection pillarCollection, OrderedDictionary ck3ModFlags) { this.PillarCollection = pillarCollection; InitCultureDataParser(colorFactory, ck3ModFlags); @@ -243,6 +245,24 @@ public void LoadInnovationIds(ModFilesystem ck3ModFS) { } } + public void LoadConverterCultureCreationNames(bool tfeEnabled) { + Logger.Info("Loading converter's culture creation names..."); + + var parser = new Parser(); + parser.RegisterRegex(CommonRegexes.String, (reader, cultureId) => { + CultureCreationNames[cultureId] = new StringOfItem(reader); + }); + parser.IgnoreAndLogUnregisteredItems(); + parser.ParseFile("configurables/culture/culture_creation_names.txt"); + + if (tfeEnabled) { + // If TFE is enabled, remove creation names that depend on carthaginian culture existing. + CultureCreationNames.Remove("pmpese"); + CultureCreationNames.Remove("taliaite"); + CultureCreationNames.Remove("carchidonian"); + } + } + private readonly IDictionary cultureReplacements = new Dictionary(); // replaced culture -> replacing culture protected readonly PillarCollection PillarCollection; diff --git a/ImperatorToCK3/CK3/Titles/Title.cs b/ImperatorToCK3/CK3/Titles/Title.cs index 47e47be50..401ba903e 100644 --- a/ImperatorToCK3/CK3/Titles/Title.cs +++ b/ImperatorToCK3/CK3/Titles/Title.cs @@ -1085,7 +1085,17 @@ private void RegisterKeys(Parser parser) { } }); parser.RegisterKeyword("capital", reader => CapitalCountyId = reader.GetString()); - parser.RegisterKeyword("ai_primary_priority", reader => AIPrimaryPriority = reader.GetStringOfItem()); + parser.RegisterKeyword("ai_primary_priority", reader => { + var stringOfItem = reader.GetStringOfItem(); + + // Drop ai_primary_priority blocks that contain references to specific dynasties or characters. + var str = stringOfItem.ToString(); + if (str.Contains("dynasty:") || str.Contains("character:")) { + return; + } + + AIPrimaryPriority = stringOfItem; + }); parser.RegisterKeyword("ignore_titularity_for_title_weighting", reader => IgnoreTitularityForTitleWeighting = reader.GetBool()); parser.RegisterKeyword("can_create", reader => CanCreate = reader.GetStringOfItem()); parser.RegisterKeyword("can_create_on_partition", reader => CanCreateOnPartition = reader.GetStringOfItem()); diff --git a/ImperatorToCK3/CK3/World.cs b/ImperatorToCK3/CK3/World.cs index 72fbb73c0..68dfd65b0 100644 --- a/ImperatorToCK3/CK3/World.cs +++ b/ImperatorToCK3/CK3/World.cs @@ -105,7 +105,7 @@ public World(Imperator.World impWorld, Configuration config, Thread? irCoaExtrac // Now that we have the mod filesystem, we can initialize the localization database. Parallel.Invoke( () => { - LocDB.LoadLocFromModFS(ModFS); + LocDB.LoadLocFromModFS(ModFS, config.GetActiveCK3ModFlags()); Logger.IncrementProgress(); }, () => ScriptValues.LoadScriptValues(ModFS), @@ -133,6 +133,7 @@ public World(Imperator.World impWorld, Configuration config, Thread? irCoaExtrac Cultures.LoadInnovationIds(ModFS); Cultures.LoadCultures(ModFS); Cultures.LoadConverterCultures("configurables/converter_cultures.txt"); + Cultures.LoadConverterCultureCreationNames(config.FallenEagleEnabled); Logger.IncrementProgress(); }, () => LoadMenAtArmsTypes(ModFS, ScriptValues), // depends on ScriptValues diff --git a/ImperatorToCK3/Configuration.cs b/ImperatorToCK3/Configuration.cs index 9bf0d38d4..df0bde04a 100644 --- a/ImperatorToCK3/Configuration.cs +++ b/ImperatorToCK3/Configuration.cs @@ -287,4 +287,8 @@ public OrderedDictionary GetCK3ModFlags() { flags["vanilla"] = flags.Count(f => f.Value) == 0; return flags; } + + public IEnumerable GetActiveCK3ModFlags() { + return GetCK3ModFlags().Where(f => f.Value).Select(f => f.Key); + } } \ No newline at end of file diff --git a/ImperatorToCK3/Data_Files/blankMod/output/common/culture/creation_names/IRToCK3_names_hybrid.txt b/ImperatorToCK3/Data_Files/blankMod/output/common/culture/creation_names/IRToCK3_names_hybrid.txt deleted file mode 100644 index 92f2f5d69..000000000 --- a/ImperatorToCK3/Data_Files/blankMod/output/common/culture/creation_names/IRToCK3_names_hybrid.txt +++ /dev/null @@ -1,64 +0,0 @@ -gothogreek = { # https://en.wikipedia.org/wiki/Gothograecia - trigger = { - OR = { - AND = { - scope:culture = { - OR = { - this = culture:gothic - any_parent_culture_or_above = { this = culture:gothic } - } - } - scope:other_culture = { has_cultural_pillar = language_greek } - } - AND = { - scope:culture = { has_cultural_pillar = language_greek } - scope:other_culture = { - OR = { - this = culture:gothic - any_parent_culture_or_above = { this = culture:gothic } - } - } - } - } - any_sub_realm_county = { - OR = { - culture = scope:culture - culture = scope:other_culture - } - } - } - hybrid = yes -} - -carchidonian = { # before Royal Court a pre-defined fictional culture by Iohannes - name = carchidonian - trigger = { - OR = { - AND = { - scope:culture = { - OR = { - this = culture:carthaginian - any_parent_culture_or_above = { this = culture:carthaginian } - } - } - scope:other_culture = { has_cultural_pillar = language_greek } - } - AND = { - scope:culture = { has_cultural_pillar = language_greek } - scope:other_culture = { - OR = { - this = culture:carthaginian - any_parent_culture_or_above = { this = culture:carthaginian } - } - } - } - } - any_sub_realm_county = { - OR = { - culture = scope:culture - culture = scope:other_culture - } - } - } - hybrid = yes -} \ No newline at end of file diff --git a/ImperatorToCK3/Data_Files/blankMod/output/common/culture/creation_names/IRToCK3_names.txt b/ImperatorToCK3/Data_Files/configurables/culture/culture_creation_names.txt similarity index 76% rename from ImperatorToCK3/Data_Files/blankMod/output/common/culture/creation_names/IRToCK3_names.txt rename to ImperatorToCK3/Data_Files/configurables/culture/culture_creation_names.txt index 1c6316a49..13a780df2 100644 --- a/ImperatorToCK3/Data_Files/blankMod/output/common/culture/creation_names/IRToCK3_names.txt +++ b/ImperatorToCK3/Data_Files/configurables/culture/culture_creation_names.txt @@ -1,4 +1,4 @@ -crimean_gothic = { # https://en.wikipedia.org/wiki/Crimean_Goths +crimean_gothic = { # https://en.wikipedia.org/wiki/Crimean_Goths trigger = { capital_county = { title:d_crimea = { @@ -198,3 +198,71 @@ hyperborean = { } } } + + +## Hybrid + +gothogreek = { # https://en.wikipedia.org/wiki/Gothograecia + trigger = { + OR = { + AND = { + scope:culture = { + OR = { + this = culture:gothic + any_parent_culture_or_above = { this = culture:gothic } + } + } + scope:other_culture = { has_cultural_pillar = language_greek } + } + AND = { + scope:culture = { has_cultural_pillar = language_greek } + scope:other_culture = { + OR = { + this = culture:gothic + any_parent_culture_or_above = { this = culture:gothic } + } + } + } + } + any_sub_realm_county = { + OR = { + culture = scope:culture + culture = scope:other_culture + } + } + } + hybrid = yes +} + +carchidonian = { # before Royal Court a pre-defined fictional culture by Iohannes + name = carchidonian + trigger = { + OR = { + AND = { + scope:culture = { + OR = { + this = culture:carthaginian + any_parent_culture_or_above = { this = culture:carthaginian } + } + } + scope:other_culture = { has_cultural_pillar = language_greek } + } + AND = { + scope:culture = { has_cultural_pillar = language_greek } + scope:other_culture = { + OR = { + this = culture:carthaginian + any_parent_culture_or_above = { this = culture:carthaginian } + } + } + } + } + any_sub_realm_county = { + OR = { + culture = scope:culture + culture = scope:other_culture + } + } + } + hybrid = yes +} \ No newline at end of file diff --git a/ImperatorToCK3/Data_Files/configurables/legend_seeds_to_remove.txt b/ImperatorToCK3/Data_Files/configurables/legend_seeds_to_remove.txt index f4024d4bb..5b5dcee1f 100644 --- a/ImperatorToCK3/Data_Files/configurables/legend_seeds_to_remove.txt +++ b/ImperatorToCK3/Data_Files/configurables/legend_seeds_to_remove.txt @@ -2,6 +2,7 @@ # For example, Charlemagne was born after I:R start, so the "carolingian" seed doesn't make sense. # Comments are allowed and start with a hash (#) character. +# Vanilla seeds king_arthur carolingian el_cid @@ -31,4 +32,9 @@ ragnarr shibi_chakravarti afrasiyab descendants_of_brahman -menelik_i \ No newline at end of file +menelik_i + +# TFE seeds +TFE_ashina_she_wolf +beowulf +haftvad \ No newline at end of file diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_aesthetics_bundles_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_aesthetics_bundles_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_aesthetics_bundles_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_aesthetics_bundles_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_bookmarks_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_bookmarks_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_bookmarks_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_bookmarks_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_cultural_heritages_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_cultural_heritages_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_cultural_heritages_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_cultural_heritages_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_culture_creation_names_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_culture_creation_names_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_culture_creation_names_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_culture_creation_names_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_culture_name_lists_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_culture_name_lists_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_culture_name_lists_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_culture_name_lists_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_culture_titles_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_culture_titles_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_culture_titles_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_culture_titles_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_cultures_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_cultures_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_cultures_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_cultures_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_governments_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_governments_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_governments_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_governments_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_holy_sites_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_holy_sites_l_english.yml similarity index 98% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_holy_sites_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_holy_sites_l_english.yml index 59ee95fab..528d40080 100644 --- a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_holy_sites_l_english.yml +++ b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_holy_sites_l_english.yml @@ -1,221 +1,221 @@ -l_english: - holy_site_taremu_name: "Taremu" - holy_site_waset_name: "Waset" - holy_site_zawty_name: "Zawty" - holy_site_men_name: "Men" - holy_site_phyrgia_name: "Phyrgia" - holy_site_komana_name: "Komana" - holy_site_ibora_name: "$b_ibora$" - holy_site_kadoi_name: "Kadoi" - holy_site_badais_name: "Badais" - holy_site_petra_name: "$b_petra$" - holy_site_sirwa_name: "Sirwa" - holy_site_taif_name: "$b_taif$" - holy_site_eriza_name: "Eriza" - holy_site_ashtishat_name: "Ashtishat" - holy_site_armaouira_name: "Armaouira" - holy_site_artaxata_name: "Artaxata" - holy_site_karchakhpyur_name: "Karchakhp" - holy_site_shaheded_name: "Shaheded" - holy_site_sinifere_name: "Sinifere" - holy_site_thugga_name: "Thugga" - holy_site_tsabratan_name: "Tsabratan" - holy_site_thubactis_name: "Thubactis" - holy_site_carthage_name: "Carthage" - holy_site_elagabal_name: "Elagabal" - holy_site_ahiram_name: "Ahiram" - holy_site_tyre_name: "$b_tyre$" - holy_site_mabbog_name: "Mabbog" - holy_site_gacim_name: "Gacim" - holy_site_kamachia_name: "Kamachia" - holy_site_leukothea_name: "Leukothea" - holy_site_brili_name: "Brili" - holy_site_kurus_name: "Kurus" - holy_site_ynys_mon_name: "$c_anglesey$" - holy_site_stonehenge_name: "Stoneheng" - holy_site_tlachtgha_name: "Tlachtgha" - holy_site_gallisenae_name: "Gallisenae" - holy_site_glanis_name: "Glanis" - holy_site_tamasidava_name: "Tamasidav" - holy_site_odessos_name: "$b_odessos$" - holy_site_kardzhali_name: "Kardzhali" - holy_site_spinopara_name: "Spinopara" - holy_site_buridava_name: "Buridava" - holy_site_chimaera_name: "Chimaera" - holy_site_salaria_name: "Salaria" - holy_site_aeso_name: "Aeso" - holy_site_bravum_name: "Bravum" - holy_site_myrtilis_name: "Myrtilis" - holy_site_babylon_name: "Babylon" - holy_site_borsippa_name: "Borsippa" - holy_site_uruk_name: "Uruk" - holy_site_ashur_name: "Ashur" - holy_site_harranu_name: "Harranu" - holy_site_cimus_name: "Cimus" - holy_site_tanais_name: "Tanais" - holy_site_tmakrat_name: "Tmakrat" - holy_site_mykon_name: "Mykon" - holy_site_recrassia_name: "Recrassia" - holy_site_glanum_name: "Glanum" - holy_site_bibracte_name: "Bibracte" - holy_site_celtic_dublin: "Baile Átha Cliath" - holy_site_mann_name: "Ellan Vannin" - holy_site_moray_name: "Moireibh" - holy_site_ceredigion_name: "$c_cardiganshire$" - holy_site_norfolk_name: "Boudicasbriga" - holy_site_middlesex_name: "$b_london$" - holy_site_auvergne_name: "$c_auvergne$" - holy_site_poitou_name: "$d_poitou$" - holy_site_paris_name: "Lutetia" - holy_site_brugge_name: "$b_brugge$" - holy_site_toulouse_name: "$b_toulouse$" - holy_site_thomond_name: "$c_thomond$" - holy_site_connacht_name: "$d_connacht$" - holy_site_galloway_name: "$cn_galloway$" - holy_site_zaragoza_name: "Salduba" - holy_site_coruna_name: "Erythia" - holy_site_valencia_name: "Viriatha" - holy_site_algeciras_name: "Caetaria" - holy_site_german_dublin_name: "Caill Tomair" - holy_site_vestisland_name: "Helgafell" - holy_site_oxfordshire_name: "Wayland's Smithy" - holy_site_skane_name: "Uppåkra" - holy_site_ditmarschen_name: "Grove of Baduhenna" - holy_site_suffolk_name: "Suþfolc" - holy_site_staffordshire_name: "$b_stafford$" - holy_site_hampton_name: "Hamtun" - holy_site_northumberland_name: "Norðymbraland" - holy_site_ravenna_name: "$c_ravenna$" - holy_site_prusa_name: "Troy" - holy_site_giza_name: "The Pyramids" - holy_site_bahnasa_name: "Oxyrhynchus" - holy_site_taremu_effect_name: "From [holy_site|E] #weak ($holy_site_taremu_name$)#!" - holy_site_waset_effect_name: "From [holy_site|E] #weak ($holy_site_waset_name$)#!" - holy_site_zawty_effect_name: "From [holy_site|E] #weak ($holy_site_zawty_name$)#!" - holy_site_men_effect_name: "From [holy_site|E] #weak ($holy_site_men_name$)#!" - holy_site_phyrgia_effect_name: "From [holy_site|E] #weak ($holy_site_phyrgia_name$)#!" - holy_site_komana_effect_name: "From [holy_site|E] #weak ($holy_site_komana_name$)#!" - holy_site_ibora_effect_name: "From [holy_site|E] #weak ($holy_site_ibora_name$)#!" - holy_site_kadoi_effect_name: "From [holy_site|E] #weak ($holy_site_kadoi_name$)#!" - holy_site_badais_effect_name: "From [holy_site|E] #weak ($holy_site_badais_name$)#!" - holy_site_petra_effect_name: "From [holy_site|E] #weak ($holy_site_petra_name$)#!" - holy_site_sirwa_effect_name: "From [holy_site|E] #weak ($holy_site_sirwa_name$)#!" - holy_site_taif_effect_name: "From [holy_site|E] #weak ($holy_site_taif_name$)#!" - holy_site_eriza_effect_name: "From [holy_site|E] #weak ($holy_site_eriza_name$)#!" - holy_site_ashtishat_effect_name: "From [holy_site|E] #weak ($holy_site_ashtishat_name$)#!" - holy_site_armaouira_effect_name: "From [holy_site|E] #weak ($holy_site_armaouira_name$)#!" - holy_site_artaxata_effect_name: "From [holy_site|E] #weak ($holy_site_artaxata_name$)#!" - holy_site_karchakhpyur_effect_name: "From [holy_site|E] #weak ($holy_site_karchakhpyur_name$)#!" - holy_site_shaheded_effect_name: "From [holy_site|E] #weak ($holy_site_shaheded_name$)#!" - holy_site_sinifere_effect_name: "From [holy_site|E] #weak ($holy_site_sinifere_name$)#!" - holy_site_thugga_effect_name: "From [holy_site|E] #weak ($holy_site_thugga_name$)#!" - holy_site_tsabratan_effect_name: "From [holy_site|E] #weak ($holy_site_tsabratan_name$)#!" - holy_site_thubactis_effect_name: "From [holy_site|E] #weak ($holy_site_thubactis_name$)#!" - holy_site_carthage_effect_name: "From [holy_site|E] #weak ($holy_site_carthage_name$)#!" - holy_site_elagabal_effect_name: "From [holy_site|E] #weak ($holy_site_elagabal_name$)#!" - holy_site_ahiram_effect_name: "From [holy_site|E] #weak ($holy_site_ahiram_name$)#!" - holy_site_tyre_effect_name: "From [holy_site|E] #weak ($holy_site_tyre_name$)#!" - holy_site_mabbog_effect_name: "From [holy_site|E] #weak ($holy_site_mabbog_name$)#!" - holy_site_gacim_effect_name: "From [holy_site|E] #weak ($holy_site_gacim_name$)#!" - holy_site_kamachia_effect_name: "From [holy_site|E] #weak ($holy_site_kamachia_name$)#!" - holy_site_leukothea_effect_name: "From [holy_site|E] #weak ($holy_site_leukothea_name$)#!" - holy_site_brili_effect_name: "From [holy_site|E] #weak ($holy_site_brili_name$)#!" - holy_site_kurus_effect_name: "From [holy_site|E] #weak ($holy_site_kurus_name$)#!" - holy_site_ynys_mon_effect_name: "From [holy_site|E] #weak ($holy_site_ynys_mon_name$)#!" - holy_site_stonehenge_effect_name: "From [holy_site|E] #weak ($holy_site_stonehenge_name$)#!" - holy_site_tlachtgha_effect_name: "From [holy_site|E] #weak ($holy_site_tlachtgha_name$)#!" - holy_site_gallisenae_effect_name: "From [holy_site|E] #weak ($holy_site_gallisenae_name$)#!" - holy_site_glanis_effect_name: "From [holy_site|E] #weak ($holy_site_glanis_name$)#!" - holy_site_tamasidava_effect_name: "From [holy_site|E] #weak ($holy_site_tamasidava_name$)#!" - holy_site_odessos_effect_name: "From [holy_site|E] #weak ($holy_site_odessos_name$)#!" - holy_site_kardzhali_effect_name: "From [holy_site|E] #weak ($holy_site_kardzhali_name$)#!" - holy_site_spinopara_effect_name: "From [holy_site|E] #weak ($holy_site_spinopara_name$)#!" - holy_site_buridava_effect_name: "From [holy_site|E] #weak ($holy_site_buridava_name$)#!" - holy_site_chimaera_effect_name: "From [holy_site|E] #weak ($holy_site_chimaera_name$)#!" - holy_site_salaria_effect_name: "From [holy_site|E] #weak ($holy_site_salaria_name$)#!" - holy_site_aeso_effect_name: "From [holy_site|E] #weak ($holy_site_aeso_name$)#!" - holy_site_bravum_effect_name: "From [holy_site|E] #weak ($holy_site_bravum_name$)#!" - holy_site_myrtilis_effect_name: "From [holy_site|E] #weak ($holy_site_myrtilis_name$)#!" - holy_site_babylon_effect_name: "From [holy_site|E] #weak ($holy_site_babylon_name$)#!" - holy_site_borsippa_effect_name: "From [holy_site|E] #weak ($holy_site_borsippa_name$)#!" - holy_site_uruk_effect_name: "From [holy_site|E] #weak ($holy_site_uruk_name$)#!" - holy_site_ashur_effect_name: "From [holy_site|E] #weak ($holy_site_ashur_name$)#!" - holy_site_harranu_effect_name: "From [holy_site|E] #weak ($holy_site_harranu_name$)#!" - holy_site_cimus_effect_name: "From [holy_site|E] #weak ($holy_site_cimus_name$)#!" - holy_site_tanais_effect_name: "From [holy_site|E] #weak ($holy_site_tanais_name$)#!" - holy_site_tmakrat_effect_name: "From [holy_site|E] #weak ($holy_site_tmakrat_name$)#!" - holy_site_mykon_effect_name: "From [holy_site|E] #weak ($holy_site_mykon_name$)#!" - holy_site_recrassia_effect_name: "From [holy_site|E] #weak ($holy_site_recrassia_name$)#!" - holy_site_glanum_effect_name: "From [holy_site|E] #weak ($holy_site_glanum_name$)#!" - holy_site_bibracte_effect_name: "From [holy_site|E] #weak ($holy_site_bibracte_name$)#!" - holy_site_celtic_dublin_effect_name: "From [holy_site|E] #weak ($holy_site_celtic_dublin_name$)#!" - holy_site_mann_effect_name: "From [holy_site|E] #weak ($holy_site_mann_name$)#!" - holy_site_moray_effect_name: "From [holy_site|E] #weak ($holy_site_moray_name$)#!" - holy_site_ceredigion_effect_name: "From [holy_site|E] #weak ($holy_site_ceredigion_name$)#!" - holy_site_norfolk_effect_name: "From [holy_site|E] #weak ($holy_site_norfolk_name$)#!" - holy_site_middlesex_effect_name: "From [holy_site|E] #weak ($holy_site_middlesex_name$)#!" - holy_site_auvergne_effect_name: "From [holy_site|E] #weak ($holy_site_auvergne_name$)#!" - holy_site_poitou_effect_name: "From [holy_site|E] #weak ($holy_site_poitou_name$)#!" - holy_site_paris_effect_name: "From [holy_site|E] #weak ($holy_site_paris_name$)#!" - holy_site_brugge_effect_name: "From [holy_site|E] #weak ($holy_site_brugge_name$)#!" - holy_site_toulouse_effect_name: "From [holy_site|E] #weak ($holy_site_toulouse_name$)#!" - holy_site_thomond_effect_name: "From [holy_site|E] #weak ($holy_site_thomond_name$)#!" - holy_site_connacht_effect_name: "From [holy_site|E] #weak ($holy_site_connacht_name$)#!" - holy_site_galloway_effect_name: "From [holy_site|E] #weak ($holy_site_galloway_name$)#!" - holy_site_zaragoza_effect_name: "From [holy_site|E] #weak ($holy_site_zaragoza_name$)#!" - holy_site_coruna_effect_name: "From [holy_site|E] #weak ($holy_site_coruna_name$)#!" - holy_site_valencia_effect_name: "From [holy_site|E] #weak ($holy_site_valencia_name$)#!" - holy_site_algeciras_effect_name: "From [holy_site|E] #weak ($holy_site_algeciras_name$)#!" - holy_site_german_dublin_effect_name: "From [holy_site|E] #weak ($holy_site_german_dublin_name$)#!" - holy_site_vestisland_effect_name: "From [holy_site|E] #weak ($holy_site_vestisland_name$)#!" - holy_site_oxfordshire_effect_name: "From [holy_site|E] #weak ($holy_site_oxfordshire_name$)#!" - holy_site_skane_effect_name: "From [holy_site|E] #weak ($holy_site_skane_name$)#!" - holy_site_ditmarschen_effect_name: "From [holy_site|E] #weak ($holy_site_ditmarschen_name$)#!" - holy_site_suffolk_effect_name: "From [holy_site|E] #weak ($holy_site_suffolk_name$)#!" - holy_site_staffordshire_effect_name: "From [holy_site|E] #weak ($holy_site_staffordshire_name$)#!" - holy_site_hampton_effect_name: "From [holy_site|E] #weak ($holy_site_hampton_name$)#!" - holy_site_northumberland_effect_name: "From [holy_site|E] #weak ($holy_site_northumberland_name$)#!" - holy_site_ravenna_effect_name: "From [holy_site|E] #weak ($holy_site_ravenna_name$)#!" - holy_site_prusa_effect_name: "From [holy_site|E] #weak ($holy_site_prusa_name$)#!" - holy_site_giza_effect_name: "From [holy_site|E] #weak ($holy_site_giza_name$)#!" - holy_site_bahnasa_effect_name: "From [holy_site|E] #weak ($holy_site_bahnasa_name$)#!" - holy_site_celtic_dublin_name: "$b_dublin$" - holy_site_kordofan_name: "Kordofan" - holy_site_kordofan_effect_name: "From [holy_site|E] #weak ($holy_site_kordofan_name$)#!" - holy_site_ayn_farrah_name: "Ayn Farrah" - holy_site_ayn_farrah_effect_name: "From [holy_site|E] #weak ($holy_site_ayn_farrah_name$)#!" - holy_site_irtock3_ajivika_sravasti_name: "Sravasti" - holy_site_irtock3_ajivika_sravasti_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_sravasti_name$)#!" - holy_site_irtock3_ajivika_candhoba_name: "Candhoba" - holy_site_irtock3_ajivika_candhoba_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_candhoba_name$)#!" - holy_site_irtock3_ajivika_minagana_name: "Minagana" - holy_site_irtock3_ajivika_minagana_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_minagana_name$)#!" - holy_site_irtock3_ajivika_chintamani_name: "Chintamani" - holy_site_irtock3_ajivika_chintamani_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_chintamani_name$)#!" - holy_site_irtock3_ajivika_campa_name: "Campa" - holy_site_irtock3_ajivika_campa_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_campa_name$)#!" - holy_site_popa_name: "Mount Popa" - holy_site_popa_effect_name: "From [holy_site|E] #weak ($holy_site_popa_name$)#!" - holy_site_zwegabin_name: "Mount Zwegabin" - holy_site_zwegabin_effect_name: "From [holy_site|E] #weak ($holy_site_zwegabin_name$)#!" - holy_site_taungbyone_name: "Taungbyone" - holy_site_taungbyone_effect_name: "From [holy_site|E] #weak ($holy_site_taungbyone_name$)#!" - holy_site_kyaikhtiyo_name: "Kyaikhtiyo" - holy_site_kyaikhtiyo_effect_name: "From [holy_site|E] #weak ($holy_site_kyaikhtiyo_name$)#!" - holy_site_apulia_name: "Apulia" - holy_site_dyrrachion_name: "Dyrrachion" - holy_site_venezia_name: "Venezia" - holy_site_epeiros_name: "Epeiros" - holy_site_senj_name: "Senj" - -# from Bronze Age Reborn - holy_site_hattusha_name: "Hattusha" #Tarhunna - Hittite - holy_site_hattusha_effect_name: "From [holy_site|E] #weak ($holy_site_hattusha_name$)#!" - holy_site_kussara_name: "Kuššara" #Some Hittite God? - holy_site_kussara_effect_name: "From [holy_site|E] #weak ($holy_site_kussara_name$)#!" - holy_site_ankuwa_name: "Ankuwa" #Some Hittite God? - holy_site_ankuwa_effect_name: "From [holy_site|E] #weak ($holy_site_ankuwa_name$)#!" - holy_site_shappiduwa_name: "Shappiduwa" #Some Hittite God? - holy_site_shappiduwa_effect_name: "From [holy_site|E] #weak ($holy_site_shappiduwa_name$)#!" - holy_site_ulma_name: "Ulma" #Some Hittite God? +l_english: + holy_site_taremu_name: "Taremu" + holy_site_waset_name: "Waset" + holy_site_zawty_name: "Zawty" + holy_site_men_name: "Men" + holy_site_phyrgia_name: "Phyrgia" + holy_site_komana_name: "Komana" + holy_site_ibora_name: "$b_ibora$" + holy_site_kadoi_name: "Kadoi" + holy_site_badais_name: "Badais" + holy_site_petra_name: "$b_petra$" + holy_site_sirwa_name: "Sirwa" + holy_site_taif_name: "$b_taif$" + holy_site_eriza_name: "Eriza" + holy_site_ashtishat_name: "Ashtishat" + holy_site_armaouira_name: "Armaouira" + holy_site_artaxata_name: "Artaxata" + holy_site_karchakhpyur_name: "Karchakhp" + holy_site_shaheded_name: "Shaheded" + holy_site_sinifere_name: "Sinifere" + holy_site_thugga_name: "Thugga" + holy_site_tsabratan_name: "Tsabratan" + holy_site_thubactis_name: "Thubactis" + holy_site_carthage_name: "Carthage" + holy_site_elagabal_name: "Elagabal" + holy_site_ahiram_name: "Ahiram" + holy_site_tyre_name: "$b_tyre$" + holy_site_mabbog_name: "Mabbog" + holy_site_gacim_name: "Gacim" + holy_site_kamachia_name: "Kamachia" + holy_site_leukothea_name: "Leukothea" + holy_site_brili_name: "Brili" + holy_site_kurus_name: "Kurus" + holy_site_ynys_mon_name: "$c_anglesey$" + holy_site_stonehenge_name: "Stoneheng" + holy_site_tlachtgha_name: "Tlachtgha" + holy_site_gallisenae_name: "Gallisenae" + holy_site_glanis_name: "Glanis" + holy_site_tamasidava_name: "Tamasidav" + holy_site_odessos_name: "$b_odessos$" + holy_site_kardzhali_name: "Kardzhali" + holy_site_spinopara_name: "Spinopara" + holy_site_buridava_name: "Buridava" + holy_site_chimaera_name: "Chimaera" + holy_site_salaria_name: "Salaria" + holy_site_aeso_name: "Aeso" + holy_site_bravum_name: "Bravum" + holy_site_myrtilis_name: "Myrtilis" + holy_site_babylon_name: "Babylon" + holy_site_borsippa_name: "Borsippa" + holy_site_uruk_name: "Uruk" + holy_site_ashur_name: "Ashur" + holy_site_harranu_name: "Harranu" + holy_site_cimus_name: "Cimus" + holy_site_tanais_name: "Tanais" + holy_site_tmakrat_name: "Tmakrat" + holy_site_mykon_name: "Mykon" + holy_site_recrassia_name: "Recrassia" + holy_site_glanum_name: "Glanum" + holy_site_bibracte_name: "Bibracte" + holy_site_celtic_dublin: "Baile Átha Cliath" + holy_site_mann_name: "Ellan Vannin" + holy_site_moray_name: "Moireibh" + holy_site_ceredigion_name: "$c_cardiganshire$" + holy_site_norfolk_name: "Boudicasbriga" + holy_site_middlesex_name: "$b_london$" + holy_site_auvergne_name: "$c_auvergne$" + holy_site_poitou_name: "$d_poitou$" + holy_site_paris_name: "Lutetia" + holy_site_brugge_name: "$b_brugge$" + holy_site_toulouse_name: "$b_toulouse$" + holy_site_thomond_name: "$c_thomond$" + holy_site_connacht_name: "$d_connacht$" + holy_site_galloway_name: "$cn_galloway$" + holy_site_zaragoza_name: "Salduba" + holy_site_coruna_name: "Erythia" + holy_site_valencia_name: "Viriatha" + holy_site_algeciras_name: "Caetaria" + holy_site_german_dublin_name: "Caill Tomair" + holy_site_vestisland_name: "Helgafell" + holy_site_oxfordshire_name: "Wayland's Smithy" + holy_site_skane_name: "Uppåkra" + holy_site_ditmarschen_name: "Grove of Baduhenna" + holy_site_suffolk_name: "Suþfolc" + holy_site_staffordshire_name: "$b_stafford$" + holy_site_hampton_name: "Hamtun" + holy_site_northumberland_name: "Norðymbraland" + holy_site_ravenna_name: "$c_ravenna$" + holy_site_prusa_name: "Troy" + holy_site_giza_name: "The Pyramids" + holy_site_bahnasa_name: "Oxyrhynchus" + holy_site_taremu_effect_name: "From [holy_site|E] #weak ($holy_site_taremu_name$)#!" + holy_site_waset_effect_name: "From [holy_site|E] #weak ($holy_site_waset_name$)#!" + holy_site_zawty_effect_name: "From [holy_site|E] #weak ($holy_site_zawty_name$)#!" + holy_site_men_effect_name: "From [holy_site|E] #weak ($holy_site_men_name$)#!" + holy_site_phyrgia_effect_name: "From [holy_site|E] #weak ($holy_site_phyrgia_name$)#!" + holy_site_komana_effect_name: "From [holy_site|E] #weak ($holy_site_komana_name$)#!" + holy_site_ibora_effect_name: "From [holy_site|E] #weak ($holy_site_ibora_name$)#!" + holy_site_kadoi_effect_name: "From [holy_site|E] #weak ($holy_site_kadoi_name$)#!" + holy_site_badais_effect_name: "From [holy_site|E] #weak ($holy_site_badais_name$)#!" + holy_site_petra_effect_name: "From [holy_site|E] #weak ($holy_site_petra_name$)#!" + holy_site_sirwa_effect_name: "From [holy_site|E] #weak ($holy_site_sirwa_name$)#!" + holy_site_taif_effect_name: "From [holy_site|E] #weak ($holy_site_taif_name$)#!" + holy_site_eriza_effect_name: "From [holy_site|E] #weak ($holy_site_eriza_name$)#!" + holy_site_ashtishat_effect_name: "From [holy_site|E] #weak ($holy_site_ashtishat_name$)#!" + holy_site_armaouira_effect_name: "From [holy_site|E] #weak ($holy_site_armaouira_name$)#!" + holy_site_artaxata_effect_name: "From [holy_site|E] #weak ($holy_site_artaxata_name$)#!" + holy_site_karchakhpyur_effect_name: "From [holy_site|E] #weak ($holy_site_karchakhpyur_name$)#!" + holy_site_shaheded_effect_name: "From [holy_site|E] #weak ($holy_site_shaheded_name$)#!" + holy_site_sinifere_effect_name: "From [holy_site|E] #weak ($holy_site_sinifere_name$)#!" + holy_site_thugga_effect_name: "From [holy_site|E] #weak ($holy_site_thugga_name$)#!" + holy_site_tsabratan_effect_name: "From [holy_site|E] #weak ($holy_site_tsabratan_name$)#!" + holy_site_thubactis_effect_name: "From [holy_site|E] #weak ($holy_site_thubactis_name$)#!" + holy_site_carthage_effect_name: "From [holy_site|E] #weak ($holy_site_carthage_name$)#!" + holy_site_elagabal_effect_name: "From [holy_site|E] #weak ($holy_site_elagabal_name$)#!" + holy_site_ahiram_effect_name: "From [holy_site|E] #weak ($holy_site_ahiram_name$)#!" + holy_site_tyre_effect_name: "From [holy_site|E] #weak ($holy_site_tyre_name$)#!" + holy_site_mabbog_effect_name: "From [holy_site|E] #weak ($holy_site_mabbog_name$)#!" + holy_site_gacim_effect_name: "From [holy_site|E] #weak ($holy_site_gacim_name$)#!" + holy_site_kamachia_effect_name: "From [holy_site|E] #weak ($holy_site_kamachia_name$)#!" + holy_site_leukothea_effect_name: "From [holy_site|E] #weak ($holy_site_leukothea_name$)#!" + holy_site_brili_effect_name: "From [holy_site|E] #weak ($holy_site_brili_name$)#!" + holy_site_kurus_effect_name: "From [holy_site|E] #weak ($holy_site_kurus_name$)#!" + holy_site_ynys_mon_effect_name: "From [holy_site|E] #weak ($holy_site_ynys_mon_name$)#!" + holy_site_stonehenge_effect_name: "From [holy_site|E] #weak ($holy_site_stonehenge_name$)#!" + holy_site_tlachtgha_effect_name: "From [holy_site|E] #weak ($holy_site_tlachtgha_name$)#!" + holy_site_gallisenae_effect_name: "From [holy_site|E] #weak ($holy_site_gallisenae_name$)#!" + holy_site_glanis_effect_name: "From [holy_site|E] #weak ($holy_site_glanis_name$)#!" + holy_site_tamasidava_effect_name: "From [holy_site|E] #weak ($holy_site_tamasidava_name$)#!" + holy_site_odessos_effect_name: "From [holy_site|E] #weak ($holy_site_odessos_name$)#!" + holy_site_kardzhali_effect_name: "From [holy_site|E] #weak ($holy_site_kardzhali_name$)#!" + holy_site_spinopara_effect_name: "From [holy_site|E] #weak ($holy_site_spinopara_name$)#!" + holy_site_buridava_effect_name: "From [holy_site|E] #weak ($holy_site_buridava_name$)#!" + holy_site_chimaera_effect_name: "From [holy_site|E] #weak ($holy_site_chimaera_name$)#!" + holy_site_salaria_effect_name: "From [holy_site|E] #weak ($holy_site_salaria_name$)#!" + holy_site_aeso_effect_name: "From [holy_site|E] #weak ($holy_site_aeso_name$)#!" + holy_site_bravum_effect_name: "From [holy_site|E] #weak ($holy_site_bravum_name$)#!" + holy_site_myrtilis_effect_name: "From [holy_site|E] #weak ($holy_site_myrtilis_name$)#!" + holy_site_babylon_effect_name: "From [holy_site|E] #weak ($holy_site_babylon_name$)#!" + holy_site_borsippa_effect_name: "From [holy_site|E] #weak ($holy_site_borsippa_name$)#!" + holy_site_uruk_effect_name: "From [holy_site|E] #weak ($holy_site_uruk_name$)#!" + holy_site_ashur_effect_name: "From [holy_site|E] #weak ($holy_site_ashur_name$)#!" + holy_site_harranu_effect_name: "From [holy_site|E] #weak ($holy_site_harranu_name$)#!" + holy_site_cimus_effect_name: "From [holy_site|E] #weak ($holy_site_cimus_name$)#!" + holy_site_tanais_effect_name: "From [holy_site|E] #weak ($holy_site_tanais_name$)#!" + holy_site_tmakrat_effect_name: "From [holy_site|E] #weak ($holy_site_tmakrat_name$)#!" + holy_site_mykon_effect_name: "From [holy_site|E] #weak ($holy_site_mykon_name$)#!" + holy_site_recrassia_effect_name: "From [holy_site|E] #weak ($holy_site_recrassia_name$)#!" + holy_site_glanum_effect_name: "From [holy_site|E] #weak ($holy_site_glanum_name$)#!" + holy_site_bibracte_effect_name: "From [holy_site|E] #weak ($holy_site_bibracte_name$)#!" + holy_site_celtic_dublin_effect_name: "From [holy_site|E] #weak ($holy_site_celtic_dublin_name$)#!" + holy_site_mann_effect_name: "From [holy_site|E] #weak ($holy_site_mann_name$)#!" + holy_site_moray_effect_name: "From [holy_site|E] #weak ($holy_site_moray_name$)#!" + holy_site_ceredigion_effect_name: "From [holy_site|E] #weak ($holy_site_ceredigion_name$)#!" + holy_site_norfolk_effect_name: "From [holy_site|E] #weak ($holy_site_norfolk_name$)#!" + holy_site_middlesex_effect_name: "From [holy_site|E] #weak ($holy_site_middlesex_name$)#!" + holy_site_auvergne_effect_name: "From [holy_site|E] #weak ($holy_site_auvergne_name$)#!" + holy_site_poitou_effect_name: "From [holy_site|E] #weak ($holy_site_poitou_name$)#!" + holy_site_paris_effect_name: "From [holy_site|E] #weak ($holy_site_paris_name$)#!" + holy_site_brugge_effect_name: "From [holy_site|E] #weak ($holy_site_brugge_name$)#!" + holy_site_toulouse_effect_name: "From [holy_site|E] #weak ($holy_site_toulouse_name$)#!" + holy_site_thomond_effect_name: "From [holy_site|E] #weak ($holy_site_thomond_name$)#!" + holy_site_connacht_effect_name: "From [holy_site|E] #weak ($holy_site_connacht_name$)#!" + holy_site_galloway_effect_name: "From [holy_site|E] #weak ($holy_site_galloway_name$)#!" + holy_site_zaragoza_effect_name: "From [holy_site|E] #weak ($holy_site_zaragoza_name$)#!" + holy_site_coruna_effect_name: "From [holy_site|E] #weak ($holy_site_coruna_name$)#!" + holy_site_valencia_effect_name: "From [holy_site|E] #weak ($holy_site_valencia_name$)#!" + holy_site_algeciras_effect_name: "From [holy_site|E] #weak ($holy_site_algeciras_name$)#!" + holy_site_german_dublin_effect_name: "From [holy_site|E] #weak ($holy_site_german_dublin_name$)#!" + holy_site_vestisland_effect_name: "From [holy_site|E] #weak ($holy_site_vestisland_name$)#!" + holy_site_oxfordshire_effect_name: "From [holy_site|E] #weak ($holy_site_oxfordshire_name$)#!" + holy_site_skane_effect_name: "From [holy_site|E] #weak ($holy_site_skane_name$)#!" + holy_site_ditmarschen_effect_name: "From [holy_site|E] #weak ($holy_site_ditmarschen_name$)#!" + holy_site_suffolk_effect_name: "From [holy_site|E] #weak ($holy_site_suffolk_name$)#!" + holy_site_staffordshire_effect_name: "From [holy_site|E] #weak ($holy_site_staffordshire_name$)#!" + holy_site_hampton_effect_name: "From [holy_site|E] #weak ($holy_site_hampton_name$)#!" + holy_site_northumberland_effect_name: "From [holy_site|E] #weak ($holy_site_northumberland_name$)#!" + holy_site_ravenna_effect_name: "From [holy_site|E] #weak ($holy_site_ravenna_name$)#!" + holy_site_prusa_effect_name: "From [holy_site|E] #weak ($holy_site_prusa_name$)#!" + holy_site_giza_effect_name: "From [holy_site|E] #weak ($holy_site_giza_name$)#!" + holy_site_bahnasa_effect_name: "From [holy_site|E] #weak ($holy_site_bahnasa_name$)#!" + holy_site_celtic_dublin_name: "$b_dublin$" + holy_site_kordofan_name: "Kordofan" + holy_site_kordofan_effect_name: "From [holy_site|E] #weak ($holy_site_kordofan_name$)#!" + holy_site_ayn_farrah_name: "Ayn Farrah" + holy_site_ayn_farrah_effect_name: "From [holy_site|E] #weak ($holy_site_ayn_farrah_name$)#!" + holy_site_irtock3_ajivika_sravasti_name: "Sravasti" + holy_site_irtock3_ajivika_sravasti_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_sravasti_name$)#!" + holy_site_irtock3_ajivika_candhoba_name: "Candhoba" + holy_site_irtock3_ajivika_candhoba_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_candhoba_name$)#!" + holy_site_irtock3_ajivika_minagana_name: "Minagana" + holy_site_irtock3_ajivika_minagana_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_minagana_name$)#!" + holy_site_irtock3_ajivika_chintamani_name: "Chintamani" + holy_site_irtock3_ajivika_chintamani_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_chintamani_name$)#!" + holy_site_irtock3_ajivika_campa_name: "Campa" + holy_site_irtock3_ajivika_campa_effect_name: "From [holy_site|E] #weak ($holy_site_irtock3_ajivika_campa_name$)#!" + holy_site_popa_name: "Mount Popa" + holy_site_popa_effect_name: "From [holy_site|E] #weak ($holy_site_popa_name$)#!" + holy_site_zwegabin_name: "Mount Zwegabin" + holy_site_zwegabin_effect_name: "From [holy_site|E] #weak ($holy_site_zwegabin_name$)#!" + holy_site_taungbyone_name: "Taungbyone" + holy_site_taungbyone_effect_name: "From [holy_site|E] #weak ($holy_site_taungbyone_name$)#!" + holy_site_kyaikhtiyo_name: "Kyaikhtiyo" + holy_site_kyaikhtiyo_effect_name: "From [holy_site|E] #weak ($holy_site_kyaikhtiyo_name$)#!" + holy_site_apulia_name: "Apulia" + holy_site_dyrrachion_name: "Dyrrachion" + holy_site_venezia_name: "Venezia" + holy_site_epeiros_name: "Epeiros" + holy_site_senj_name: "Senj" + +# from Bronze Age Reborn + holy_site_hattusha_name: "Hattusha" #Tarhunna - Hittite + holy_site_hattusha_effect_name: "From [holy_site|E] #weak ($holy_site_hattusha_name$)#!" + holy_site_kussara_name: "Kuššara" #Some Hittite God? + holy_site_kussara_effect_name: "From [holy_site|E] #weak ($holy_site_kussara_name$)#!" + holy_site_ankuwa_name: "Ankuwa" #Some Hittite God? + holy_site_ankuwa_effect_name: "From [holy_site|E] #weak ($holy_site_ankuwa_name$)#!" + holy_site_shappiduwa_name: "Shappiduwa" #Some Hittite God? + holy_site_shappiduwa_effect_name: "From [holy_site|E] #weak ($holy_site_shappiduwa_name$)#!" + holy_site_ulma_name: "Ulma" #Some Hittite God? holy_site_ulma_effect_name: "From [holy_site|E] #weak ($holy_site_ulma_name$)#!" \ No newline at end of file diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_languages_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_languages_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_languages_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_languages_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_messages_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_messages_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_messages_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_messages_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_names_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_names_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_names_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_names_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_nicknames_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_nicknames_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_nicknames_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_nicknames_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_religions_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_religions_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/CONVERTER_religions_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_religions_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_title_names_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_title_names_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/CONVERTER_title_names_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/CONVERTER_title_names_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/IRToCK3_religion_ajivika_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/IRToCK3_religion_ajivika_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/IRToCK3_religion_ajivika_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/IRToCK3_religion_ajivika_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/base/english/ba_religion_hattian_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/ba_religion_hattian_l_english.yml new file mode 100644 index 000000000..a1e91c7c9 --- /dev/null +++ b/ImperatorToCK3/Data_Files/configurables/localization/base/english/ba_religion_hattian_l_english.yml @@ -0,0 +1,74 @@ +l_english: + #Hattian + hattian_religion: "Hattian" + hattian_religion_adj: "Hattian" + hattian_religion_desc: "The Hattians worship a pantheon of gods and goddesses, with Tetešhapi as the chief deity. They believe in an afterlife, with the souls of the dead residing in the Underworld. The Hattians have a rich tradition of sacred texts and rituals." + hattian_religion_adherent: "Hattian" + hattian_religion_adherent_plural: "Hattians" + hattian_faith: "Hattian" + hattian_faith_adherent: "Hattian" + hattian_faith_adherent_plural: "Hattians" + hattian_faith_adj: "Hattian" + hattian_faith_desc: "$hattian_religion_desc$" + + hattian_high_god_name: "Tetešhapi" + hattian_high_god_name_2: "$hattian_high_god_name$" + hattian_high_god_name_possessive: "Tetešhapi's" + hattian_high_god_name_alternate: "the Great Mother" + hattian_high_god_name_alternate_possessive: "the Great Mother's" + hattian_devil_name: "Hahhima" + hattian_devil_name_possessive: "Hahhima's" + hattian_death_deity_name: "Lelwani" + hattian_death_deity_name_possessive: "Lelwani's" + hattian_divine_realm: "Heaven" #Heaven + hattian_divine_realm_2: "$hattian_divine_realm$" + hattian_divine_realm_3: "$hattian_divine_realm$" + hattian_positive_afterlife: "the Underworld" #Earth - like in Mesopotamia a euphemism for the Underworld + hattian_positive_afterlife_2: "$hattian_positive_afterlife$" + hattian_positive_afterlife_3: "$hattian_positive_afterlife$" + hattian_negative_afterlife: "Darkness" #Darkness - A more negative name for the Underworld + hattian_negative_afterlife_2: "$hattian_negative_afterlife$" + hattian_negative_afterlife_3: "$hattian_negative_afterlife$" + hattian_religious_symbol: "solar disc" #Sun goddess + hattian_religious_symbol_2: "$hattian_religious_symbol$" + hattian_religious_symbol_3: "$hattian_religious_symbol$" + hattian_religious_text: "sacred texts" + hattian_religious_text_2: "$hattian_religious_text$" + hattian_religious_text_3: "$hattian_religious_text$" + hattian_religious_head: "High Priest" + hattian_religious_head_title_name: "High Council" + + #"Good" gods + hattian_good_god_kattahha: "Kattahha" + hattian_good_god_mezulla: "Mezulla" + hattian_good_god_hatepuna: "Hatepuna" + #"Evil" gods + hattian_evil_god_istustaya_and_papaya: "Istustaya and Papaya" + + hattian_creator_god_name: "$hattian_high_god_name$" + hattian_creator_god_name_possessive: "$hattian_high_god_name_possessive$" + hattian_health_god_name: "$hattian_high_god_name$" + hattian_health_god_name_possessive: "$hattian_high_god_name_possessive$" + hattian_fertility_god_name: "Telipinu" + hattian_fertility_god_name_possessive: "Telipinu's" + hattian_wealth_god_name: "Hasameli" + hattian_wealth_god_name_possessive: "Hasameli's" + hattian_household_god_name: "Wurunšemu" + hattian_household_god_name_possessive: "Wurunšemu's" + hattian_fate_god_name: "Estan" + hattian_fate_god_name_possessive: "Estan's" + hattian_knowledge_god_name: "$hattian_household_god_name$" + hattian_knowledge_god_name_possessive: "$hattian_household_god_name$" + hattian_war_god_name: "Wurukatte" + hattian_war_god_name_possessive: "Wurukatte's" + hattian_trickster_god_name: "Inara" + hattian_trickster_god_name_possessive: "Inara's" + hattian_night_god_name: "Kašku" + hattian_night_god_name_possessive: "Kašku's" + hattian_water_god_name: "Taru" + hattian_water_god_name_possessive: "Taru's" + hattian_witch_god_name: "Katahzipuri" + hattian_witch_god_name_possessive: "Katahzipuri's" + + hattian_sun_god_name: "Wurunšemu" + hattian_sun_god_name_possessive: "Wurunšemu's" diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/cultures_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/cultures_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/cultures_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/cultures_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/dharma_cultures_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/dharma_cultures_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/dharma_cultures_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/dharma_cultures_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/ir_names_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/ir_names_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/ir_names_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/ir_names_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/ir_welcome_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/ir_welcome_l_english.yml similarity index 99% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/ir_welcome_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/ir_welcome_l_english.yml index 9930f14e1..f7ead27e2 100644 --- a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/ir_welcome_l_english.yml +++ b/ImperatorToCK3/Data_Files/configurables/localization/base/english/ir_welcome_l_english.yml @@ -1,5 +1,5 @@ -l_english: - CONVERTERS_TEAM: "The Paradox Game Converters Group" - welcome_title: "Welcome to Crusader Kings III" - welcome_desc: "You are now playing as... Well, you know the story better than we could. You have ruled for centuries in the Classical Era, dodging the Greeks and the Romans, and now you're here, leaning towards feudalism, skipping the centuries perhaps, wondering what have you caused that prevented the birth of Christ and the prophecies of Muhammad. However, let us just add that some bugs may be lingering around and the translations may be wrong in some places. Feel free to report it to us on the Forum. That said, let us go forth!" - welcome_ok: "OK" +l_english: + CONVERTERS_TEAM: "The Paradox Game Converters Group" + welcome_title: "Welcome to Crusader Kings III" + welcome_desc: "You are now playing as... Well, you know the story better than we could. You have ruled for centuries in the Classical Era, dodging the Greeks and the Romans, and now you're here, leaning towards feudalism, skipping the centuries perhaps, wondering what have you caused that prevented the birth of Christ and the prophecies of Muhammad. However, let us just add that some bugs may be lingering around and the translations may be wrong in some places. Feel free to report it to us on the Forum. That said, let us go forth!" + welcome_ok: "OK" diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/languages_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/languages_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/languages_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/languages_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/name_lists_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/name_lists_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/name_lists_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/name_lists_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/new_eras_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/new_eras_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/new_eras_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/new_eras_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/noculture_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/noculture_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/noculture_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/noculture_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/sea_character_names_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/sea_character_names_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/sea_character_names_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/sea_character_names_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/sea_dynasties_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/sea_dynasties_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/sea_dynasties_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/sea_dynasties_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/sea_religion_burmic_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/sea_religion_burmic_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/sea_religion_burmic_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/sea_religion_burmic_l_english.yml diff --git a/ImperatorToCK3/Data_Files/blankMod/output/localization/english/wap_religion_dinka_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/english/wap_religion_dinka_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/blankMod/output/localization/english/wap_religion_dinka_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/english/wap_religion_dinka_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/russian/ir_names_l_russian.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/russian/ir_names_l_russian.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/russian/ir_names_l_russian.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/russian/ir_names_l_russian.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/simp_chinese/ir_names_l_simp_chinese.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/simp_chinese/ir_names_l_simp_chinese.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/simp_chinese/ir_names_l_simp_chinese.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/simp_chinese/ir_names_l_simp_chinese.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/spanish/ir_names_l_spanish.yml b/ImperatorToCK3/Data_Files/configurables/localization/base/spanish/ir_names_l_spanish.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/spanish/ir_names_l_spanish.yml rename to ImperatorToCK3/Data_Files/configurables/localization/base/spanish/ir_names_l_spanish.yml diff --git a/ImperatorToCK3/Data_Files/configurables/localization/info.txt b/ImperatorToCK3/Data_Files/configurables/localization/info.txt index 2d9ee738b..3a9c85230 100644 --- a/ImperatorToCK3/Data_Files/configurables/localization/info.txt +++ b/ImperatorToCK3/Data_Files/configurables/localization/info.txt @@ -1 +1,4 @@ -Localization from this folder is only added to the generated mod if the localization keys are not yet localized. \ No newline at end of file +Localization from this folder is only added to the generated mod if the localization keys are not yet localized. + +The "base" folder contains files to be included in the mod regardless of the CK3 mods enabled. +The "wtwsms" folder contains files to be only included when the WtWSMS CK3 mod is enabled. \ No newline at end of file diff --git a/ImperatorToCK3/Data_Files/configurables/localization/english/ccu_language_parameters_l_english.yml b/ImperatorToCK3/Data_Files/configurables/localization/wtwsms/english/ccu_language_parameters_l_english.yml similarity index 100% rename from ImperatorToCK3/Data_Files/configurables/localization/english/ccu_language_parameters_l_english.yml rename to ImperatorToCK3/Data_Files/configurables/localization/wtwsms/english/ccu_language_parameters_l_english.yml diff --git a/ImperatorToCK3/Data_Files/configurables/removable_on_action_blocks_tfe.txt b/ImperatorToCK3/Data_Files/configurables/removable_on_action_blocks_tfe.txt index d54015d2d..5cd04ba77 100644 --- a/ImperatorToCK3/Data_Files/configurables/removable_on_action_blocks_tfe.txt +++ b/ImperatorToCK3/Data_Files/configurables/removable_on_action_blocks_tfe.txt @@ -376,6 +376,11 @@ } } } + { + character:2000003 ?= { + make_trait_inactive = intellect_good_3 + } + } } "sea_minority_game_start.txt" = { @@ -507,6 +512,279 @@ "tribs_on_action.txt" = { { + if = { + limit = { + AND = { + game_start_date > 361.1.1 + game_start_date < 362.1.1 + } + } + ###GUPTAS + # Kushans + if = { + limit = { + AND = { + exists = character:kushan_014 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:kushan_014 + SUZERAIN = character:900963 + } + } + # Madrakas + if = { + limit = { + AND = { + exists = character:matraka_01 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:matraka_01 + SUZERAIN = character:900963 + } + } + # Yaudheyas + if = { + limit = { + AND = { + exists = character:yaudheya_01 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:yaudheya_01 + SUZERAIN = character:900963 + } + } + # Malavas + #if = { + # limit = { + # AND = { + # exists = character:malava_01 + # exists = character:900963 + # } + # } + # make_tributary = { + # TYPE = tributary_permanent + # TRIBUTARY = character:malava_01 + # SUZERAIN = character:900963 + # } + #} + # Arjunayanas + #if = { + # limit = { + # AND = { + # exists = character:guptasad_32 + # exists = character:900963 + # } + # } + # make_tributary = { + # TYPE = tributary_permanent + # TRIBUTARY = character:guptasad_32 + # SUZERAIN = character:900963 + # } + #} + # Karttripuras + if = { + limit = { + AND = { + exists = character:karttripura_01 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:karttripura_01 + SUZERAIN = character:900963 + } + } + # Nepal/Licchavis + if = { + limit = { + AND = { + exists = character:licchavi_02 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:licchavi_02 + SUZERAIN = character:900963 + } + } + # Kamarupa + if = { + limit = { + AND = { + exists = character:190054 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:190054 + SUZERAIN = character:900963 + } + } + # Davakas + if = { + limit = { + AND = { + exists = character:davaka_01 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:davaka_01 + SUZERAIN = character:900963 + } + } + # Samatatas + #if = { + # limit = { + # AND = { + # exists = character:samatata_01 + # exists = character:900963 + # } + # } + # make_tributary = { + # TYPE = tributary_permanent + # TRIBUTARY = character:samatata_01 + # SUZERAIN = character:900963 + # } + #} + # Kosalas + if = { + limit = { + AND = { + exists = character:orissa_01 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:orissa_01 + SUZERAIN = character:900963 + } + } + #Mahakantara + if = { + limit = { + AND = { + exists = character:orissa_02 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:orissa_02 + SUZERAIN = character:900963 + } + } + # Salankayanas + if = { + limit = { + AND = { + exists = character:salankayana_01 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:salankayana_01 + SUZERAIN = character:900963 + } + } + #Avamuktas + if = { + limit = { + AND = { + exists = character:orissa_06 + exists = character:900963 + } + + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:orissa_06 + SUZERAIN = character:900963 + } + } + #Dhananjayids + if = { + limit = { + AND = { + exists = character:orissa_08 + exists = character:900963 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:orissa_08 + SUZERAIN = character:900963 + } + } + + # Abyssinia Tributaries in Kush/Nubia + if = { + limit = { + AND = { + exists = character:meroitic_misc_01 + exists = character:aksum_12 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:meroitic_misc_01 + SUZERAIN = character:aksum_12 + } + } + if = { + limit = { + AND = { + exists = character:dinka_01 + exists = character:aksum_12 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:dinka_01 + SUZERAIN = character:aksum_12 + } + } + if = { + limit = { + AND = { + exists = character:dinka_05 + exists = character:aksum_12 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:dinka_05 + SUZERAIN = character:aksum_12 + } + } + if = { + limit = { + AND = { + exists = character:dinka_09 + exists = character:aksum_12 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:dinka_09 + SUZERAIN = character:aksum_12 + } + } character:990016 = { add_prestige = 1500 add_gold = 250 @@ -547,8 +825,7 @@ inheritable = no } } - } - { + } if = { limit = { AND = { @@ -556,25 +833,848 @@ game_start_date < 396.1.1 } } - make_tributary = { - TYPE = tributary_permanent - TRIBUTARY = character:lakhmid_06 - SUZERAIN = character:180618 + ###EASTERN ROMAN + if = { + limit = { + AND = { + exists = character:judham_11 + exists = character:70519 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:judham_11 + SUZERAIN = character:70519 + } } - make_tributary = { - TYPE = tributary_permanent - TRIBUTARY = character:159583 - SUZERAIN = character:180618 + if = { + limit = { + AND = { + exists = character:amilah_01 + exists = character:70519 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:amilah_01 + SUZERAIN = character:70519 + } } - make_tributary = { - TYPE = tributary_permanent - TRIBUTARY = character:159761 - SUZERAIN = character:180618 + if = { + limit = { + AND = { + exists = character:lazika_03 + exists = character:70519 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:lazika_03 + SUZERAIN = character:70519 + } } - make_tributary = { - TYPE = tributary_permanent - TRIBUTARY = character:arsacid_58 - SUZERAIN = character:180618 + if = { + limit = { + AND = { + exists = character:tanukhid_011 + exists = character:70519 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:tanukhid_011 + SUZERAIN = character:70519 + } + } + + ###GUPTAS + # Madrakas + #if = { + # limit = { + # AND = { + # exists = character:matraka_01 + # exists = character:2020123 + # } + # } + # make_tributary = { + # TYPE = tributary_permanent + # TRIBUTARY = character:matraka_01 + # SUZERAIN = character:2020123 + # } + #} + # Yaudheyas + if = { + limit = { + AND = { + exists = character:yaudheya_01 + exists = character:2020123 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:yaudheya_01 + SUZERAIN = character:2020123 + } + } + # Karttripuras + if = { + limit = { + AND = { + exists = character:karttripura_02 + exists = character:2020123 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:karttripura_02 + SUZERAIN = character:2020123 + } + } + # Nepal/Licchavis + if = { + limit = { + AND = { + exists = character:licchavi_02 + exists = character:2020123 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:licchavi_02 + SUZERAIN = character:2020123 + } + } + # Kamarupa + if = { + limit = { + AND = { + exists = character:190055 + exists = character:2020123 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:190055 + SUZERAIN = character:2020123 + } + } + # Davakas + if = { + limit = { + AND = { + exists = character:davaka_01 + exists = character:2020123 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:davaka_01 + SUZERAIN = character:2020123 + } + } + # Samatatas + #if = { + # limit = { + # AND = { + # exists = character:samatata_01 + # exists = character:2020123 + # } + # } + # make_tributary = { + # TYPE = tributary_permanent + # TRIBUTARY = character:samatata_01 + # SUZERAIN = character:2020123 + # } + #} + } + if = { + limit = { + game_start_date = 476.9.4 + } + if = { + limit = { + AND = { + exists = character:996002 + exists = character:70515 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:996002 + SUZERAIN = character:70515 + } + } + if = { + limit = { + AND = { + exists = character:tanukhid_03 + exists = character:70515 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:tanukhid_03 + SUZERAIN = character:70515 + } + } + if = { + limit = { + AND = { + exists = character:lazika_05 + exists = character:70515 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:lazika_05 + SUZERAIN = character:70515 + } + } + character:strabo_02 ?= { + spawn_army = { + name = "Zeno's Auxiliaries" + levies = 1000 + men_at_arms = { + type = palatinae + #type = armored_footmen + stacks = 2 + } + men_at_arms = { + type = comitatenses + #type = armored_footmen + stacks = 2 + } + location = title:c_turnovo.title_province + inheritable = no + } + } + character:992016 ?= { + spawn_army = { + name = "Ostrogoth Invaders" + levies = 3000 + men_at_arms = { + type = bowmen + stacks = 5 + } + men_at_arms = { + type = light_horsemen + stacks = 5 + } + men_at_arms = { + type = light_footmen + stacks = 10 + } + men_at_arms = { + type = siege_towers + stacks = 3 + } + location = capital_province + inheritable = no + } + } + character:yujiulu_10 ?= { + dynasty = { + add_dynasty_modifier = rouran_khagans + } + } + } + + ###WESTERN ROMAN AND AFRICAN + if = { + limit = { + AND = { + game_start_date > 394.1.1 + game_start_date < 396.1.1 + } + } + if = { + limit = { + AND = { + exists = character:159009 + exists = character:145227 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159009 + SUZERAIN = character:145227 + } + } + if = { + limit = { + AND = { + exists = character:mauri_18 + exists = character:145227 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:mauri_18 + SUZERAIN = character:145227 + } + } + if = { + limit = { + AND = { + exists = character:afroroman_01 + exists = character:145227 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:afroroman_01 + SUZERAIN = character:145227 + } + } + if = { + limit = { + AND = { + exists = character:mauri_28 + exists = character:mauri_18 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:mauri_28 + SUZERAIN = character:mauri_18 + } + } + if = { + limit = { + AND = { + exists = character:mauri_23 + exists = character:145227 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:mauri_23 + SUZERAIN = character:145227 + } + } + } + + if = { + limit = { + AND = { + game_start_date > 360.1.1 + game_start_date < 362.1.1 + } + } + if = { + limit = { + AND = { + exists = character:afroroman_01 + exists = character:145237 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:afroroman_01 + SUZERAIN = character:145237 + } + } + if = { + limit = { + AND = { + exists = character:mauri_17 + exists = character:145237 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:mauri_17 + SUZERAIN = character:145237 + } + } + if = { + limit = { + AND = { + exists = character:arsacid_46 + exists = character:145237 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:arsacid_46 + SUZERAIN = character:145237 + } + } + if = { + limit = { + AND = { + exists = character:mauri_27 + exists = character:mauri_17 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:mauri_27 + SUZERAIN = character:mauri_17 + } + } + if = { + limit = { + AND = { + exists = character:mauri_22 + exists = character:145237 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:mauri_22 + SUZERAIN = character:145237 + } + } + ###PERSIANS + if = { + limit = { + AND = { + exists = character:159582 + exists = character:180617 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159582 + SUZERAIN = character:180617 + } + } + if = { + limit = { + AND = { + exists = character:159758 + exists = character:180617 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159758 + SUZERAIN = character:180617 + } + } + if = { + limit = { + AND = { + exists = character:lakhmid_03 + exists = character:180617 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:lakhmid_03 + SUZERAIN = character:180617 + } + } + if = { + limit = { + AND = { + exists = character:khinda_05 + exists = character:himyar_11 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:khinda_05 + SUZERAIN = character:himyar_11 + } + } + #character:990016 ?= { + # add_gold = 250 + # spawn_army = { + # name = "Hunnic Invaders" + # levies = 2000 + # men_at_arms = { + # type = light_horsemen + # stacks = 15 + # } + # men_at_arms = { + # type = horse_archers + # stacks = 15 + # } + # men_at_arms = { + # type = siege_towers + # stacks = 5 + # } + # location = capital_province + # inheritable = no + # } + # spawn_army = { + # name = "Hunnic Invaders" + # levies = 1000 + # men_at_arms = { + # type = light_horsemen + # stacks = 10 + # } + # men_at_arms = { + # type = horse_archers + # stacks = 10 + # } + # men_at_arms = { + # type = siege_towers + # stacks = 5 + # } + # location = capital_province + # inheritable = yes + # } + #} + } + + ###PERSIAN + if = { + limit = { + AND = { + game_start_date > 394.1.1 + game_start_date < 396.1.1 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:lakhmid_06 + SUZERAIN = character:180618 + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159583 + SUZERAIN = character:180618 + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159761 + SUZERAIN = character:180618 + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:arsacid_58 + SUZERAIN = character:180618 + } + } + if = { + limit = { + AND = { + game_start_date > 475.1.1 + game_start_date < 477.1.1 + } + } + if = { + limit = { + AND = { + exists = character:lakhmid_08 + exists = character:180624 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:lakhmid_08 + SUZERAIN = character:180624 + } + } + if = { + limit = { + AND = { + exists = character:159766 + exists = character:180624 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159766 + SUZERAIN = character:180624 + } + } + if = { + limit = { + AND = { + exists = character:159859 + exists = character:180624 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:159859 + SUZERAIN = character:180624 + } + } + } + + ###GUPTA + if = { + limit = { + AND = { + game_start_date > 394.1.1 + game_start_date < 396.1.1 + } + } + if = { + limit = { + AND = { + exists = character:salankayana_02 + exists = character:2020123 + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = character:salankayana_02 + SUZERAIN = character:2020123 + } + } + } + + ###532 BM Caucasus + if = { + limit = { + AND = { + game_start_date > 530.1.1 + game_start_date < 540.1.1 + } + } + if = { + limit = { + AND = { + exists = title:d_abkhazia.holder + exists = title:e_byzantium.holder + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = title:d_abkhazia.holder + SUZERAIN = title:e_byzantium.holder + } + } + if = { + limit = { + AND = { + exists = title:d_georgia.holder + exists = title:e_persia.holder + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = title:d_georgia.holder + SUZERAIN = title:e_persia.holder + } + } + if = { + limit = { + AND = { + exists = title:d_albania.holder + exists = title:e_persia.holder + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = title:d_albania.holder + SUZERAIN = title:e_persia.holder + } + } + if = { + limit = { + AND = { + exists = title:k_lakhmid.holder + exists = title:e_persia.holder + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = title:k_lakhmid.holder + SUZERAIN = title:e_persia.holder + } + } + if = { + limit = { + AND = { + exists = title:k_ghassanid.holder + exists = title:e_byzantium.holder + } + } + make_tributary = { + TYPE = tributary_permanent + TRIBUTARY = title:k_ghassanid.holder + SUZERAIN = title:e_byzantium.holder + } + } + } + + #I'm too lazy to make another file :p + if = { + limit = { + game_start_date = 476.9.4 + } + title:k_italy.holder ?= { + add_gold = 200 + spawn_army = { + name = "Scirian Invaders" + levies = 1500 + men_at_arms = { + type = bowmen + stacks = 3 + } + men_at_arms = { + type = light_horsemen + stacks = 2 + } + men_at_arms = { + type = light_footmen + stacks = 4 + } + location = capital_province + inheritable = no + } + spawn_army = { + name = "Scirian Invaders" + levies = 1500 + men_at_arms = { + type = bowmen + stacks = 3 + } + men_at_arms = { + type = light_horsemen + stacks = 2 + } + men_at_arms = { + type = light_footmen + stacks = 4 + } + location = capital_province + inheritable = yes + } + } + title:k_visigoths.holder ?= { + add_gold = 300 + spawn_army = { + name = gothic_event_troops + levies = 2000 + men_at_arms = { + type = bowmen + stacks = 2 + } + men_at_arms = { + type = light_horsemen + stacks = 2 + } + men_at_arms = { + type = light_footmen + stacks = 4 + } + location = capital_province + inheritable = no + } + spawn_army = { + name = gothic_event_troops + levies = 2000 + men_at_arms = { + type = bowmen + stacks = 2 + } + men_at_arms = { + type = light_horsemen + stacks = 2 + } + men_at_arms = { + type = light_footmen + stacks = 4 + } + location = capital_province + inheritable = yes + } + } + } + else_if = { + limit = { + AND = { + game_start_date > 394.1.1 + game_start_date < 396.1.1 + } + } + title:e_western_roman_empire.holder ?= { + add_gold = 1000 + } + title:e_byzantium.holder ?= { + add_gold = 1000 + } + character:balamer_01 ?= { + add_prestige = 3000 + spawn_army = { + name = "Hunnic Invaders" + levies = 2000 + men_at_arms = { + type = horse_archers + stacks = 10 + } + men_at_arms = { + type = light_footmen + stacks = 20 + } + men_at_arms = { + type = siege_towers + stacks = 5 + } + location = title:b_peremyshl.title_province + inheritable = no + } + spawn_army = { + name = "Hunnic Invaders" + levies = 2000 + men_at_arms = { + type = light_horsemen + stacks = 10 + } + men_at_arms = { + type = horse_archers + stacks = 10 + } + men_at_arms = { + type = light_footmen + stacks = 10 + } + men_at_arms = { + type = siege_towers + stacks = 5 + } + location = title:b_stoenesti.title_province + inheritable = no + } + } + character:990000 ?= { + spawn_army = { + name = "Hunnic Invaders" + levies = 2000 + men_at_arms = { + type = light_horsemen + stacks = 10 + } + men_at_arms = { + type = horse_archers + stacks = 10 + } + men_at_arms = { + type = siege_towers + stacks = 5 + } + location = capital_province + inheritable = no + } + } + character:yujiulu_072 ?= { + add_prestige = 500 + spawn_army = { + name = "Rouran Invaders" + levies = 1000 + men_at_arms = { + type = light_horsemen + stacks = 3 + } + men_at_arms = { + type = horse_archers + stacks = 3 + } + men_at_arms = { + type = siege_towers + stacks = 2 + } + location = capital_province + inheritable = yes + } } } } diff --git a/ImperatorToCK3/Outputter/CulturesOutputter.cs b/ImperatorToCK3/Outputter/CulturesOutputter.cs index de638163f..dd5293e16 100644 --- a/ImperatorToCK3/Outputter/CulturesOutputter.cs +++ b/ImperatorToCK3/Outputter/CulturesOutputter.cs @@ -188,4 +188,16 @@ private static void OutputCCULanguageParameters(string outputModPath, ModFilesys outputFilePath = Path.Join(outputModPath, errorSuppressionRelativePath); File.WriteAllText(outputFilePath, newContent.ToString(), Encoding.UTF8); } + + public static async Task OutputCultureCreationNames(string outputModPath, CultureCollection cultures) { + Logger.Info("Outputting culture creation names..."); + var sb = new StringBuilder(); + foreach (var (id, stringOfItem) in cultures.CultureCreationNames) { + sb.AppendLine($"{id} = {stringOfItem}"); + } + + var outputPath = Path.Combine(outputModPath, "common/culture/creation_names/IRToCK3_culture_creation_names.txt"); + await using var output = FileHelper.OpenWriteWithRetries(outputPath, Encoding.UTF8); + await output.WriteAsync(sb.ToString()); + } } \ No newline at end of file diff --git a/ImperatorToCK3/Outputter/WorldOutputter.cs b/ImperatorToCK3/Outputter/WorldOutputter.cs index f5b559fa3..afe6f7314 100644 --- a/ImperatorToCK3/Outputter/WorldOutputter.cs +++ b/ImperatorToCK3/Outputter/WorldOutputter.cs @@ -36,6 +36,7 @@ public static void OutputWorld(World ck3World, Imperator.World imperatorWorld, C PillarOutputter.OutputPillars(outputPath, ck3World.CulturalPillars), CulturesOutputter.OutputCultures(outputPath, ck3World.Cultures, ck3World.ModFS, config, ck3World.CorrectedDate), + CulturesOutputter.OutputCultureCreationNames(outputPath, ck3World.Cultures), ReligionsOutputter.OutputReligionsAndHolySites(outputPath, ck3World.Religions, ck3World.LocDB), @@ -178,6 +179,7 @@ private static void CreateFolders(string outputPath) { SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "bookmarks", "groups")); SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "bookmark_portraits")); SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "coat_of_arms", "coat_of_arms")); + SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "culture", "creation_names")); SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "culture", "cultures")); SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "culture", "pillars")); SystemUtils.TryCreateFolder(Path.Combine(outputPath, "common", "dna_data"));