From 7d4dc30fb0e2819f5c7214694ef4875bcd16057a Mon Sep 17 00:00:00 2001 From: falsanix Date: Wed, 8 Apr 2026 12:50:35 +0300 Subject: [PATCH] formables updated + more stuff for baltics Formables: Hegemony of Europa made in place of e_european_union, dynamically generated hegemony title Kingdom of Rhineland duchies integration and events fixed Cosmetic changes to titles tags and capitals Baltics: Start content for decision to elevate the duchy of Gdansk Konigsberg Cathedral Buildings and Holdings --- common/buildings/NEOW_special_buildings.txt | 154 +++++++++ .../coat_of_arms/NEOW_landed_titles.txt | 2 +- common/decisions/major_decisions_NEOW.txt | 302 +++++++++++------- common/landed_titles/NEOW_special_titles.txt | 4 +- common/landed_titles/germany.txt | 2 +- common/landed_titles/zapadoslavia.txt | 6 +- history/provinces/e_zapadoslavia.txt | 16 + .../english/replace/decisions_l_english.yml | 2 +- .../english/replace/titles_l_english.yml | 8 +- 9 files changed, 375 insertions(+), 121 deletions(-) diff --git a/common/buildings/NEOW_special_buildings.txt b/common/buildings/NEOW_special_buildings.txt index 57b554aa..2a905454 100644 --- a/common/buildings/NEOW_special_buildings.txt +++ b/common/buildings/NEOW_special_buildings.txt @@ -9355,6 +9355,160 @@ spilberk_castle_01 = { flag = travel_point_of_interest_martial } +########## +# Königsberg Cathedral (rebuilt in 1992-1998) +########## + +konigsberg_cathedral_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_cologne_cathedral.dds" + asset = { + type = pdxmesh + name = "building_special_wawel_cathedral_01_mesh" + requires_dlc_flag = medieval_monuments + } + can_construct_potential = { + } + + can_construct = { + OR = { + scope:holder = { + OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } + } + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + } + scope:holder = { + culture = { + has_innovation = innovation_city_planning + } + } + } + + is_enabled = { + always = yes + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_piety_gain_per_knight_add = 0.05 + monthly_dynasty_prestige_mult = 0.05 + clergy_opinion = 5 + learning = 2 + } + province_modifier = { + monthly_income = 1 + } + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.15 + development_growth = 0.1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + next_building = konigsberg_cathedral_02 + + ai_value = { + base = 100 + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious + flag = holy_building +} + +konigsberg_cathedral_02 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_cologne_cathedral.dds" + + asset = { + type = pdxmesh + name = "building_special_wawel_cathedral_01_mesh" + requires_dlc_flag = medieval_monuments + } + + can_construct_potential = { + } + + can_construct = { + OR = { + scope:holder = { + OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } + } + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + } + scope:holder = { + culture = { + has_innovation = innovation_manorialism + } + } + } + + is_enabled = { + always = yes + } + + cost_gold = 1000 + cost_piety = 1000 + + character_modifier = { + monthly_dynasty_prestige_mult = 0.1 + cultural_head_fascination_mult = 0.05 + monthly_lifestyle_xp_gain_mult = 0.1 + faith_creation_piety_cost_mult = -0.2 + faith_conversion_piety_cost_mult = -0.2 + } + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.25 + development_growth = 0.15 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 8 + ai_pious_building_preference_modifier = yes + } + + type = special + + flag = travel_point_of_interest_religious + flag = travel_point_of_interest_learning + flag = holy_building + flag = special_university +} + ######################################## # YUGOSLAVIJA ######################################## diff --git a/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt b/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt index 845146a0..12d0b83d 100644 --- a/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt +++ b/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt @@ -83,7 +83,7 @@ d_cumbria={ } -e_european_union = { +h_europa = { pattern="pattern_horizontal_split_01.dds" color1=blue color2=blue diff --git a/common/decisions/major_decisions_NEOW.txt b/common/decisions/major_decisions_NEOW.txt index 69008de5..d372ef9c 100644 --- a/common/decisions/major_decisions_NEOW.txt +++ b/common/decisions/major_decisions_NEOW.txt @@ -1,10 +1,14 @@ -restore_european_union_decision = { +#european_union +#rhineland + + +restore_european_union_decision = { picture = { reference = "gfx/interface/illustrations/decisions/found_european_union.dds" } desc = restore_european_union_decision_desc selection_tooltip = restore_european_union_decision_tooltip - decision_group_type = major + decision_group_type = roman ai_check_interval = 120 @@ -15,9 +19,25 @@ culture = { has_cultural_pillar = heritage_brythonic } culture = { has_cultural_pillar = heritage_goidelic } culture = { has_cultural_pillar = heritage_anglo_frisian } + culture = { has_cultural_pillar = heritage_hispanic } + culture = { has_cultural_pillar = heritage_scottish } + culture = { has_cultural_pillar = heritage_italian } culture = { has_cultural_pillar = heritage_french } culture = { has_cultural_pillar = heritage_mosellic } - culture = { has_cultural_pillar = heritage_west_germanic } + culture = { has_cultural_pillar = heritage_west_germanic } + culture = { has_cultural_pillar = heritage_central_germanic } + culture = { has_cultural_pillar = heritage_north_germanic } + culture = { has_cultural_pillar = heritage_south_slavic } + culture = { has_cultural_pillar = heritage_west_slavic } + culture = { has_cultural_pillar = heritage_east_slavic } + culture = { has_cultural_pillar = heritage_romanian } + culture = { has_cultural_pillar = heritage_sardic } + culture = { has_cultural_pillar = heritage_greek } + culture = { has_cultural_pillar = heritage_rhaeto_helvetic } + culture = { has_cultural_pillar = heritage_cisalpine } + culture = { has_cultural_pillar = heritage_anglo_saxon } + culture = { has_cultural_pillar = heritage_hungarian } + culture = { has_cultural_pillar = heritage_balto_finnic } } NOT = { #Can only do it once. is_target_in_global_variable_list = { @@ -31,6 +51,9 @@ government_has_flag = government_is_clan has_government = administrative_government } + any_held_title = { + region = world_europe + } } is_valid = { @@ -62,6 +85,7 @@ hidden_effect = { + every_held_title = { #Should shift all dejure of all Empires owned at the time. limit = { tier = tier_empire @@ -70,19 +94,50 @@ limit = { tier = tier_kingdom } - set_de_jure_liege_title = title:e_european_union - + } + set_de_jure_liege_title = title:h_europa } every_held_title = { #Completely Controlled Kingdoms as well. limit = { tier = tier_kingdom root = { completely_controls = prev } } - set_de_jure_liege_title = title:e_european_union + set_de_jure_liege_title = title:h_europa + } + every_sub_realm_county = { + if = { + limit = { + exists = empire + } + empire = { + if = { + limit = { + OR = { + title:e_alps ?= this + title:e_europa ?= this + title:e_germany ?= this + title:e_france ?= this + title:e_britannia ?= this + title:e_iberia ?= this + title:e_italy ?= this + title:e_greece ?= this + title:e_baltic ?= this + title:e_nistrenia ?= this + title:e_zapadoslavia ?= this + title:e_yugoslavia ?= this + title:e_scandinavia ?= this + title:e_finland ?= this + } + } + set_de_jure_liege_title = title:h_europa + } + + } + } } } - get_title = title:e_european_union + get_title = title:h_europa create_title_and_vassal_change = { type = created save_scope_as = change @@ -97,32 +152,32 @@ } } hidden_effect = { - primary_title = { transfer_title_maa_ownership = title:e_european_union } + primary_title = { transfer_title_maa_ownership = title:h_europa } } } - hidden_effect = { set_primary_title_to = title:e_european_union } + hidden_effect = { set_primary_title_to = title:h_europa } every_held_title = { #Should destroy all other Empires owned at the time. limit = { tier = tier_empire - NOT = { this = title:e_european_union } + NOT = { this = title:h_europa } } root = { destroy_title = prev } } - if = { #Automatically move capital to Constantinople, unless it's been set to Rome. + if = { #Automatically move capital to Court of Europe. limit = { - NOT = { capital_county = { this = title:c_brabant } } + NOT = { capital_county = { this = title:c_holland } } } hidden_effect = { if = { #Usurp if not held personally. limit = { - NOT = { this = title:c_brabant.holder } + NOT = { this = title:c_holland.holder } } create_title_and_vassal_change = { type = returned save_scope_as = change add_claim_on_loss = no } - title:c_brabant = { + title:c_holland = { change_title_holder = { holder = root change = scope:change @@ -131,15 +186,9 @@ resolve_title_and_vassal_change = scope:change } } - root = { set_realm_capital = title:c_brabant } + root = { set_realm_capital = title:c_holland } } - #hidden_effect = { - # add_character_flag = flag_restorer_of_rome #used for Eulogy. - # title:e_roman_empire = { - # set_variable = rome_was_restored_by_byzantium - # } - #} - #trigger_event = roman_restoration.0001 ###to do later + #trigger_event = european_union_restoration.0001 ###to do later hidden_effect = { add_to_global_variable_list = { name = unavailable_unique_decisions @@ -162,6 +211,8 @@ } + + form_the_kingdom_of_rhineland_decision = { picture = { reference = "gfx/interface/illustrations/decisions/decision_found_kingdom.dds" @@ -171,7 +222,7 @@ form_the_kingdom_of_rhineland_decision = { ai_check_interval_by_tier = { barony = 0 county = 60 - duchy = 60 + duchy = 120 kingdom = 0 empire = 0 hegemony = 0 @@ -181,6 +232,7 @@ form_the_kingdom_of_rhineland_decision = { selection_tooltip = form_the_kingdom_of_rhineland_decision_tooltip is_shown = { + NOT = { exists = title:k_rhineland.holder } is_playable_character = yes highest_held_title_tier <= tier_duchy NOT = { @@ -199,104 +251,121 @@ form_the_kingdom_of_rhineland_decision = { } is_valid = { - top_liege = this - has_title = title:d_lower_lorraine - has_title = title:d_cologne - has_title = title:d_trier - has_title = title:c_mainz + OR = { + top_liege = this + AND = { + liege = top_liege + top_liege = { highest_held_title_tier >= tier_empire } + has_strong_usable_hook = top_liege + } + } + OR = { + has_title = title:d_lower_lorraine + has_title = title:d_cologne + has_title = title:d_trier + } completely_controls = title:d_lower_lorraine completely_controls = title:d_cologne - completely_controls = title:d_trier - top_liege = this + completely_controls = title:d_trier + prestige_level >= high_prestige_level } is_valid_showing_failures_only = { is_landed = yes + is_capable_adult = yes + is_imprisoned = no } effect = { gain_heroic_legend_seed_tooltip_effect = yes - save_scope_as = founder - culture = { save_scope_as = founder_culture } - title:k_rhineland = { save_scope_as = k_rhineland } - title:d_trier = { save_scope_as = d_trier } - title:d_cologne = { save_scope_as = d_cologne } - title:d_lower_lorraine = { save_scope_as = d_lower_lorraine } - title:d_alsace = { save_scope_as = d_alsace } - title:c_bitburg = { save_scope_as = c_bitburg } - title:c_nassau = { save_scope_as = c_nassau } - create_title_and_vassal_change = { - type = created - save_scope_as = change - } - title:k_rhineland = { - change_title_holder = { - holder = scope:founder - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - add_prestige = major_prestige_gain - custom_tooltip = form_the_kingdom_of_rhineland_decision_decision.tt.form_rhineland - trigger_event = iberia_north_africa.0131 - # De jure shifts. - ## Take care of the preferred empire. - if = { - limit = { NOT = { title:k_rhineland.empire = title:d_lower_lorraine.empire } } - title:k_rhineland = { set_de_jure_liege_title = title:d_lower_lorraine.empire } - } + ## The heartlands drift over. - title:d_lower_lorraine = { set_de_jure_liege_title = title:k_rhineland } - ## Various neighbouring duchies can be preemptively integrated. - if = { - limit = { completely_controls = title:d_alsace } - title:d_alsace = { set_de_jure_liege_title = title:k_rhineland } + title:d_lower_lorraine = { set_de_jure_liege_title = title:k_rhineland } + title:d_cologne = { set_de_jure_liege_title = title:k_rhineland } + title:d_trier = { set_de_jure_liege_title = title:k_rhineland } + show_as_tooltip = { + form_rhineland_scripted_effect = yes } - else = { custom_tooltip = form_the_kingdom_of_rhineland_decision.tt.drift.d_alsace } - if = { - limit = { completely_controls = title:c_bitburg } - title:c_bitburg = { set_de_jure_liege_title = title:d_trier } - } - else = { custom_tooltip = form_the_kingdom_of_rhineland_decision.tt.drift.c_bitburg } - if = { - limit = { completely_controls = title:d_frankfurt } - title:d_frankfurt = { set_de_jure_liege_title = title:k_rhineland } - } - else = { custom_tooltip = form_the_kingdom_of_rhineland_decision.tt.drift.d_frankfurt } - if = { - limit = { completely_controls = title:d_baden } - title:d_frankfurt = { set_de_jure_liege_title = title:k_rhineland } - } - else = { custom_tooltip = form_the_kingdom_of_rhineland_decision.tt.drift.d_baden } - if = { - limit = { completely_controls = title:d_freiburg } - title:d_frankfurt = { set_de_jure_liege_title = title:k_rhineland } - } - else = { custom_tooltip = form_the_kingdom_of_rhineland_decision.tt.drift.d_freiburg } - # Once per game. - add_to_global_variable_list = { - name = unavailable_unique_decisions - target = flag:flag_formed_kingdom_of_rhineland - } - # Note this for books and such. - set_global_variable = { - name = flag_formed_kingdom_of_rhineland - value = scope:founder - } - title:e_europa = { - every_in_de_jure_hierarchy = { - limit = { - tier = tier_kingdom - any_in_de_jure_hierarchy = { - tier = tier_county - title_province = { geographical_region = custom_rhineland} - } - } - set_de_jure_liege_title = title:e_germania + + hidden_effect = { + save_scope_as = founder + culture = { save_scope_as = founder_culture } + title:k_rhineland = { save_scope_as = k_rhineland } + title:d_trier = { save_scope_as = d_trier } + title:d_cologne = { save_scope_as = d_cologne } + title:d_lower_lorraine = { save_scope_as = d_lower_lorraine } + title:d_alsace = { save_scope_as = d_alsace } + title:d_palatinate = { save_scope_as = d_palatinate } + title:d_frankfurt = { save_scope_as = d_frankfurt } + title:c_bitburg = { save_scope_as = c_bitburg } + title:c_nassau = { save_scope_as = c_nassau } + create_title_and_vassal_change = { + type = created + save_scope_as = change } - } - } + title:k_rhineland = { + change_title_holder = { + holder = scope:founder + change = scope:change + } + } + resolve_title_and_vassal_change = scope:change + # De jure shifts. + ## Take care of the preferred empire. + if = { + limit = { NOT = { title:k_rhineland.empire = title:d_lower_lorraine.empire } } + title:k_rhineland = { set_de_jure_liege_title = title:d_lower_lorraine.empire } + } + + ## Various neighbouring duchies can be preemptively integrated. + if = { + limit = { completely_controls = title:d_alsace } + title:d_alsace = { set_de_jure_liege_title = title:k_rhineland } + } + if = { + limit = { completely_controls = title:c_bitburg } + title:c_bitburg = { set_de_jure_liege_title = title:d_trier } + } + if = { + limit = { completely_controls = title:d_frankfurt } + title:d_frankfurt = { set_de_jure_liege_title = title:k_rhineland } + } + if = { + limit = { completely_controls = title:d_baden } + title:d_baden = { set_de_jure_liege_title = title:k_rhineland } + } + if = { + limit = { completely_controls = title:d_freiburg } + title:d_freiburg = { set_de_jure_liege_title = title:k_rhineland } + } + if = { + limit = { completely_controls = title:d_palatinate } + title:d_palatinate = { set_de_jure_liege_title = title:k_rhineland } + } + add_to_global_variable_list = { + name = unavailable_unique_decisions + target = flag:flag_formed_kingdom_of_rhineland + } + set_global_variable = { + name = flag_formed_kingdom_of_rhineland + value = scope:founder + } + # title:e_europa = { + # every_in_de_jure_hierarchy = { + # + # limit = { + # tier = tier_kingdom + # any_in_de_jure_hierarchy = { + # tier = tier_county + # title_province = { geographical_region = custom_rhineland} + # } + # set_de_jure_liege_title = title:e_germania + # } + # } + # } + } + } cost = { gold = { # Since we want this to happen, it free for the AI... @@ -307,7 +376,7 @@ form_the_kingdom_of_rhineland_decision = { has_treasury = no is_ai = no } - add = 200 + add = 250 } } treasury = { @@ -317,16 +386,23 @@ form_the_kingdom_of_rhineland_decision = { has_treasury = yes is_ai = no } - add = 200 + add = 250 + } + } + prestige = { + value = 0 + if = { + limit = { + is_ai = no + } + add = 1000 } } } ai_potential = { - any_held_title = { - this = title:d_lower_lorraine - } + always = yes } ai_will_do = { base = 100 } -} \ No newline at end of file +} diff --git a/common/landed_titles/NEOW_special_titles.txt b/common/landed_titles/NEOW_special_titles.txt index a0064b71..4119fcb2 100644 --- a/common/landed_titles/NEOW_special_titles.txt +++ b/common/landed_titles/NEOW_special_titles.txt @@ -1,8 +1,8 @@ # special titles -e_european_union = { +h_europa = { color = { 0 51 153 } - capital = c_brabant # Brussels + capital = c_holland # Brussels definite_form = yes can_be_named_after_dynasty = no diff --git a/common/landed_titles/germany.txt b/common/landed_titles/germany.txt index 234f10b6..e1fcb603 100644 --- a/common/landed_titles/germany.txt +++ b/common/landed_titles/germany.txt @@ -2968,7 +2968,7 @@ e_germany = { } k_rhineland = { color = { 17 178 17 } - capital = c_adenau + capital = c_cologne } } #k_sorbia = { diff --git a/common/landed_titles/zapadoslavia.txt b/common/landed_titles/zapadoslavia.txt index 660feec3..384ca67c 100644 --- a/common/landed_titles/zapadoslavia.txt +++ b/common/landed_titles/zapadoslavia.txt @@ -1156,7 +1156,7 @@ e_zapadoslavia = { } } d_prussia = { # Kaliningrad - color = { 200 100 100 } + color = { 245 165 158 } capital = c_konigsberg # Kaliningrad @@ -2647,4 +2647,8 @@ e_zapadoslavia = { } } } + d_danzig = { + color = { 144 12 12 } + capital = c_danzig + } } \ No newline at end of file diff --git a/history/provinces/e_zapadoslavia.txt b/history/provinces/e_zapadoslavia.txt index 03b63531..a8a23570 100644 --- a/history/provinces/e_zapadoslavia.txt +++ b/history/provinces/e_zapadoslavia.txt @@ -23,6 +23,9 @@ culture = kashubian religion = mariavite holding = castle_holding + buildings = { + common_tradeport_01 + } } 2832 = { # Gdynia holding = city_holding @@ -600,12 +603,22 @@ culture = NEOW_pribaltic religion = mariavite holding = castle_holding + buildings = { + hill_forts_02 + } + special_building = konigsberg_cathedral_01 } 3218 = { # Baltiysk holding = castle_holding + buildings = { + common_tradeport_01 + } } 13616 = { # Zelenogradsk holding = city_holding + buildings = { + hunting_grounds_01 + } } 122 = { # Polessk holding = none @@ -631,6 +644,9 @@ culture = NEOW_pribaltic religion = mariavite holding = city_holding + buildings = { + hospicies_01 + } } 3219 = { # Kętrzyn holding = city_holding diff --git a/localization/english/replace/decisions_l_english.yml b/localization/english/replace/decisions_l_english.yml index ba233940..af5b7506 100644 --- a/localization/english/replace/decisions_l_english.yml +++ b/localization/english/replace/decisions_l_english.yml @@ -380,7 +380,7 @@ restore_roman_empire_decision_effect_tooltip:0 "The Roman Empire will be restored and acquire the [de_jure|E] of all currently held Empires." restore_european_union_decision:0 "Restore Europa" - restore_european_union_decision_confirm:0 "I will restore Europa" + restore_european_union_decision_confirm:0 "I will restore $h_europa$" restore_european_union_decision_tooltip:0 "Europa will be restored" restore_european_union_decision_desc:0 "Before the Deluge, legends say that all of Europe was united under one flag. By retaking key territories of the old empire, we would win recognition in the eyes of the world as the true and rightful sucessor of the European Empire." restore_european_union_decision_effect_tooltip:0 "The Empire of Europa will be restored and acquire the [de_jure|E] of all currently held Empires." diff --git a/localization/english/replace/titles_l_english.yml b/localization/english/replace/titles_l_english.yml index 8e5ae4b9..07055615 100644 --- a/localization/english/replace/titles_l_english.yml +++ b/localization/english/replace/titles_l_english.yml @@ -1573,8 +1573,8 @@ d_trier_adj:0 "Trierean" d_la_mancha:0 "La Mancha" d_la_mancha_adj:0 "La Manchan" - e_european_union:0 "Europa" - e_european_union_adj:0 "European" + h_europa:0 "Europa" + h_europa_adj:0 "European" c_ticino:0 "Ticino" c_ticino_adj:0 "Ticinon" b_thusis:0 "Sion" @@ -25625,6 +25625,10 @@ b_tilsit:0 "Tilsit" b_talpaki:0 "Talpaki" b_ragnit:0 "Ragnit" + # Baltic states + ## Estonia + + ### Czechia c_ceske_budejovice:0 "České Budějovice"