From caf726362bb981948521cf0c715bbaa2be4cc266 Mon Sep 17 00:00:00 2001 From: ProHunter1023 Date: Sun, 29 Mar 2026 22:12:35 +0800 Subject: [PATCH 1/3] Poland Glup Shittos 2 --- common/dynasties/NEOW_dynasties.txt | 70 ++++++ history/characters/NEOW_e_zapadoslavia.txt | 236 ++++++++++++++++++ history/titles/k_poland.txt | 111 ++++++-- .../zz_NEOW_dynasty_names_l_english.yml | 14 ++ 4 files changed, 415 insertions(+), 16 deletions(-) diff --git a/common/dynasties/NEOW_dynasties.txt b/common/dynasties/NEOW_dynasties.txt index 574d1ab8..ae45f3af 100644 --- a/common/dynasties/NEOW_dynasties.txt +++ b/common/dynasties/NEOW_dynasties.txt @@ -1948,4 +1948,74 @@ tserlona_dynasty = { dyatlova_dynasty = { name = dynn_dyatlova culture = NEOW_pribaltic +} + +choszczno_dynasty = { + name = dynn_choszczno + culture = NEOW_greater_polish +} + +hrabisid_dynasty = { + name = dynn_hrabisid + culture = sorbian +} + +gamrat_dynasty = { + name = dynn_gamrat + culture = NEOW_greater_polish +} + +subislawowic_dynasty = { + name = dynn_subslawowic + culture = NEOW_greater_polish +} + +sieradz_dynasty = { + name = dynn_sieradz + culture = NEOW_greater_polish +} + +machut_dynasty = { + name = dynn_machut + culture = kashubian +} + +felsczi_dynasty = { + name = dynn_felsczi + culture = kashubian +} + +grych_dynasty = { + name = dynn_grych + culture = kashubian +} + +dolega_dynasty = { + name = dynn_dolega + culture = NEOW_greater_polish +} + +brochwicz_dynasty = { + name = dynn_brochwicz + culture = NEOW_lesser_polish +} + +radwan_dynasty = { + name = dynn_radwan + culture = NEOW_lesser_polish +} + +rogala_dynasty = { + name = dynn_rogala + culture = NEOW_mazovian_polish +} + +sapieha_dynasty = { + name = dynn_sapieha + culture = NEOW_mazovian_polish +} + +awdaniec_dynasty = { + name = dynn_awdaniec + culture = NEOW_mazovian_polish } \ No newline at end of file diff --git a/history/characters/NEOW_e_zapadoslavia.txt b/history/characters/NEOW_e_zapadoslavia.txt index 8994eff5..44cd7691 100644 --- a/history/characters/NEOW_e_zapadoslavia.txt +++ b/history/characters/NEOW_e_zapadoslavia.txt @@ -713,3 +713,239 @@ zapadoslavia0033 = { death = yes } } + +zapadoslavia0034 = { + name = "Zbigniew" + dynasty = choszczno_dynasty + religion = mariavite + culture = NEOW_greater_polish + trait = deceitful + trait = greedy + trait = lazy + trait = education_stewardship_1 + trait = avaricious + 2526.5.12 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0035 = { + name = "Bohuslava" + dynasty = hrabisid_dynasty + religion = mariavite + culture = sorbian + trait = diligent + trait = wrathful + trait = shy + trait = education_learning_1 + trait = scholar + 2519.8.17 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0036 = { + name = "Trojden" + dynasty = gamrat_dynasty + religion = mariavite + culture = NEOW_greater_polish + trait = sadistic + trait = wrathful + trait = forgiving + trait = education_martial_3 + trait = military_engineer + 2530.1.5 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0037 = { + name = "Stainsława" + dynasty = subislawowic_dynasty + female = yes + religion = mariavite + culture = NEOW_greater_polish + trait = generous + trait = fickle + trait = content + trait = education_intrigue_3 + trait = diplomat + trait = spindly + 2533.10.22 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0038 = { + name = "Dobromir" + dynasty = sieradz_dynasty + religion = mariavite + culture = NEOW_greater_polish + trait = humble + trait = content + trait = chaste + trait = education_martial_4 + trait = cautious_leader + 2515.9.1 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0039 = { + name = "Kenna" + dynasty = machut_dynasty + female = yes + religion = mariavite + culture = kashubian + trait = sadistic + trait = honest + trait = generous + trait = education_intrigue_4 + 2536.4.19 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0040 = { # potentially able to revive Republic of Tricity if possible? + name = "Mściwój" + dynasty = felsczi_dynasty + religion = mariavite + culture = kashubian + trait = lazy + trait = compasionate + trait = stubborn + trait = education_stewardship_1 + 2527.10.7 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0041 = { + name = "Pełka" + dynasty = grych_dynasty + religion = mariavite + culture = kashubian + trait = arrogant + trait = callous + trait = content + trait = education_stewardship_4 + 2533.8.17 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0042 = { + name = "Bezprym" + dynasty = dolega_dynasty + religion = mariavite + culture = kashubian + trait = calm + trait = diligent + trait = arrogant + trait = education_martial_2 + trait = logistician + trait = athletic + 2516.12.22 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0043 = { + name = "Izbor" + dynasty = brochwicz_dynasty + religion = mariavite + culture = NEOW_lesser_polish + trait = brave + trait = patient + trait = arbitrary + trait = education_martial_4 + trait = forest_fighter + 2522.3.9 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0044 = { + name = "Zofia" + dynasty = rogala_dynasty + female = yes + religion = mariavite + culture = NEOW_mazovian_polish + trait = calm + trait = stubborn + trait = impatient + trait = education_diplomacy_2 + trait = physique_good_1 + 2524.5.3 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0045 = { + name = "Mateusz" + dynasty = sapieha_dynasty + religion = mariavite + culture = NEOW_mazovian_polish + trait = gregarious + trait = humble + trait = lazy + trait = education_intrigue_2 + trait = strategist + 2536.9.13 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} + +zapadoslavia0046 = { + name = "Jacek" + dynasty = awdaniec_dynasty + religion = mariavite + culture = NEOW_mazovian_polish + trait = wrathful + trait = brave + trait = fickle + trait = education_martial_1 + trait = logistician + 2528.11.3 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} \ No newline at end of file diff --git a/history/titles/k_poland.txt b/history/titles/k_poland.txt index fb0aaae5..36a7b474 100644 --- a/history/titles/k_poland.txt +++ b/history/titles/k_poland.txt @@ -4,12 +4,6 @@ k_poland = { } } -d_pomerelia = { - 2554.1.1 = { - holder = zapadoslavia0006 #polandking - } -} - d_lesser_poland = { 2554.1.1 = { holder = zapadoslavia0019 @@ -115,26 +109,111 @@ c_natangia = { } } +d_wielkopolska = { + 2554.1.1 = { + holder = zapadoslavia0036 + liege = k_poland + } +} + +c_gnieznienska = { + 2554.1.1 = { + holder = zapadoslavia0037 + liege = d_wielkopolska + } +} + +c_wschowska = { + 2554.1.1 = { + holder = zapadoslavia0037 + liege = d_wielkopolska + } +} + +c_kaliska = { + 2554.1.1 = { + holder = zapadoslavia0038 + liege = d_wielkopolska + } +} + +c_leczycka = { + 2554.1.1 = { + holder = zapadoslavia0043 + liege = k_poland + } +} + +c_sieradzka = { + 2554.1.1 = { + holder = zapadoslavia0043 + liege = k_poland + } +} + +c_gostyninska = { + 2554.1.1 = { + holder = zapadoslavia0044 + liege = k_poland + } +} + +c_plocka = { + 2554.1.1 = { + holder = zapadoslavia0045 + liege = k_poland + } +} + +c_ostroleka = { + 2554.1.1 = { + holder = zapadoslavia0046 + liege = k_poland + } +} + + +d_pomerelia = { + 2554.1.1 = { + holder = zapadoslavia0006 #polandking + } +} + +c_berent = { + 2554.1.1 = { + holder = zapadoslavia0041 + liege = d_pomerelia + } +} + +c_torun = { + 2554.1.1 = { + holder = zapadoslavia0042 + liege = d_pomerelia + } +} + d_pommerania = { 2554.1.1 = { - holder = germany0001 #Wilhelm Zollern + holder = zapadoslavia0039 } } -c_lubusz = { +c_danzig = { 2554.1.1 = { - holder = germany0001 #Wilhelm Zollern + holder = zapadoslavia0040 } } -c_slupsk = { +d_lubusz = { 2554.1.1 = { - holder = germany0001 #Wilhelm Zollern - } -} -c_miastko = { - 2554.1.1 = { - holder = germany0001 #Wilhelm Zollern + holder = zapadoslavia0034 } } +c_grunberg = { + 2554.1.1 = { + holder = zapadoslavia0035 + liege = d_lubusz + } +} \ No newline at end of file diff --git a/localization/english/replace/dynasties/zz_NEOW_dynasty_names_l_english.yml b/localization/english/replace/dynasties/zz_NEOW_dynasty_names_l_english.yml index cc9d6f8c..87d537e8 100644 --- a/localization/english/replace/dynasties/zz_NEOW_dynasty_names_l_english.yml +++ b/localization/english/replace/dynasties/zz_NEOW_dynasty_names_l_english.yml @@ -303,6 +303,20 @@ dynn_koroleveckiy:0 "Koroleveckiy" dynn_tserlona:0 "Tserlona" dynn_dyatlova:0 "Dyatlova" + dynn_choszczno:0 "Choszczno" + dynn_hrabisid:0 "Hrabišid" + dynn_gamrat:0 "Gamrat" + dynn_subslawowic:0 "Subisławowic" + dynn_sieradz:0 "Sieradz" + dynn_machut:0 "Machut" + dynn_felsczi:0 "Felsczi" + dynn_grych:0 "Grych" + dynn_dolega:0 "Dołęga" + dynn_brochwicz:0 "Brochwicz" + dynn_radwan:0 "Radwan" + dynn_rogala:0 "Rogala" + dynn_sapieha:0 "Sapieha" + dynn_awdaniec:0 "Awdaniec" #e_germania dynnp_von:0 "von " From 767aadbe143787be630b72b2138d8f7618fc1885 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Sun, 29 Mar 2026 20:23:20 +0100 Subject: [PATCH 2/3] language stuff and 1066 buildings --- common/culture/cultures/00_baltic.txt | 101 +++ common/culture/pillars/NEOW_language.txt | 44 + common/on_action/game_start.txt | 2 +- .../scheme_types/learn_language_scheme.txt | 803 ++++++++++++++++++ .../replace/culture/cultures_l_english.yml | 6 +- .../zz_NEOW_cultural_languages_l_english.yml | 7 +- 6 files changed, 958 insertions(+), 5 deletions(-) create mode 100644 common/culture/cultures/00_baltic.txt create mode 100644 common/schemes/scheme_types/learn_language_scheme.txt diff --git a/common/culture/cultures/00_baltic.txt b/common/culture/cultures/00_baltic.txt new file mode 100644 index 00000000..89db461a --- /dev/null +++ b/common/culture/cultures/00_baltic.txt @@ -0,0 +1,101 @@ +latgalian = { + color = { 0.5 0.5 0.1 } + + ethos = ethos_stoic + heritage = heritage_baltic + language = NEOW_language_latvian + martial_custom = martial_custom_male_only + head_determination = head_determination_domain + traditions = { + tradition_forest_wardens + tradition_sacred_groves + } + + dlc_tradition = { + trait = tradition_staunch_traditionalists + requires_dlc_flag = hybridize_culture + } + + name_list = name_list_latgalian + + coa_gfx = { baltic_group_coa_gfx steppe_coa_gfx western_coa_gfx } + building_gfx = { western_building_gfx } + clothing_gfx = { northern_clothing_gfx } + unit_gfx = { northern_unit_gfx } + house_coa_frame = house_frame_21 + house_coa_mask_offset = { 0.0 0.055 } + house_coa_mask_scale = { 1.0 1.0 } + + ethnicities = { + 80 = caucasian_northern_blond + 15 = caucasian_northern_ginger + 3 = caucasian_northern_brown_hair + 2 = caucasian_northern_dark_hair + } +} + +lithuanian = { + color = lithuanian + + ethos = ethos_bellicose + heritage = heritage_baltic + language = NEOW_language_lithuanian + martial_custom = martial_custom_male_only + head_determination = head_determination_domain + traditions = { + tradition_sacred_groves + tradition_hit_and_run + tradition_zealous_people + tradition_forest_wardens + } + + name_list = name_list_lithuanian + + coa_gfx = { baltic_group_coa_gfx steppe_coa_gfx western_coa_gfx } + building_gfx = { western_building_gfx } + clothing_gfx = { northern_clothing_gfx } + unit_gfx = { northern_unit_gfx } + house_coa_frame = house_frame_21 + house_coa_mask_offset = { 0.0 0.055 } + house_coa_mask_scale = { 1.0 1.0 } + + ethnicities = { + 80 = caucasian_northern_blond + 15 = caucasian_northern_ginger + 3 = caucasian_northern_brown_hair + 2 = caucasian_northern_dark_hair + } +} + +prussian = { + color = { 0.56 0.55 0.4 } + + ethos = ethos_bureaucratic + heritage = heritage_baltic + language = language_baltic + martial_custom = martial_custom_male_only + head_determination = head_determination_domain + traditions = { + tradition_sacred_groves + tradition_equitable + tradition_forest_wardens + tradition_welcoming + } + + name_list = name_list_prussian + + coa_gfx = { baltic_group_coa_gfx steppe_coa_gfx western_coa_gfx } + building_gfx = { western_building_gfx } + clothing_gfx = { northern_clothing_gfx } + unit_gfx = { northern_unit_gfx } + house_coa_frame = house_frame_21 + house_coa_mask_offset = { 0.0 0.055 } + house_coa_mask_scale = { 1.0 1.0 } + + ethnicities = { + 80 = caucasian_northern_blond + 15 = caucasian_northern_ginger + 3 = caucasian_northern_brown_hair + 2 = caucasian_northern_dark_hair + } +} diff --git a/common/culture/pillars/NEOW_language.txt b/common/culture/pillars/NEOW_language.txt index a80bb114..446cdf54 100644 --- a/common/culture/pillars/NEOW_language.txt +++ b/common/culture/pillars/NEOW_language.txt @@ -34,6 +34,50 @@ language_frisian = { color = { 229 168 45 } } +NEOW_language_latvian = { + type = language + is_shown = { + language_is_shown_trigger = { + LANGUAGE = NEOW_language_latvian + } + } + parameters = { + baltic_group_language_param = yes + west_slavic__group_language_param = yes + latin_sprachbund_language_param = yes + } + ai_will_do = { + value = 10 + if = { + limit = { has_cultural_pillar = NEOW_language_latvian } + multiply = 10 + } + } + + color = { 0.5 0.5 0.1 } +} +NEOW_language_lithuanian = { + type = language + is_shown = { + language_is_shown_trigger = { + LANGUAGE = NEOW_language_lithuanian + } + } + parameters = { + baltic_group_language_param = yes + west_slavic__group_language_param = yes + latin_sprachbund_language_param = yes + } + ai_will_do = { + value = 10 + if = { + limit = { has_cultural_pillar = NEOW_language_lithuanian } + multiply = 10 + } + } + + color = lithuanian +} language_sarphatique = { type = language is_shown = { diff --git a/common/on_action/game_start.txt b/common/on_action/game_start.txt index cadb4cd6..b6b51e18 100644 --- a/common/on_action/game_start.txt +++ b/common/on_action/game_start.txt @@ -9137,7 +9137,7 @@ on_game_start_after_lobby = { # 1066 Buildings if = { limit = { - game_start_date >= 2666.1.1 + game_start_date >= 2555.1.1 game_start_date < 2784.10.1 } every_province = { diff --git a/common/schemes/scheme_types/learn_language_scheme.txt b/common/schemes/scheme_types/learn_language_scheme.txt new file mode 100644 index 00000000..beff07b4 --- /dev/null +++ b/common/schemes/scheme_types/learn_language_scheme.txt @@ -0,0 +1,803 @@ +learn_language = { + # Basic Setup + skill = learning + desc = learn_language_desc_general + success_desc = "LEARN_LANGUAGE_SUCCESS_DESC" + icon = icon_scheme_learn_language + illustration = "gfx/interface/illustrations/event_scenes/corridor.dds" + target_type = character + is_secret = no + is_basic = yes + cooldown = { months = 2 } + + # Parameters + speed_per_skill_point = t1_spsp_owner_value + spymaster_speed_per_skill_point = 0 + uses_resistance = no + base_progress_goal = 730 + base_maximum_success = 95 + minimum_success = 5 + + # Core Triggers + allow = { + age >= 6 + NOR = { + culture = { # You can't learn your own native language + has_same_culture_language = scope:target.culture + } + knows_language_of_culture = scope:target.culture + custom_description = { # Should not be able to target the same language twice + object = scope:target + text = scheme_target_same_language_as_existing_scheme + any_scheme = { + type = learn_language + scheme_target_character = { + culture = { # You can't learn the same language with two different schemes + has_same_culture_language = scope:target.culture + } + } + } + } + } + + scope:target = { + age >= 10 + } + is_imprisoned = no + + #AI blockers + trigger_if = { + limit = { is_ai = yes } + + scope:target = { + trigger_if = { #So players don't get spammed by AI's + limit = { + is_ai = no + } + NOT = { + any_targeting_scheme = { + scheme_type = learn_language + } + } + } + } + } + } + valid = { + is_incapable = no + NOT = { + knows_language_of_culture = scope:target.culture + } + scope:target = { + OR = { + exists = location + in_diplomatic_range = scope:owner + } + } + } + + # Prediction (abysmal/low/medium/high/excellent) + # scope:owner - Character starting the scheme + # scope:target - Whatever the scheme is targeting + odds_prediction = { + add = base_odds_prediction_target_is_char_value + add = odds_skill_contribution_learning_value + add = odds_learn_language_scheme_misc_value + min = 0 + } + + # Base Chances + base_success_chance = { + base = 0 + + modifier = { + add = { + value = scope:owner.learning + multiply = 3 + } + desc = SCHEME_LEARNING_MODIFIER + scope:owner.learning > 0 + } + + modifier = { + add = { + value = scope:owner.piety_level + multiply = 10 + } + desc = SCHEME_PIETY_LEVEL_MODIFIER + scope:owner.piety_level > 0 + scope:owner.culture = { + has_cultural_parameter = language_success_chance_per_piety_level + } + } + + modifier = { + add = scope:owner.cp:councillor_court_chaplain.learning + desc = SCHEME_CHAPLAIN_HELP_LEARNING_MODIFIER + exists = scope:owner.cp:councillor_court_chaplain + scope:owner.cp:councillor_court_chaplain.learning > 0 + } + + modifier = { + add = { + value = 5 + multiply = { + value = scope:owner.num_of_known_languages + subtract = 1 + } + } + desc = SCHEME_KNOWN_LANGUAGES_MODIFIER + scope:owner.num_of_known_languages > 1 + } + + modifier = { + add = { + value = 30 + subtract = scope:owner.age + multiply = 2 + } + desc = SCHEME_YOUTH_MODIFIER + scope:owner.age < 30 + } + + modifier = { + add = 25 + desc = SCHEME_HERITAGE_MODIFIER + scope:target.culture = { + has_same_culture_heritage = scope:owner.culture + } + } + + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = goidelic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = goidelic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = anglic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = anglic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = brythonic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = brythonic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = french_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = french_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = middle_german_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = middle_german_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = east_hispanic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = east_hispanic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = occitanic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = occitanic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = lausatian_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = lausatian_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = west_hispanic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = west_hispanic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = basque_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = basque_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = middle_hispanic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = middle_hispanic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = italo_dalmatian_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = italo_dalmatian_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = albanian_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = albanian_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = low_german_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = low_german_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = high_german_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = high_german_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = hewbrew_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = hewbrew_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = gallo_italian_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = gallo_italian_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = arabic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = arabic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = sardic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = sardic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = rhaeto_romance_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = rhaeto_romance_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = greek_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = greek_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = east_north_germanic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = east_north_germanic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = west_north_germanic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = west_north_germanic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = frisian_language_param + } + scope:owner.culture = { + has_cultural_parameter = frisian_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = south_slavic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = south_slavic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = west_slavic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = west_slavic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = low_franconian_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = low_franconian_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = far_west_indo_aryan_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = far_west_indo_aryan_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = oghuz_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = oghuz_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = kipchak_bulgar_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = kipchak_bulgar_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = daco_romanian_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = daco_romanian_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = ugric_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = ugric_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = east_slavic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = east_slavic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = baltic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = baltic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_LANGUAGE_ORIGIN + scope:target.culture = { + has_cultural_parameter = finnic_group_language_param + } + scope:owner.culture = { + has_cultural_parameter = finnic_group_language_param + } + } + modifier = { + add = 10 + desc = SAME_SPRACHBUND + scope:target.culture = { + has_cultural_parameter = latin_sprachbund_language_param + } + scope:owner.culture = { + has_cultural_parameter = latin_sprachbund_language_param + } + } + modifier = { + add = 10 + desc = SAME_SPRACHBUND + scope:target.culture = { + has_cultural_parameter = greek_sprachbund_language_param + } + scope:owner.culture = { + has_cultural_parameter = greek_sprachbund_language_param + } + } + modifier = { + add = 10 + desc = SAME_SPRACHBUND + scope:target.culture = { + has_cultural_parameter = fusha_sprachbund_language_param + } + scope:owner.culture = { + has_cultural_parameter = fusha_sprachbund_language_param + } + } + modifier = { + add = 50 + desc = SCHEME_LOYAL_SOLDIERS_MODIFIER + scope:owner = { + culture = { + has_cultural_parameter = extra_learn_language_success_chance_vs_liege + } + any_liege_or_above = { + this = scope:target + } + } + } + + modifier = { #For others learning the language of someone with tradition + add = 50 + desc = SCHEME_SCHOLAR_OFFICIALS_MODIFIER + scope:target.culture = { + has_cultural_parameter = learn_language_success_chance_for_others + } + } + + + + modifier = { + add = 30 + desc = SCHEME_CULTURE_BLENDING_MODIFIER + scope:owner = { + culture = { + has_cultural_parameter = learns_more_languages + } + } + } + + #Intellect good + modifier = { + desc = "scheme_intellect_good_1" + scope:owner = { has_trait = intellect_good_1 } + add = 10 + } + + modifier = { + desc = "scheme_intellect_good_2" + scope:owner = { has_trait = intellect_good_2 } + add = 20 + } + + modifier = { + desc = "scheme_intellect_good_3" + scope:owner = { has_trait = intellect_good_3 } + add = 30 + } + + modifier = { + scope:target = { has_trait = stubborn } + desc = "SCHEME_TRAIT_STUBBORN" + add = 10 + } + + modifier = { + scope:target = { has_trait = ambitious } + desc = "SCHEME_TRAIT_AMBITIOUS" + add = 5 + } + + #Paranoid value is added automatically because of trait parameter enemy_personal_scheme_success_chance_add + + # Lifestyles + + # Dynasty Kin Personal Scheme Success Chance on Dynasty Perk + modifier = { + add = kin_legacy_4_success_chance + desc = KIN_LEGACY_DESC + exists = scope:owner.dynasty + scope:owner.dynasty = { + has_dynasty_perk = kin_legacy_4 + } + scope:target.dynasty = scope:owner.dynasty + } + + # House Personal Scheme Success Chance on Cultural Parameter + modifier = { + add = cultural_house_personal_scheme_success_chance + desc = KIN_PARAMETER_DESC + exists = scope:owner.house + exists = scope:target.house + scope:owner.culture = { + has_cultural_parameter = cultural_house_personal_scheme_success_chance + } + scope:target.house = scope:owner.house + } + + # Pedagogy Perk + modifier = { + add = 25 + desc = LEARN_LANGUAGE_PEDAGOGY_PERK_DESC + scope:owner = { + has_perk = pedagogy_perk + } + } + + # Thicker Than Water Perk + modifier = { + add = thicker_than_water_bonus + desc = BEFRIEND_THICKER_THAN_WATER_PERK_DESC + scope:owner = { + has_perk = thicker_than_water_perk + } + scope:target = { + is_close_or_extended_family_of = scope:owner + } + } + + # Modifiers + # house_head_request_interaction + modifier = { + add = personal_scheme_variable_list_value + scope:owner = { + has_variable_list = supporting_personal_schemes + } + desc = HOUSE_HEAD_SCHEME_SUPPORT_DESC + } + modifier = { + add = -10 + scope:owner = { has_character_modifier = personal_schemes_distracted_modifier } + desc = personal_schemes_distracted_modifier + } + # Estate + modifier = { + scope:owner.domicile ?= { + has_domicile_parameter = increased_success_personal_schemes_1 + } + add = estate_increased_personal_scheme_success_1_value + } + modifier = { + scope:owner.domicile ?= { + has_domicile_parameter = increased_success_personal_schemes_2 + } + add = estate_increased_personal_scheme_success_2_value + } + modifier = { + scope:owner.domicile ?= { + has_domicile_parameter = increased_success_personal_schemes_3 + } + add = estate_increased_personal_scheme_success_3_value + } + + # Personal Scheme Shared + personal_scheme_base_success_chance_modifiers = yes + } + + # On Actions + on_phase_completed = { + # Grab our scopes. + save_scope_as = scheme + scheme_target_character = { save_scope_as = target } + scheme_owner = { save_scope_as = owner } + scope:scheme = { + random = { + chance = scope:scheme.scheme_success_chance + + save_scope_value_as = { + name = scheme_successful + value = yes + } + } + scope:owner = { + if = { + limit = { + exists = scope:scheme_successful + } + trigger_event = { + on_action = learn_language_success + } + } + else = { + trigger_event = { + on_action = learn_language_failure + } + } + } + } + } + on_monthly = { + save_scope_as = scheme + scheme_target_character = { save_scope_as = target } + scheme_owner = { + save_scope_as = owner + trigger_event = { on_action = learn_language_ongoing } + } + } + on_invalidated = { + scheme_target_character = { + save_scope_as = target + } + scheme_owner = { + save_scope_as = owner + } + if = { + limit = { + scope:target = { is_alive = no } + } + scope:owner = { + send_interface_toast = { + title = learn_language_invalidated + custom_tooltip = learn_language_invalidated_dead_desc + left_icon = scope:target + } + } + } + else_if = { + limit = { + scope:owner = { + #OR = { + culture = { # You can't learn your own native language + has_same_culture_language = scope:target.culture + } + #knows_language_of_culture = scope:target.culture + #} + } + } + scope:owner = { + send_interface_toast = { + title = learn_language_invalidated + custom_tooltip = learn_language_invalidated_cannot_learn_language_desc + left_icon = scope:target + } + } + } + + if = { + limit = { + scope:target = { + NOT = { in_diplomatic_range = scope:owner } + } + } + scope:owner = { + send_interface_toast = { + title = learn_language_invalidated_title + left_icon = scope:target + custom_description_no_bullet = { + object = scope:target + text = scheme_target_not_in_diplomatic_range + } + } + } + } + + scope:owner = { + if = { + limit = { + is_alive = yes + scope:target = { + OR = { + is_alive = no + NOT = { in_diplomatic_range = scope:owner } + } + } + NOR = { + culture = { # You can't learn your own native language + has_same_culture_language = scope:target.culture + } + knows_language_of_culture = scope:target.culture + } + } + set_variable = { + name = language_progress + value = prev.scheme_progress + } + trigger_event = learn_language_outcome.3000 + } + } + } +} diff --git a/localization/english/replace/culture/cultures_l_english.yml b/localization/english/replace/culture/cultures_l_english.yml index e7234081..8c1ea8ff 100644 --- a/localization/english/replace/culture/cultures_l_english.yml +++ b/localization/english/replace/culture/cultures_l_english.yml @@ -93,9 +93,9 @@ #Baltic group baltic_group:0 "Baltic" baltic_group_collective_noun:1 "Baltics" - latgalian:0 "Latgalian" - latgalian_prefix:0 "Latgalo" - latgalian_collective_noun:1 "Latgalians" + latgalian:0 "Latvian" + latgalian_prefix:0 "Latviano" + latgalian_collective_noun:1 "latvians" lithuanian:0 "Lithuanian" lithuanian_prefix:0 "Lithuano" lithuanian_collective_noun:1 "Lithuanians" diff --git a/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml b/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml index f924b5dc..7329346a 100644 --- a/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml +++ b/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml @@ -121,6 +121,8 @@ NEOW_language_kashubian_name:0 "Kashubian" NEOW_language_silesian_name:0 "Silesian" NEOW_language_slovak_name:0 "Slovak" + NEOW_language_latvian_name:0 "Latvian" + NEOW_language_lithuanian_name:0 "Lithuanian" ######################################### # Grouping Stuff @@ -202,4 +204,7 @@ culture_parameter_latin_sprachbund_language_param: "This [language|E] is within the #V Latin Sprachbund#!" culture_parameter_greek_sprachbund_language_param: "This [language|E] is within the #V Greek Sprachbund#!" - culture_parameter_fusha_sprachbund_language_param: "This [language|E] is within the #V Fusha Sprachbund#!" \ No newline at end of file + culture_parameter_fusha_sprachbund_language_param: "This [language|E] is within the #V Fusha Sprachbund#!" + + SAME_LANGUAGE_ORIGIN: "Share a Language Origin" + SAME_SPRACHBUND: "Same Sprachbund" \ No newline at end of file From a219d9d6889aa85fbb075eaca1be89231a3d16d4 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Sun, 29 Mar 2026 20:27:06 +0100 Subject: [PATCH 3/3] Update zz_NEOW_culture_titles_l_english.yml --- .../zz_NEOW_culture_titles_l_english.yml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/localization/english/replace/culture/zz_NEOW_culture_titles_l_english.yml b/localization/english/replace/culture/zz_NEOW_culture_titles_l_english.yml index a44b0580..540c5254 100644 --- a/localization/english/replace/culture/zz_NEOW_culture_titles_l_english.yml +++ b/localization/english/replace/culture/zz_NEOW_culture_titles_l_english.yml @@ -43,8 +43,8 @@ emperor_independent_female_french_group: "Impératrice" # sardinian titles names county_sardinian: "Judicadu" - county_male_sardinian: "Judike" - county_female_sardinian: "Judesa" + count_male_sardinian: "Judike" + count_female_sardinian: "Judesa" duchy_sardinian: "Archontes" duke_male_sardinian: "Archonteke" duke_female_sardinian: "Archontesa" @@ -56,8 +56,8 @@ king_administrative_female_sardinian: "Archonesa" county_feudal_sardinian: "Judicadu" - county_feudal_male_sardinian: "Judike" - county_feudal_female_sardinian: "Judesa" + count_feudal_male_sardinian: "Judike" + count_feudal_female_sardinian: "Judesa" duchy_feudal_sardinian: "Archontes" duke_feudal_male_sardinian: "Archonteke" duke_feudal_female_sardinian: "Archontesa" @@ -66,8 +66,8 @@ king_feudal_female_sardinian: "Most Superb Archonesa" county_administrative_sardinian: "Judicadu" - county_administrative_male_sardinian: "Judike" - county_administrative_female_sardinian: "Judesa" + count_administrative_male_sardinian: "Judike" + count_administrative_female_sardinian: "Judesa" duchy_administrative_sardinian: "Archontes" duke_administrative_male_sardinian: "Archonteke" duke_administrative_female_sardinian: "Archontesa" @@ -76,8 +76,8 @@ king_administrative_female_sardinian: "Superbo Archonesa" county_administrative_independent_sardinian: "Judicadu" - county_administrative_independent_male_sardinian: "Judike" - county_administrative_independent_female_sardinian: "Judesa" + count_administrative_independent_male_sardinian: "Judike" + count_administrative_independent_female_sardinian: "Judesa" duchy_administrative_independent_sardinian: "Archontes" duke_administrative_independent_male_sardinian: "Archonteke" duke_administrative_independent_female_sardinian: "Archontesa" @@ -89,8 +89,8 @@ county_administrative_north_italian: "Capitanato" - county_administrative_male_north_italian: "Capitano" - county_administrative_female_north_italian: "Capitana" + count_administrative_male_north_italian: "Capitano" + count_administrative_female_north_italian: "Capitana" duchy_administrative_north_italian: "Principato" duke_administrative_male_north_italian: "Doge" duke_administrative_female_north_italian: "Dogaressa" @@ -99,8 +99,8 @@ king_administrative_female_north_italian: "Grande Dogaressa" county_administrative_independent_north_italian: "Capitanato" - county_administrative_independent_male_north_italian: "Capitano" - county_administrative_independent_female_north_italian: "Capitana" + count_administrative_independent_male_north_italian: "Capitano" + count_administrative_independent_female_north_italian: "Capitana" duchy_administrative_independent_north_italian: "Principato" duke_administrative_independent_male_north_italian: "Doge" duke_administrative_independent_female_north_italian: "Dogaressa"